DragonSkull |
Дата: Вторник, 15.04.2014, 09:07 | Сообщение # 1
|
Советник
Сообщений: 90
Статус: Offline
|
Ко всем new Код new OpustitRuki[MAX_PLAYERS]; new ZapretDice[MAX_PLAYERS]; new dicetime; new KostiName[MAX_PLAYERS]; new KostiMoney[MAX_PLAYERS];
В OnPlayerConnect(playerid)
Код OpustitRuki[playerid] = 0; ZapretDice[playerid] = 0; KostiName[playerid] = 999; KostiMoney[playerid] = 0;
К командам
Код 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; }
в обычные команды OnPlayerCommandText(playerid, cmdtext[])
Код 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; }
В OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
Код 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; } }
В конец мода
Код 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); } } }
У меня стоит плагин Vectoral, у кого его нет просто замените на это:
Код 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); } }
|
|
|
|