илюха
Компетентный
Ко всем new
В OnPlayerConnect(playerid)
К командам
в обычные команды OnPlayerCommandText(playerid, cmdtext[])
В OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
В конец мода
У меня стоит плагин Vectoral, у кого его нет просто замените на это:
PHP:
new OpustitRuki[MAX_PLAYERS];
new ZapretDice[MAX_PLAYERS];
new dicetime;
new KostiName[MAX_PLAYERS];
new KostiMoney[MAX_PLAYERS];
PHP:
OpustitRuki[playerid] = 0;
ZapretDice[playerid] = 0;
KostiName[playerid] = 999;
KostiMoney[playerid] = 0;
PHP:
YCMD:dice(playerid, params[], help) // CMD:dice(playerid, params[])
{
if(PlayerInfo[playerid][pLogin] == 0) return true;
if(!PlayerToPoint(30.0,playerid,1130.7448,-1.4491,1000.6797)) return SendClientMessage(playerid, -1, "Вы должны находиться в казино!");
if(sscanf(params, "ud", params[0],params[1])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /dice [id игрока] [ставка]");
if(params[1] < 100 || params[1] > 500000) return SendClientMessage(playerid, -1, "Минимальная ставка 100$ максимальная 500 000$");
if(ZapretDice[params[0]] == 1) return SendClientMessage(playerid, -1, "В данный момент игрок не может играть!");
if(PlayerInfo[params[0]][pCash] < params[1]) return SendClientMessage(playerid, -1, "У этого игрока нет столько денег!");
if(dicetime > gettime()) return SendClientMessage(playerid, -1, "В данный момент вы не можете играть!");
if(!IsPlayerConnected(params[0])) return true; if(!ProetectorS(6.0, playerid, params[0])) return true;
if(params[0] == playerid) return true;
format(YCMDstr, sizeof(YCMDstr), "Вы предложили %s бросить кости. Ставка: $%i",Name(params[0]),params[1]);
SendClientMessage(playerid, 0x6495EDFF, YCMDstr);
format(YCMDstr, sizeof(YCMDstr), "%s предлагает бросить кости. Ставка: $%i",Name(playerid),params[1]);
SendClientMessage(params[0], 0x6495EDFF, YCMDstr);
SendMes(params[0], COLOR_WHITE, "Нажмите {48FC23}Y {FFFFFF}чтобы согласиться {FF0000}N {FFFFFF}для отказа");
ZapretDice[playerid] = 1;
KostiName[params[0]] = playerid;
KostiMoney[params[0]] = params[1];
return true;
}
PHP:
if(strcmp(cmd, "/dice", true) == 0)
{
if(PlayerInfo[playerid][pLogin] == 0) return true;
if(!PlayerToPoint(30.0,playerid,1130.7448,-1.4491,1000.6797)) return SendClientMessage(playerid, -1, "Вы должны находиться в казино!");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /dice [id игрока] [ставка]");
new giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /dice [id игрока] [ставка]");
new price = strval(tmp);
if(price < 100 || price > 500000) return SendClientMessage(playerid, -1, "Минимальная ставка 100$ максимальная 500 000$");
if(ZapretDice[giveplayerid] == 1) return SendClientMessage(playerid, -1, "В данный момент игрок не может играть!");
if(PlayerInfo[giveplayerid][pCash] < price) return SendClientMessage(playerid, -1, "У этого игрока нет столько денег!");
if(dicetime > gettime()) return SendClientMessage(playerid, -1, "В данный момент вы не можете играть!");
if(!IsPlayerConnected(giveplayerid)) return true;
if(!ProetectorS(6.0, playerid, giveplayerid)) return true;
if(giveplayerid == playerid) return true;
format(YCMDstr, sizeof(YCMDstr), "Вы предложили %s бросить кости. Ставка: $%i",Name(giveplayerid),price);
SendClientMessage(playerid, 0x6495EDFF, YCMDstr);
format(YCMDstr, sizeof(YCMDstr), "%s предлагает бросить кости. Ставка: $%i",Name(playerid),price);
SendClientMessage(giveplayerid, 0x6495EDFF, YCMDstr);
SendMes(giveplayerid, COLOR_WHITE, "Нажмите {48FC23}Y {FFFFFF}чтобы согласиться {FF0000}N {FFFFFF}для отказа");
ZapretDice[playerid] = 1;
KostiName[giveplayerid] = playerid;
KostiMoney[giveplayerid] = price;
return true;
}
PHP:
if(newkeys == 65536)
{
if(KostiName[playerid] < 999)
{
new dice = random(12)+1;
new dice1 = random(12)+1;
format(YCMDstr, sizeof(YCMDstr), "%s и %s бросили кости. Результат: {CC9900}%i:%i",Name(KostiName[playerid]),Name(playerid),dice,dice1);
Proetector(5.0, playerid, YCMDstr, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
if(dice > dice1)
{
PlayerInfo[KostiName[playerid]][pCash] += KostiMoney[playerid];
PlayerInfo[playerid][pCash] -= KostiMoney[playerid];
SendMes(KostiName[playerid], COLOR_GREEN, "Поздравляем, Вы выиграли!");
SendMes(playerid, COLOR_ORANGE, "К сожалению, Вы проиграли!");
format(YCMDstr, sizeof(YCMDstr), "~g~+%d$", KostiMoney[playerid]);
GameTextForPlayer(KostiName[playerid], YCMDstr, 3000, 1);
format(YCMDstr, sizeof(YCMDstr), "~r~-%d$", KostiMoney[playerid]);
GameTextForPlayer(playerid, YCMDstr, 3000, 1);
format(string,sizeof(string), "Выпало: %i",dice1);
SetPlayerChatBubble(playerid,string,COLOR_ORANGE,30.0,10000);
format(string,sizeof(string), "Выпало: %i",dice);
SetPlayerChatBubble(KostiName[playerid],string,TEAM_GROVE_COLOR,30.0,10000);
ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,1,0,0,1,1);
SetPlayerAttachedObject(playerid, 1, 1851, 1, 0.062400, 0.453750, 0.000000, 0.000000, 94.689310, 0.000000);
ApplyAnimation(KostiName[playerid],"CARRY","crry_prtial",4.1,1,0,0,1,1);
SetPlayerAttachedObject(KostiName[playerid], 1, 1851, 1, 0.062400, 0.453750, 0.000000, 0.000000, 94.689310, 0.000000);
SetTimer("DiceOff", 5000, 0);
OpustitRuki[playerid] = 1;
OpustitRuki[KostiName[playerid]] = 1;
dicetime = gettime() + 5;
ZapretDice[playerid] = 0;
ZapretDice[KostiName[playerid]] = 0;
KostiMoney[playerid] = 0;
KostiName[playerid] = 999;
}
if(dice < dice1)
{
PlayerInfo[KostiName[playerid]][pCash] -= KostiMoney[playerid];
PlayerInfo[playerid][pCash] += KostiMoney[playerid];
SendMes(playerid, COLOR_GREEN, "Поздравляем, Вы выиграли!");
SendMes(KostiName[playerid], COLOR_ORANGE, "К сожалению, Вы проиграли!");
format(YCMDstr, sizeof(YCMDstr), "~g~+%d$", KostiMoney[playerid]);
GameTextForPlayer(playerid, YCMDstr, 3000, 1);
format(YCMDstr, sizeof(YCMDstr), "~r~-%d$", KostiMoney[playerid]);
GameTextForPlayer(KostiName[playerid], YCMDstr, 3000, 1);
format(string,sizeof(string), "Выпало: %i",dice1);
SetPlayerChatBubble(playerid,string,TEAM_GROVE_COLOR,30.0,10000);
format(string,sizeof(string), "Выпало: %i",dice);
SetPlayerChatBubble(KostiName[playerid],string,COLOR_ORANGE,30.0,10000);
ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,1,0,0,1,1);
SetPlayerAttachedObject(playerid, 1 , 1851, 1, 0.062397, 0.453746, 0.000000, 0.000000, 94.689308, 0.000000);
ApplyAnimation(KostiName[playerid],"CARRY","crry_prtial",4.1,1,0,0,1,1);
SetPlayerAttachedObject(KostiName[playerid], 1, 1851, 1, 0.062400, 0.453750, 0.000000, 0.000000, 94.689310, 0.000000);
SetTimer("DiceOff", 5000, 0);
OpustitRuki[playerid] = 1;
OpustitRuki[KostiName[playerid]] = 1;
dicetime = gettime() + 5;
ZapretDice[playerid] = 0;
ZapretDice[KostiName[playerid]] = 0;
KostiMoney[playerid] = 0;
KostiName[playerid] = 999;
}
if(dice == dice1)
{
SendMes(playerid, COLOR_ORANGE, "Игра закончилась в ничью!");
SendMes(KostiName[playerid], COLOR_ORANGE, "Игра закончилась в ничью!");
format(string,sizeof(string), "Выпало: %i",dice1);
SetPlayerChatBubble(playerid,string,COLOR_LIGHTBLUE,30.0,10000);
format(string,sizeof(string), "Выпало: %i",dice);
SetPlayerChatBubble(KostiName[playerid],string,COLOR_LIGHTBLUE,30.0,10000);
ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,1,0,0,1,1);
SetPlayerAttachedObject(playerid, 1 , 1851, 1, 0.062397, 0.453746, 0.000000, 0.000000, 94.689308, 0.000000);
ApplyAnimation(KostiName[playerid],"CARRY","crry_prtial",4.1,1,0,0,1,1);
SetPlayerAttachedObject(KostiName[playerid], 1, 1851, 1, 0.062400, 0.453750, 0.000000, 0.000000, 94.689310, 0.000000);
SetTimer("DiceOff", 5000, 0);
OpustitRuki[playerid] = 1;
OpustitRuki[KostiName[playerid]] = 1;
dicetime = gettime() + 5;
ZapretDice[playerid] = 0;
ZapretDice[KostiName[playerid]] = 0;
KostiMoney[playerid] = 0;
KostiName[playerid] = 999;
}
}
else
{
SendClientMessage(playerid, -1, "Вам никто не предлагал бросить кости");
return true;
}
return true;
}
if(newkeys == 131072)
{
if(KostiName[playerid] < 999)
{
KostiName[playerid] = 999;
KostiMoney[playerid] = 0;
}
}
PHP:
publics: DiceOff()
{
for(new idx=0, i=0; idx<cvector_size(players); idx++)
{
if(OpustitRuki[i] == 1)
{
i = cvector_get(players, idx);
OpustitRuki[i] = 0;
if(IsPlayerAttachedObjectSlotUsed(i,1)) RemovePlayerAttachedObject(i,1);// забрали кубик
ClearAnimations(i);
ClearAnim(i);
}
}
}
PHP:
publics: DiceOff()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(OpustitRuki[i] == 1)
{
OpustitRuki[i] = 0;
if(IsPlayerAttachedObjectSlotUsed(i,1)) RemovePlayerAttachedObject(i,1);// забрали кубик
ClearAnimations(i);
ClearAnim(i);
}
}
}
Последнее редактирование:
