Andrey_Prylkin
Умник
Переделываю команду /free на диалоге.
Как сделать что-бы способ оплаты указывать при предложении свободы, типа /free [ид] [способ] [сумма]
1 - наличными, 2 - банк.
Как сделать что-бы способ оплаты указывать при предложении свободы, типа /free [ид] [способ] [сумма]
1 - наличными, 2 - банк.
HTML:
CMD:free(playerid, params[])
{
if(PlayerInfo[playerid][pLogin] == 0) return true;
if(PlayerInfo[playerid][pMember] == 7 && PlayerInfo[playerid][pRank] == 2)
if(sscanf(params, "ud", params[0],params[1])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /free [id] [цена]");
if(PlayerInfo[params[0]][pJailed] != 1) return SendClientMessage(playerid, COLOR_GRAD1, "Человек не в тюрьме!");
if(params[1] < 100 || params[1] > 50000) { SendClientMessage(playerid, COLOR_GREY, "Цена не может быть меньше 100 и больше 50000!"); return true; }
if(params[1] == playerid) return SendClientMessage(playerid,COLOR_GRAD1, "[Ошибка] Вы указали свой ID");
format(YCMDstr, sizeof(YCMDstr), "[Адвокат] Вы предложили %s выпустить его за %d вирт",Name(params[0]),params[1]);
SendClientMessage(playerid, 0x6495EDFF, YCMDstr);
format(YCMDstr, sizeof(YCMDstr), "[Адвокат] %s предлагает Вам свободу за %d вирт",Name(playerid),params[1]);
SendClientMessage(params[0], 0x6495EDFF, YCMDstr);
ShowPlayerDialogEx(params[0],6622,DIALOG_STYLE_MSGBOX, "Адвокатские услуги", "Выберите способ оплаты:", "Наличные", "Банк");
FreeOffer[params[0]] = playerid;
FreePrice[params[0]] = params[1];
SposobOffer[params[0]] = 0;
return true;
}
HTML:
case 6622:
{
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(FreeOffer[playerid], giveplayer, sizeof(giveplayer));
if(response)
{
if(PlayerInfo[playerid][pCash] < FreePrice[playerid])
{
SendClientMessage(FreeOffer[playerid], COLOR_GREY, "У этого человека нет столько денег на руках!");
SendClientMessage(playerid, COLOR_GREY, "У Вас нет столько денег!");
return true;
}
PlayerInfo[FreeOffer[playerid]][pCash] += FreePrice[playerid];
PlayerInfo[playerid][pCash] -= FreePrice[playerid];
format(string, sizeof(string), "Адвокат %s выпустил вас за %d вирт!",giveplayer, FreePrice[playerid]);
SendClientMessage(playerid, 0x6495EDFF,string);
format(string, sizeof(string), "Вы выпустили %s за %d вирт!",sendername, FreePrice[playerid]);
SendClientMessage(FreeOffer[playerid], 0x6495EDFF,string);
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,1553.4962,-1675.2714,16.1953);
SetPlayerFacingAngle(playerid, 95.0636);
PlayerInfo[playerid][pJailTime] = 0;
PlayerInfo[playerid][pJailed] = 0;
format(string, sizeof(string), "~g~Freedom");
PlayerInfo[playerid][pWantedLevel] = 0;
SetPlayerWantedLevel(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
GameTextForPlayer(playerid, string, 5000, 1);
return true;
}
else
{
if(PlayerInfo[playerid][pBank] < FreePrice[playerid])
{
SendClientMessage(FreeOffer[playerid], COLOR_GREY, "У этого человека нет столько денег в банке!");
SendClientMessage(playerid, COLOR_GREY, "У Вас нет столько денег!");
return true;
}
PlayerInfo[FreeOffer[playerid]][pCash] += FreePrice[playerid];
PlayerInfo[playerid][pBank] -= FreePrice[playerid];
format(string, sizeof(string), "Адвокат %s выпустил вас за %d вирт!",giveplayer, FreePrice[playerid]);
SendClientMessage(playerid, 0x6495EDFF,string);
format(string, sizeof(string), "Вы выпустили %s за %d вирт!",sendername, FreePrice[playerid]);
SendClientMessage(FreeOffer[playerid], 0x6495EDFF,string);
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,1553.4962,-1675.2714,16.1953);
SetPlayerFacingAngle(playerid, 95.0636);
PlayerInfo[playerid][pJailTime] = 0;
PlayerInfo[playerid][pJailed] = 0;
format(string, sizeof(string), "~g~Freedom");
PlayerInfo[playerid][pWantedLevel] = 0;
SetPlayerWantedLevel(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
GameTextForPlayer(playerid, string, 5000, 1);
return true;
}
}
