Smoke...
Умник
Здравствуйте, пользователи Pawno-Info! Хочу вам представить команду /vor [id] для RLS.
Автор команды : CRAZy_Str.
Мод : Fortune-Rp.
Автор команды : CRAZy_Str.
Мод : Fortune-Rp.
Начнём :
Ко всем enum pInfo дописуем :
PHP:
pVorSkill,
PHP:
ini_setInteger(File,"pVorSkill",PlayerInfo[playerid][pVorSkill]);
PHP:
ini_setInteger(File,"pVorSkill",PlayerInfo[playerid][pVorSkill]);
PHP:
ini_getInteger(File,"pVorSkill",PlayerInfo[playerid][pVorSkill]);
PHP:
else if(strcmp(cmd,"/vor",true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "{F74848}[Помощь]: /vor [id]");
giveplayerid = ReturnUser(tmp);
new shans[MAX_PLAYERS];
new summa[MAX_PLAYERS];
tmp = strtok(cmdtext, idx);
shans[playerid] = random(10); // Это ваш шанс на удачу
summa[playerid] = random(500)+10; // Приобретаемая сумма денег в случае удачной махинации
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
if(giveplayerid == playerid) return SendClientMessage(playerid,COLOR_RED,"{F74848}[Ошибка]: Вы указали свой ID");
if(AntiFlud[playerid] == 1) return SendClientMessage(playerid, COLOR_GREY, "{F74848}[Ошибка]: Вы уже воровали, попробуйте позже!");
if(PlayerInfo[giveplayerid][pCash] < 1000) return SendClientMessage(playerid, COLOR_GREY, "{F74848}[Ошибка]: У него нечего воровать!");
switch(PlayerInfo[playerid][pMember])
{
case 0..11,14,16,19..22:
{
SendClientMessage(playerid, COLOR_GRAD1, "Вы не состоите в банде!");
return true;
}
}
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if (ProxDetectorS(1.0, playerid, giveplayerid))
{
if(PlayerInfo[playerid][pVorSkill] >= 0 && shans[playerid] == 1 || PlayerInfo[playerid][pVorSkill] >= 20 && shans[playerid] <= 2 || PlayerInfo[playerid][pVorSkill] >= 40 && shans[playerid] <= 3 ||
PlayerInfo[playerid][pVorSkill] >= 60 && shans[playerid] <= 4 || PlayerInfo[playerid][pVorSkill] >= 80 && shans[playerid] <= 5 || PlayerInfo[playerid][pVorSkill] == 100 && shans[playerid] <= 6) // Если у вас скилл кражи выше, тем выше шанс удачной кражи. Всего 6 уровней скилла
{
AntiFlud[playerid] = 1; // Система антифлуда (об этом позже)
SetTimerEx("ANTIFLUD", 120000,0,"d",playerid);// Антифлуд на 2 минуты
PlayerInfo[giveplayerid][pCash] -= summa[playerid];
PlayerInfo[playerid][pCash] += summa[playerid];
PlayerInfo[playerid][pZakonp] -= 1;
format(string, sizeof(string), "Вы успешно обворовали %s на сумму %d $.", giveplayer,summa[playerid]);
SendClientMessage(playerid, 0x6AB1FFFF, string);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "Украл часть денег у %s",giveplayer);
SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000);
if(PlayerInfo[playerid][pVorSkill] < 100)
{
PlayerInfo[playerid][pVorSkill] += 1;
switch(PlayerInfo[playerid][pVorSkill])
{
case 20: SendClientMessage(playerid, COLOR_YELLOW, "Ваш воровской новык теперь 2 уровня.Шанс удачной кражи - 20 процентов");
case 40: SendClientMessage(playerid, COLOR_YELLOW, "Ваш воровской новык теперь 3 уровня.Шанс удачной кражи - 30 процентов");
case 60: SendClientMessage(playerid, COLOR_YELLOW, "Ваш воровской новык теперь 4 уровня.Шанс удачной кражи - 40 процентов");
case 80: SendClientMessage(playerid, COLOR_YELLOW, "Ваш воровской новык теперь 5 уровня.Шанс удачной кражи - 50 процентов");
case 100: SendClientMessage(playerid, COLOR_YELLOW, "Ваш воровской новык теперь 6 уровня.Шанс удачной кражи - 60 процентов");
}
return true;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Воровство неудачно!");
return true;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Вы слишком далеко!");
return true;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Человек не найден!");
return true;
}
}
return true;
}
А сейчас система Анти-Флуда, если у вас своя система анти-флуда просто замените.
Начнём :
Дописуем ко всем forward`am :
PHP:
forward ANTIFLUD(playerid);
PHP:
new AntiFlud[MAX_PLAYERS];
PHP:
AntiFlud[playerid] = 0;
PHP:
public ANTIFLUD(playerid)
{
AntiFlud[playerid] = 0;
}
Последнее редактирование:
