Ко всем new добавить это:
new bool:SetPos[MAX_PLAYERS] = false; new Float:X22,Float:Y22,Float:Z22; new int22;
В паблик :
public OnPlayerCommandText(playerid, cmdtext[])
Вставляем вот это:
if (strcmp("/setpos" , cmdtext, true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] >= 4) // вместо PlayerInfo[playerid][pAdmin] вставить своё.
{
if(SetPos[playerid] == false)
{
GetPlayerPos(playerid,X22,Y22,Z22);
GetPlayerInterior(playerid,int22);
SendClientMessage(playerid,0x1E90FFFF,"Точка телепортации успешно установлена Для телепорта используйте /tppos");
SetPos[playerid] = true;
}
else
{
SendClientMessage(playerid,0x1E90FFFF,"Точка телепортации сброшена!");
SetPos[playerid] = false;
}
}
}
return 1;
}
И так, первая команда готова, займёмся второй.
if (strcmp("/tppos" , cmdtext, true, 10) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] >= 4)
{
if(SetPos[playerid] == true)
{
SetPlayerPos(playerid,X22,Y22,Z22);
SetPlayerInterior(playerid,int22);
}
else
{
SendClientMessage(playerid,-1,"Точка телепортации не была установлена!");
}
}
}
return 1;
}
Ну вот собственно и все! Сейчас поясню, что это такое вообще.
Прописываете команду /setpos, полученные ваши координаты записываются в переменные. После прописывания команды /tppos, ваша позиция становится на тех координатах, которые были записаны в переменных.
Проще говоря вы телепортируетесь в ту точку, где прописывали команду /setpos. Как-то так :)
Если будут какие-то проблемы, пишите.
На этом все, если понравилось не откажусь от + :)
Автор: Shpatel
Вход
Регистрация
Помощь









