Алексей Мещеряков
Специалист
Данная тема написана еще аж в далеком 2012... Глобальные корректировки вносить не стал, немного подправил код, добавил читабельности. В Целом ничего не трогал. Для 2018, конечно данный вид уже не востребован, но все же.
Ко всем переменным, в начало мода:
PHP:
new Chosen[MAX_PLAYERS];
PHP:
if(IsPlayerAdmin(playerid)) // Или же стандартная проверка массивом на Админку сервера pInfo[playerid][pAdmin] - как пример.
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, !"Доступные действия", !"Забанить\nКикнуть\nУбить\nВзорвать\nСлапнуть\nТп к игроку\nТП к себе", !"Выбрать", !"Выход");
Chosen[playerid] = clickedplayerid;
}
PHP:
new
player_name[MAX_PLAYER_NAME],
giveplayer_name[MAX_PLAYER_NAME],
string[35],
Float:pos_x,
Float:pos_y,
Float:pos_Z;
GetPlayerName(Chosen[playerid], player_name, MAX_PLAYER_NAME);
GetPlayerName(playerid ,giveplayer_name, MAX_PLAYER_NAME);
GetPlayerPos(Chosen[playerid], pos_x, pos_y, pos_z);
if(dialogid == 1 && response)
{
switch(listitem)
{
case 0:
{
format(string, sizeof string,"* Администратор %s забанил игрока %s. *",giveplayer_name, player_name);
SendClientMessageToAll(-1,string);
Ban(Chosen[playerid]);
}
case 1:
{
format(string, sizeof string,"* Администратор %s кикнул игрока %s *",giveplayer_name, player_name);
SendClientMessageToAll(-1,string);
Kick(Chosen[playerid]);
}
case 2:
{
SendClientMessage(playerid, -1, !"Игрок успешно убит");
SetPlayerHealth(Chosen[playerid], 0);
}
case 3: CreateExplosion(pos_x, pos_y, pos_z, 12, 7);
case 4:SetPlayerPos(Chosen[playerid],pos_x, pos_y, pos_z+15);
case 5:
{
SetPlayerInterior(playerid, GetPlayerInterior(Chosen[playerid]));
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(Chosen[playerid]));
SetPlayerPos(playerid, pos_x+1, pos_y, pos_z);
format(string, sizeof string,"* Вы телепортировались к игроку %s. *",player_name);
SendClientMessage(playerid, 0xFFFFFF, string);
}
case 6:
{
SetPlayerInterior(Chosen[playerid],GetPlayerInterior(playerid));
SetPlayerVirtualWorld(Chosen[playerid], GetPlayerVirtualWorld(playerid));
SetPlayerPos(Chosen[playerid], pos_x+1, pos_y, pos_z);
format(string, sizeof string,"* Вы телепортировали игрока %s к себе. *",player_name);
SendClientMessage(playerid, 0xFFFFFF, string);
}
}
}
Последнее редактирование:
