bigbox
Ученик
Представляю вашему вниманию, тайник в который игрок может класть деньги\материалы\наркотики
Код обязательно надо вписать в мод.
Начнём:
1) Ищем строчку enum pInfo и добавляем:
2) Ищем public OnPlayerConnect и добавляем:
3) Ищем public OnPlayerRegister и добавляем:
4) После public OnPlayerRegister есть public SavePlayer у меня он называеться так у некоторых может называться public OnPlayerUpdate_GF или как то по другому туда добавляем
5) Ищем public OnPlayerLogin и добавляем:
6) Ищем public OnPlayerCommandText и добавляем команды
7) Ну и для красоты ищем public OnGameModeInit и добавляем:
автор не я
Код обязательно надо вписать в мод.
Начнём:
1) Ищем строчку enum pInfo и добавляем:
PHP:
ptMoney,
ptDrugs,
ptMats,
PHP:
PlayerInfo[playerid][ptMoney] = 0;
PlayerInfo[playerid][ptDrugs] = 0;
PlayerInfo[playerid][ptMats] = 0;
PHP:
format(var, 32, "TanikMoney=%d\n",PlayerInfo[playerid][ptMoney]);fwrite(hFile, var);
format(var, 32, "TanikDrugs=%d\n",PlayerInfo[playerid][ptDrugs]);fwrite(hFile, var);
format(var, 32, "TanikMats=%d\n",PlayerInfo[playerid][ptMats]);fwrite(hFile, var);
PHP:
format(var, 32, "TanikMoney=%d\n",PlayerInfo[playerid][ptMoney]);fwrite(hFile, var);
format(var, 32, "TanikDrugs=%d\n",PlayerInfo[playerid][ptDrugs]);fwrite(hFile, var);
format(var, 32, "TanikMats=%d\n",PlayerInfo[playerid][ptMats]);fwrite(hFile, var);
PHP:
if( strcmp( key , "TanikMoney" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][ptMoney] = strval( val ); }
if( strcmp( key , "TanikDrugs" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][ptDrugs] = strval( val ); }
if( strcmp( key , "TanikMats" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][ptMats] = strval( val ); }
PHP:
if(strcmp(cmd, "/tinfo", true) == 0)// Команда показывает что лежит в тайнике
{
if(IsPlayerConnected(playerid))
{
if(PlayerToPoint(5.0,playerid,539.8622,-506.1435,25.5234))// кординаты заменяйте на свои
{
SendClientMessage(playerid,COLOR_YELLOW,"*** Тайник ***");
format(string,sizeof(string),"Деньги: %d$",PlayerInfo[playerid][ptMoney]);
SendClientMessage(playerid,COLOR_WHITE,string);
format(string,sizeof(string),"Наркотики: %d",PlayerInfo[playerid][ptDrugs]);
SendClientMessage(playerid,COLOR_WHITE,string);
format(string,sizeof(string),"Материалы: %d",PlayerInfo[playerid][ptMats]);
SendClientMessage(playerid,COLOR_WHITE,string);
}
}
return 1;
}
if(strcmp(cmd, "/tgive", true) == 0)// Командой класть вещи в тайник
{
if(IsPlayerConnected(playerid))
{
new x_job[256];
x_job = strtok(cmdtext, idx);
if(!strlen(x_job))
{
SendClientMessage(playerid, COLOR_WHITE, "|__________________ Положить в тайник __________________|");
SendClientMessage(playerid, COLOR_WHITE, "Используйте: /tgive [Название] [Кол-во]");
SendClientMessage(playerid, COLOR_GREY, "Доступно: money, drugs, mats");
SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /tgive [Название] [Кол-во]");
return 1;
}
new kolvo = strval(tmp);
if(PlayerToPoint(5.0,playerid,539.8622,-506.1435,25.5234))// кординаты заменяйте на свои
{
if(strcmp(x_job,"money",true) == 0)
{
if(kolvo > GetPlayerMoney(playerid))
{
SendClientMessage(playerid,COLOR_GREY,"У тебя нет такой суммы.");
return 1;
}
format(string,sizeof(string),"Вы положили %d$ в тайник",kolvo);
SendClientMessage(playerid,COLOR_WHITE,string);
PlayerInfo[playerid][ptMoney] += kolvo;
GivePlayerMoney(playerid,-kolvo);// ваша переменная на получение денег
}
else if(strcmp(x_job,"drugs",true) == 0)
{
if(kolvo > PlayerInfo[playerid][pDrugs])
{
SendClientMessage(playerid,COLOR_GREY,"У тебя нет столько наркотиков.");
return 1;
}
format(string,sizeof(string),"Вы положили %d грам наркоты в тайник",kolvo);
SendClientMessage(playerid,COLOR_WHITE,string);
PlayerInfo[playerid][ptDrugs] += kolvo;
PlayerInfo[playerid][pDrugs] -= kolvo;
}
else if(strcmp(x_job,"mats",true) == 0)
{
if(kolvo > PlayerInfo[playerid][pMats])
{
SendClientMessage(playerid,COLOR_GREY,"У тебя нет столько материалов.");
return 1;
}
format(string,sizeof(string),"Вы положили %d материалов в тайник",kolvo);
SendClientMessage(playerid,COLOR_WHITE,string);
PlayerInfo[playerid][ptMats] += kolvo;
PlayerInfo[playerid][pMats] -= kolvo;
}
}
}
return 1;
}
if(strcmp(cmd, "/ttake", true) == 0)// Командой брать вещи из тайника
{
if(IsPlayerConnected(playerid))
{
new x_job[256];
x_job = strtok(cmdtext, idx);
if(!strlen(x_job))
{
SendClientMessage(playerid, COLOR_WHITE, "|__________________ Взять из тайника __________________|");
SendClientMessage(playerid, COLOR_WHITE, "Используйте: /ttake [Название] [Кол-во]");
SendClientMessage(playerid, COLOR_GREY, "Доступно: money, drugs, mats");
SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /ttake [Название] [Кол-во]");
return 1;
}
new kolvo = strval(tmp);
if(PlayerToPoint(5.0,playerid,539.8622,-506.1435,25.5234))// кординаты заменяйте на свои
{
if(strcmp(x_job,"money",true) == 0)
{
if(kolvo > PlayerInfo[playerid][ptMoney])
{
SendClientMessage(playerid,COLOR_GREY,"У тебя в хранилище нет такой суммы.");
return 1;
}
format(string,sizeof(string),"Вы взяли %d$ из тайника",kolvo);
SendClientMessage(playerid,COLOR_WHITE,string);
PlayerInfo[playerid][ptMoney] -= kolvo;
GivePlayerMoney(playerid,kolvo);// ваша переменная на дачю денег
}
else if(strcmp(x_job,"drugs",true) == 0)
{
if(kolvo > PlayerInfo[playerid][ptDrugs])
{
SendClientMessage(playerid,COLOR_GREY,"У тебя в хранилище нет столько наркотиков.");
return 1;
}
format(string,sizeof(string),"Вы взяли %d грам наркоты из тайника",kolvo);
SendClientMessage(playerid,COLOR_WHITE,string);
PlayerInfo[playerid][ptDrugs] -= kolvo;
PlayerInfo[playerid][pDrugs] += kolvo;
}
else if(strcmp(x_job,"mats",true) == 0)
{
if(kolvo > PlayerInfo[playerid][ptMats])
{
SendClientMessage(playerid,COLOR_GREY,"У тебя в хранилище нет столько материалов.");
return 1;
}
format(string,sizeof(string),"Вы взяли %d материалов из тайника",kolvo);
SendClientMessage(playerid,COLOR_WHITE,string);
PlayerInfo[playerid][ptMats] -= kolvo;
PlayerInfo[playerid][pMats] += kolvo;
}
}
}
return 1;
}
PHP:
Create3DTextLabel("[Тайник]\nИспользуйте /tgive что бы положить в тайник\nИспользуйте /ttake что бы забрать из тайника\nИспользуйте /tinfo информация о тайнике",0x0000FFAA,539.8622,-506.1435,25.5234,40.0,0, 1);// Текст так же вставьте свои кординаты
AddStaticPickup(1239, 1, 539.8622,-506.1435,25.5234);// Пикап так же вставьте свои кординаты
Последнее редактирование:
