AррLe
Новичок
Здравствуйте.
Думаю команда хорошая, пойдёт как на РП так и на ДМ...
Команда написана на ZCMD + SSCANF2.
В команде встроены все необходимые проверки, остальные добавите "на ваш вкус"
Вот собственно сама команда:
Теперь ф-и:
Ф-я определяющая расстояние между игроков:
И ф-я определения ник-нейма игрока:
---
Если кто не понял: игроку, который грабит, дадим деньги вот так: узнаем сколько денег у того кого грабим, разделим на 100 и результат дадим грабителю
---
Автор: InFlueNce a.k.a AppLe a.k.a Я
Ф-и "выдрал" из разных источников.
Распространение данного кода свободное при условии указания автора!
Думаю команда хорошая, пойдёт как на РП так и на ДМ...
Команда написана на ZCMD + SSCANF2.
В команде встроены все необходимые проверки, остальные добавите "на ваш вкус"
Вот собственно сама команда:
PHP:
cmd(rob,playerid, params[])
{
if(sscanf(params,"d",params[0])) return SendClientMessage(playerid, -1, "Используй: /rob [id]");
if(!IsPlayerConnected(params[0])) return SendClientMessage( playerid, -1, "Игрок не подключен!");
if(GetPlayerState(params[0])!= PLAYER_STATE_ONFOOT || GetPlayerState(playerid)!= PLAYER_STATE_ONFOOT) return SendClientMessage( playerid, -1, "Грабить можно только быдучи пиешеходом.");
if(params[0] == playerid) return SendClientMessage(playerid, -1, "Нельзя грабить самого себя!");
if(GetDistanceBetweenPlayers(playerid, params[0]) > 2) return SendClientMessage(playerid, -1, "Вы слишком далеко!");
if(GetPlayerMoney(params[0]) <= 500) return SendClientMessage(playerid, -1, "У него и так мало денег.");
new summa = (GetPlayerMoney(params[0]) / 100), String[256];
GivePlayerMoney(params[0], -summa); GivePlayerMoney(playerid, summa);
format(String, sizeof String, "Игрок: %s ограблен игроком: %s, на сумму: %d",PlayerName(params[0]),PlayerName(playerid),summa);
SendClientMessageToAll(-1,String);
return true;
}
Ф-я определяющая расстояние между игроков:
PHP:
stock GetDistanceBetweenPlayers(playerid, playerid2)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z, Float:tmpdis;
GetPlayerPos(playerid,x1,y1,z1); GetPlayerPos(playerid2,x2,y2,z2);
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
return floatround(tmpdis);
}
PHP:
PlayerName(playerid)
{
new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name));
return name;
}
Если кто не понял: игроку, который грабит, дадим деньги вот так: узнаем сколько денег у того кого грабим, разделим на 100 и результат дадим грабителю
---
Автор: InFlueNce a.k.a AppLe a.k.a Я
Ф-и "выдрал" из разных источников.
Распространение данного кода свободное при условии указания автора!
