Chester.
Умник
Здравствуйте.
У меня к вам несколько вопросов, изложу все вопросы ниже, заранее благодарю за внимание!
1) При переходе на след.уровень дается сразу 2 exp, вопрос, почему?
2) Как поставить проверку на 5 скилл гандиллера? Вроде-бы все стоит, а на 5 скилле можно купить сколько хочешь пакетов.
Stock PayDay:
Команда /materials get:
У меня к вам несколько вопросов, изложу все вопросы ниже, заранее благодарю за внимание!
1) При переходе на след.уровень дается сразу 2 exp, вопрос, почему?
2) Как поставить проверку на 5 скилл гандиллера? Вроде-бы все стоит, а на 5 скилле можно купить сколько хочешь пакетов.
Stock PayDay:
Код:
stock PayDay()
{
new string[128];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pLevel] >= 0)
{
if(PlayerInfo[i][pPayDay] >= 1)
{
new exp = PlayerInfo[i][pExp];
new infostring[300];
new nxtlevel = PlayerInfo[i][pLevel]+1;
new expamount = nxtlevel*levelexp;
if(exp >= expamount)
{
SendClientMessage(i,0x00FF00AA, "Поздравляем! Вы перешли на следующий уровень");
PlayerInfo[i][pLevel] += 1;
PlayerInfo[i][pCash] += 5000;
PlayerInfo[i][pExp] = 1;
SetPlayerScore(i, PlayerInfo[i][pLevel]);
PlayerInfo[i][gPupgrade] = PlayerInfo[i][gPupgrade]+2;
format(infostring, 256, "{00C0FF}>{ffffff} Вы получили {00C0FF}%d{ffffff} очков обновления.",PlayerInfo[i][gPupgrade]);
SendClientMessage(i, COLOR_WHITE, infostring);
}
new checks = PlayerInfo[i][pPayCheck] / 3;
GivePlMoney(i, checks);
new interest = (PlayerInfo[i][pAccount]/1000)*(5);
PlayerPlayMusic(i);
if(PlayerInfo[i][pExp] >= (PlayerInfo[i][pLevel]+1)*levelexp)
PlayerInfo[i][pLevel]++;
PlayerInfo[i][pAccount] = PlayerInfo[i][pAccount]+interest;
SendClientMessage(i, COLOR_WHITE, "{33aa33}•••••• З А Р П Л А Т А ••••••");
SendFormattedMessage(i, COLOR_BE, "• - Зарплата: $%d.", checks);
SendFormattedMessage(i, COLOR_BE, "• - Баланс: $%d, Полученный интерес: $%d, Новый баланс: $%d, Банковский процент: 0.5.", PlayerInfo[i][pAccount],interest,PlayerInfo[i][pAccount]);
SendClientMessage(i, COLOR_WHITE, "{33aa33}• • • • • • • • • • • • • • • • • • • • • •");
SendFormattedMessage(i, COLOR_BE, "• - Налог: $0.");
PlayerInfo[i][pExp]++;
format(string,sizeof(string),"~w~LvL: ~y~%d ~w~Exp: ~y~%d~w~/~y~%d",PlayerInfo[i][pLevel],PlayerInfo[i][pExp],(PlayerInfo[i][pLevel]+1)*4);
TextDrawSetString(lvlexp[i], string);
if(PlayerInfo[i][pPayCheck] > 0)
{
format(string, sizeof(string), "~w~ЗАРПЛАТА ~g~%d",checks);
GameTextForPlayer(i,RusToGame(string), 5000, 1);
}
PlayerInfo[i][pPayDay] = 0;
PlayerInfo[i][pPayCheck] = 0;
}
else
{
format(string,sizeof(string),"Вы не получили зарплату, т.к. отыграли на сервере %d из 30 минут.",PlayerInfo[i][pPayDay]);
SendClientMessage(i, COLOR_LIGHTRED, string);
}
SendClientMessage(i, COLOR_WHITE, "E-xclusive: Через 2 минуты начинаем лотерейную партию, набери '/lotto [номер]'.");
}
}
}
return 1;
}
HTML:
else if(strcmp(string,"/materials",true)==0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "E-xclusive: Для начала авторизируйтесь!");
if (PlayerInfo[playerid][pJob] != 9) return SendClientMessage(playerid,COLOR_GRAD2, "Ты не Диллер Оружия.");
string = strtok(cmdtext, idx);
if(!strlen(string))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используй: /materials [Название]");
SendClientMessage(playerid, COLOR_GREEN2, "Доступные названия: Get, Deliver.");
return 1;
}
if(strcmp(string,"get",true) == 0)
{
if(!IsPlayerInRangeOfPoint(playerid, 3.0,1257.1653,241.9220,19.7890)) return SendClientMessage(playerid, COLOR_GREY, "Ты не у склада переработки пакетов!");
new tel;
string = strtok(cmdtext, idx);
if(MatsHolding[playerid] >= 5) return SendClientMessage(playerid,COLOR_GRAD1,"Нельзя больше 5 пакетов!");
if(!strlen(string))return SendClientMessage(playerid, COLOR_GRAD2, "Используй: /materials get [количество]");
new ammount = strval(string);
switch(PlayerInfo[playerid][pGunSkill])
{
case 0..50:
{ tel = 100; if(ammount < 1 || ammount > 10) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ты можешь закупать от 1 до 10 пакетов за раз."); }
case 51..100:
{ tel = 100; if(ammount < 1 || ammount > 15) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ты можешь закупать от 1 до 15 пакетов за раз."); }
case 101..200:
{ tel = 100; if(ammount < 1 || ammount > 20) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ты можешь закупать от 1 до 20 пакетов за раз."); }
case 201..400:
{ tel = 100; if(ammount < 1 || ammount > 25) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ты можешь закупать от 1 до 25 пакетов за раз."); }
}
if(MatsHolding[playerid] >= 25) return SendClientMessage(playerid,COLOR_GRAD1,"Нельзя больше 25 пакетов!");
new price = ammount * tel;
if(GetServerMoney(playerid) >= price)
{
SendFormattedMessage(playerid, COLOR_LIGHTBLUE, "Ты купил(а) %d пакетов за $%d.", ammount, price);
GivePlMoney(playerid, - price);
MatsHolding[playerid] = ammount;
Materials[playerid] = 50;
}
}
