Доброго времени суток форумчане.
Представляю вашему вниманию команду /slap с выбором высоты.
И так:
В самое начало добавим форвард:
forward SetPlayerSlap(playerid,typeid);
Для тех у кого стоит sscanf :
В public OnPlayerCommandText:
if(strcmp(cmd, "/slap", true) == 0)
{
if(!IsPlayerConnected(playerid)) return true;
if(sscanf(params, "ii", params[0],params[1])) return SendClientMessage(playerid,-1,"Ошибка команды : Введите [ID][Высота]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid,-1,"Данный игрок не подключен.");
return SetPlayerSlap(params[0],params[1]);
}
Для тех у кого utils :
В public OnPlayerCommandText:
if(strcmp(cmd, "/slap", true) == 0)
{
new type[2];
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "Ошибка команды : Введите [ID][Высота]");
type[0] = strval(strtok(cmdtext, idx)); type[1] = strval(strtok(cmdtext, idx));
if(!IsPlayerConnected(playerid)) return true;
if(!IsPlayerConnected(player)) return true;
return SetPlayerSlap(type[0],type[1]);
}
В конец мода ставим этот паблик:
public SetPlayerSlap(playerid,typeid)
{
new Float:sPOS[3]; new str[128];
GetPlayerPos(playerid, sPOS[0], sPOS[1], sPOS[2]); SetPlayerPos(playerid, sPOS[0], sPOS[1], sPOS[2]+typeid);
format(str,128,"Игрок %s был слэпнут на расстояние %i метров вверх",GetPlayerNameEx(playerid),typeid); SendClientMessageToAll(-1,str);
return true;
}
Добавим ещё определение имён :
В конец мода ставим этот сток:
stock GetPlayerNameEx(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
new i;
GPNXLABEL:
i = strfind(pname,"_",true);
if(i != (-1)) pname = ' ';
if(strfind(pname,"_",true)>-1)goto GPNXLABEL;
return pname;
}
На этом всё.
Автор : Trateus (Александр Киселёв)
Представляю вашему вниманию команду /slap с выбором высоты.
И так:
В самое начало добавим форвард:
forward SetPlayerSlap(playerid,typeid);
Для тех у кого стоит sscanf :
В public OnPlayerCommandText:
if(strcmp(cmd, "/slap", true) == 0)
{
if(!IsPlayerConnected(playerid)) return true;
if(sscanf(params, "ii", params[0],params[1])) return SendClientMessage(playerid,-1,"Ошибка команды : Введите [ID][Высота]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid,-1,"Данный игрок не подключен.");
return SetPlayerSlap(params[0],params[1]);
}
Для тех у кого utils :
В public OnPlayerCommandText:
if(strcmp(cmd, "/slap", true) == 0)
{
new type[2];
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "Ошибка команды : Введите [ID][Высота]");
type[0] = strval(strtok(cmdtext, idx)); type[1] = strval(strtok(cmdtext, idx));
if(!IsPlayerConnected(playerid)) return true;
if(!IsPlayerConnected(player)) return true;
return SetPlayerSlap(type[0],type[1]);
}
В конец мода ставим этот паблик:
public SetPlayerSlap(playerid,typeid)
{
new Float:sPOS[3]; new str[128];
GetPlayerPos(playerid, sPOS[0], sPOS[1], sPOS[2]); SetPlayerPos(playerid, sPOS[0], sPOS[1], sPOS[2]+typeid);
format(str,128,"Игрок %s был слэпнут на расстояние %i метров вверх",GetPlayerNameEx(playerid),typeid); SendClientMessageToAll(-1,str);
return true;
}
Добавим ещё определение имён :
В конец мода ставим этот сток:
stock GetPlayerNameEx(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
new i;
GPNXLABEL:
i = strfind(pname,"_",true);
if(i != (-1)) pname = ' ';
if(strfind(pname,"_",true)>-1)goto GPNXLABEL;
return pname;
}
На этом всё.
Автор : Trateus (Александр Киселёв)
Последнее редактирование модератором: