denisnv7
Ученик
дело в том что у меня донат с coin и вот за них можно купить респекты скины но дело в том что когда у когото 20 койнов а респект стоит 50 то всёравно можно купить иза чего койны уходят в минус и когда у тебя 20 а стоит 50 то он покупает и получается - 30 и после этого он может купить сколько зочит респектов а койны так и будут уходить в минус
ВОТ ВЕСЬ КОД
enum pInfo
pCoin,
public OnPlayerConnect(playerid)
PlayerInfo[playerid][pCoin] = 0;
public OnPlayerRegister(playerid, password[])
iniSetInt(File,"Coin",PlayerInfo[playerid][pCoin]);
public OnPlayerUpdate_GF(playerid)
iniSetInt(File,"Coin",PlayerInfo[playerid][pCoin]);
public OnPlayerLogin(playerid,password[])
iniGetInt(File,"Coin",PlayerInfo[playerid][pCoin]);
КОМАНДЫ ИДУТ
if(strcmp(cmd, "/givecoin", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(PlayerInfo[playerid][pAdmin] < 9999)return SendClientMessage(playerid,-1,"Доступ Запрещён.");
if(!strlen(tmp)) return SendClientMessage(playerid,0xFFFFFFAA,"Используйте /givecoin [ID] [кол-во]");
new target = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strval(tmp)) return SendClientMessage(playerid,0xFFFFFFAA,"{FFA90A}"Используйте /givecoin [ID] [кол-во]");
if(IsPlayerConnected(target))
{
new pizz[100],pizzz[100];
PlayerInfo[target][pCoin] = PlayerInfo[target][pCoin] + strval(tmp);
format(pizz,100,"{0AFF37}Вы дали ID %d кол-во койнов%d",target,tmp);
SendClientMessage(playerid,-1,pizz);
format(pizzz,100,"{0AFF37}Вам были выданы Coin's от ID'а %d",tmp,playerid);
SendClientMessage(target, -1, pizzz);
}
return 1;
}
if(strcmp(cmd, "/донат", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pCoin] == 0) return SendClientMessage(playerid,-1,"У вам нет Coin'ов. Доступ к магазину закрыт");
new co[40];
format(co,sizeof(co),"Количество Coin: %d",PlayerInfo[playerid][pCoin]);
SendClientMessage(playerid,-1,co);
ShowPlayerDialog(playerid,431,DIALOG_STYLE_LIST,"*Донат*","{FFA90A}Купить скин 'Woozie' - 30 Coin\n{FFA90A}Покупка респектов - 50 Coin çà 1 Exp","Купить","Отмена");
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
}
switch(dialogid)
{
case 431:
{
if(!response) return SendClientMessage(playerid, 0xFF0000FF, "Вы отказались от покупки.");
switch(listitem)
{
case 0:
{
if(PlayerInfo[playerid][pCoin] < 30)return SendClientMessage(playerid, 0xFF0000FF, "У вас нет такого количества Coin'ов.");
PlayerInfo[playerid][pChar] = 294;
SetPlayerSkin(playerid, 294);
PlayerInfo[playerid][pCoin] = PlayerInfo[playerid][pCoin] - 30;
SendClientMessage(playerid,-1,"Вы приобрели скин 'Woozie' за 30 Coin");
return 1;
}
case 1:
{
return ShowPlayerDialog(playerid,432,DIALOG_STYLE_INPUT,"*Донат*","Если не хотите покупать нажмите отмена\nВведите количество респектов которое хотите купить:","Купить","Отмена");
}
}
}
}
if(dialogid == 432)
{
if(!response) return SendClientMessage(playerid, 0xFFFFFFFF, "Вы отказались от покупки!");
new too = 50 * strval(inputtext);
new messag[100];
format(messag,sizeof(messag),"Вы купили %d респектов", strval(inputtext));
SendClientMessage(playerid, -1 , messag);
PlayerInfo[playerid][pExp] = PlayerInfo[playerid][pExp] + strval(inputtext);
PlayerInfo[playerid][pCoin] = PlayerInfo[playerid][pCoin] - too;
return 1;
ВОТ ЧТО ДЕЛАТЬ КАК СДЕЛАТЬ ЧТО БЫ В МИНУС НЕ УХОДИЛИ ПРИ ПОКУПКЕ РЕСПЕКТОВ А НАОБАРОТ ПИСАЛО ЧТО НЕДОСТАТОЧНОЕ КОЛИЧЕСТВО КОЙНОВ
например у меня 20 койнов а респект стоит 50 и когда я начал покупать респекты писало недостаточно койнов
НУ И ТАКЖЕ ЧТО БЫ КОГДА ТАМ ХВАТАЛО КОЙНОВ И УЖЕ ВЫВЕЛОСЬ ОКНО СКОЛЬКО ВЫ ХОТИТЕ КУПИТЬ ВОДИТЕ БОЛЬШЕ ЧИСЛО И ЗАВИСИЛО ОТ КОЛИЧЕСТВА КОЙНОВ ЕСЛИ ВЫ НАЖАЛИ ТАМ КУПИТЬ 3 РЕСПЕКТА ПИСАЛО НЕДОСТАТОЧНО КОЙНОВ
С МЕНЯ +
ВОТ ВЕСЬ КОД
enum pInfo
pCoin,
public OnPlayerConnect(playerid)
PlayerInfo[playerid][pCoin] = 0;
public OnPlayerRegister(playerid, password[])
iniSetInt(File,"Coin",PlayerInfo[playerid][pCoin]);
public OnPlayerUpdate_GF(playerid)
iniSetInt(File,"Coin",PlayerInfo[playerid][pCoin]);
public OnPlayerLogin(playerid,password[])
iniGetInt(File,"Coin",PlayerInfo[playerid][pCoin]);
КОМАНДЫ ИДУТ
if(strcmp(cmd, "/givecoin", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(PlayerInfo[playerid][pAdmin] < 9999)return SendClientMessage(playerid,-1,"Доступ Запрещён.");
if(!strlen(tmp)) return SendClientMessage(playerid,0xFFFFFFAA,"Используйте /givecoin [ID] [кол-во]");
new target = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strval(tmp)) return SendClientMessage(playerid,0xFFFFFFAA,"{FFA90A}"Используйте /givecoin [ID] [кол-во]");
if(IsPlayerConnected(target))
{
new pizz[100],pizzz[100];
PlayerInfo[target][pCoin] = PlayerInfo[target][pCoin] + strval(tmp);
format(pizz,100,"{0AFF37}Вы дали ID %d кол-во койнов%d",target,tmp);
SendClientMessage(playerid,-1,pizz);
format(pizzz,100,"{0AFF37}Вам были выданы Coin's от ID'а %d",tmp,playerid);
SendClientMessage(target, -1, pizzz);
}
return 1;
}
if(strcmp(cmd, "/донат", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pCoin] == 0) return SendClientMessage(playerid,-1,"У вам нет Coin'ов. Доступ к магазину закрыт");
new co[40];
format(co,sizeof(co),"Количество Coin: %d",PlayerInfo[playerid][pCoin]);
SendClientMessage(playerid,-1,co);
ShowPlayerDialog(playerid,431,DIALOG_STYLE_LIST,"*Донат*","{FFA90A}Купить скин 'Woozie' - 30 Coin\n{FFA90A}Покупка респектов - 50 Coin çà 1 Exp","Купить","Отмена");
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
}
switch(dialogid)
{
case 431:
{
if(!response) return SendClientMessage(playerid, 0xFF0000FF, "Вы отказались от покупки.");
switch(listitem)
{
case 0:
{
if(PlayerInfo[playerid][pCoin] < 30)return SendClientMessage(playerid, 0xFF0000FF, "У вас нет такого количества Coin'ов.");
PlayerInfo[playerid][pChar] = 294;
SetPlayerSkin(playerid, 294);
PlayerInfo[playerid][pCoin] = PlayerInfo[playerid][pCoin] - 30;
SendClientMessage(playerid,-1,"Вы приобрели скин 'Woozie' за 30 Coin");
return 1;
}
case 1:
{
return ShowPlayerDialog(playerid,432,DIALOG_STYLE_INPUT,"*Донат*","Если не хотите покупать нажмите отмена\nВведите количество респектов которое хотите купить:","Купить","Отмена");
}
}
}
}
if(dialogid == 432)
{
if(!response) return SendClientMessage(playerid, 0xFFFFFFFF, "Вы отказались от покупки!");
new too = 50 * strval(inputtext);
new messag[100];
format(messag,sizeof(messag),"Вы купили %d респектов", strval(inputtext));
SendClientMessage(playerid, -1 , messag);
PlayerInfo[playerid][pExp] = PlayerInfo[playerid][pExp] + strval(inputtext);
PlayerInfo[playerid][pCoin] = PlayerInfo[playerid][pCoin] - too;
return 1;
ВОТ ЧТО ДЕЛАТЬ КАК СДЕЛАТЬ ЧТО БЫ В МИНУС НЕ УХОДИЛИ ПРИ ПОКУПКЕ РЕСПЕКТОВ А НАОБАРОТ ПИСАЛО ЧТО НЕДОСТАТОЧНОЕ КОЛИЧЕСТВО КОЙНОВ
например у меня 20 койнов а респект стоит 50 и когда я начал покупать респекты писало недостаточно койнов
НУ И ТАКЖЕ ЧТО БЫ КОГДА ТАМ ХВАТАЛО КОЙНОВ И УЖЕ ВЫВЕЛОСЬ ОКНО СКОЛЬКО ВЫ ХОТИТЕ КУПИТЬ ВОДИТЕ БОЛЬШЕ ЧИСЛО И ЗАВИСИЛО ОТ КОЛИЧЕСТВА КОЙНОВ ЕСЛИ ВЫ НАЖАЛИ ТАМ КУПИТЬ 3 РЕСПЕКТА ПИСАЛО НЕДОСТАТОЧНО КОЙНОВ
С МЕНЯ +
Последнее редактирование:
