PDA

Просмотр полной версии : [Вопрос] Спавн



djbond
17.05.2016, 21:47
Адним команда /sp захожу в слежку за игроком и когда заканчиваю меня кидает на спавн фракции или простой смотря состою я в организации или нет..кароче меня кидает на спавн,а я хочу сделать что б я появлялся там где и начал наблюдение например начал возле мэрии закончил и там же появился...
вот код команд:

ALTX:spec("/sp");
CMD:spec(playerid, params[]) {
if(PI[playerid][pAdmLevel] < 3 || AdminLogged[playerid] == false) return true;
if(sscanf(params, "d", params[0])) return SendClientMessage(playerid,-1,"Введите: /spec [id]");
if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, T_OFFLINE);
if(PlayerLogged[params[0]] == false) return SendClientMessage(playerid, COLOR_GREY, T_NOLOGGED);
//if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "Вы не должны находится в транспорте!");
//if(IsPlayerInAnyVehicle(params[0] == playerid)) return SendClientMessage(playerid, COLOR_GREY, "Вы не должны находиться в транспорте!");
if(IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid, COLOR_RED, "Вы находитесь в авто и не сможете наблюдать!");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "Начато наблюдение");

if(params[0] == playerid) return SendClientMessage(playerid, COLOR_GREY, "Нельзя наблюдать за собой!");
if(params[0] == playerid) return StartSpecPanel(playerid, params[0]+1),SelectTextDraw(playerid, 0xFF4040AA);
if(PI[params[0]][pAdmLevel] > PI[playerid][pAdmLevel]) return SendClientMessage(playerid, COLOR_WHITE, "Нельзя следить за админами старше себя.");
GetPlayerPos(playerid, PpPOS[0], PpPOS[1], PpPOS[2]);
PpPPOS[0] = GetPlayerVirtualWorld(playerid);
PpPPOS[1] = GetPlayerInterior(playerid);
StartSpecPanel(playerid, params[0]);
SelectTextDraw(playerid, 0xFF4040AA);
return true;

}
/////
/*if(params[0] == playerid) return SendClientMessage(playerid, COLOR_GREY, "Нельзя наблюдать за собой!");
if(params[0] == playerid) return StartSpecPanel(playerid, params[0]+1),SelectTextDraw(playerid, 0xFF4040AA);
if(PI[params[0]][pAdmLevel] > PI[playerid][pAdmLevel]) return SendClientMessage(playerid, COLOR_WHITE, "Нельзя следить за админами старше себя.");
GetPlayerPos(playerid, PpPOS[0], PpPOS[1], PpPOS[2]);
PpPPOS[0] = GetPlayerVirtualWorld(playerid);
PpPPOS[1] = GetPlayerInterior(playerid);
StartSpecPanel(playerid, params[0]);
SelectTextDraw(playerid, 0xFF4040AA);
return true;*/
}
ALTX:specoff("/spoff");
CMD:specoff(playerid, params[]) {
if(PI[playerid][pAdmLevel] < 3 || AdminLogged[playerid] == false) return true;
StopRecon(playerid, "~r~SPEC: PANEL IS OFF");
SpecPanelClose(playerid);
CancelSelectTextDraw(playerid);
return true;
}

Sp1ke
17.05.2016, 23:54
if(PlayerLogged[params[0]] == false) return SendClientMessage(playerid, COLOR_GREY, T_NOLOGGED);
Если используешь DC_CMD то можешь засунуть эту проверку в паблик
public OnPlayerCommandReceived(playerid, cmdtext[]), который вызывается до выполнения команды, если не ошибаюсь. И не запихивать эту проверку в каждую команду.

Чтобы такое реализовать тебе нужно узнать координаты администратора, которые у него были до начала слежки за игроком

new Float:SpecPosX[MAX_PLAYERS], Float:SpecPosY[MAX_PLAYERS], Float:SpecPosZ[MAX_PLAYERS];
GetPlayerPos(playerid, SpecPosX[playerid], SpecPosY[playerid], SpecPosZ[playerid]);

Далее создать проверку, находился ли администратор в реконе, если да то в паблике OnPlayerSpawn(playerid) телепортировать его на те самые координаты (SpecPosX[playerid], SpecPosY[playerid], SpecPosZ[playerid])

vovandolg
18.05.2016, 01:01
sp это кратко в модах как spawn, респает при админке на спавн(по любому где то есть /sp вот и вызывается не то что вам надо),
почему бы просто не юзать /re /recon, логичнее и индивидуальнее будет:scratch_one-s_head:

Sp1ke
18.05.2016, 01:15
sp это кратко в модах как spawn, респает при админке на спавн(по любому где то есть /sp вот и вызывается не то что вам надо),
почему бы просто не юзать /re /recon, логичнее и индивидуальнее будет:scratch_one-s_head:

/sp - spectator, даже пользуясь гуглом можно найти перевод как "зритель", spawn и spectator разные слова, окда? Говорить про индивидуальность и предлагать название команды с паблик СРП мода, гениально! Если бы были две одинаковые команды то компилятор выдал бы ошибку. Желательно читать содержимое темы....

vovandolg
18.05.2016, 01:30
у /re нету не каких предположений со спавном, то есть он будет как индивидум,
а у /sp может быть не только зритель, но и как удлинённое слово spawn,
так что лучше старое доброе /re(con):pleasantry:
Ну на крайняк /spec, но не как не /sp

djbond
18.05.2016, 01:44
Тут неважно /re или /sp Так команда запилена что возвращает на спавн!
я ж выключаю командой /spoff

gangzone.ini
18.05.2016, 01:54
djbons, читайте 2-ой пост.
vovandolg, /sp только в RLS отправляет на spawn... )

TheMallard
19.05.2016, 18:42
у /re нету не каких предположений со спавном, то есть он будет как индивидум,
а у /sp может быть не только зритель, но и как удлинённое слово spawn,
так что лучше старое доброе /re(con):pleasantry:
Ну на крайняк /spec, но не как не /sp

А ты знаешь почему /recon? А потому что Astro (создатель PEN1), назвал спектейт от слов "remote control". В течение 10 лет это название кочевало по модам, но сути оно НЕ ОТОБРАЖАЕТ, потому что через /recon нельзя удалённо управлять игроком.

vovandolg
19.05.2016, 23:39
А ты знаешь почему /recon? А потому что Astro (создатель PEN1), назвал спектейт от слов "remote control". В течение 10 лет это название кочевало по модам, но сути оно НЕ ОТОБРАЖАЕТ, потому что через /recon нельзя удалённо управлять игроком.

Делайте как хотите, просто большинство модов не рлс или рлс где я был админ, там не большое кол-во раз замечал как писали /re или .ку что давало знать о том как входят в слежку, и это есть та самая привычка юзеров к команде, это тоже самое что тебе наждачку на стуле прибить и сказать привыкай к новому стулу, мне честно всё равно какое у вас мнение да и это не скажется на скорости или ещё чём то, разве что люди не будут путаться в командах, мало того что в расскладках часто путаются, а тут ещё команды другие :boredom:

gangzone.ini
20.05.2016, 13:26
vovandolg, ты например привык играть на Samp-Rp или же копии, из-за этого ты считаешь что удобнее команда /re, а например я, прывакла к /sp, т.к на Advance, Diamond именно эта команда.

Nash_Brigers
20.05.2016, 13:51
удалено
По-началу высказал мнение на счёт отличий команд, а потом подумал "зачем я вмешиваюсь", тем-более, что тема совсем не о том..

Геннадий Акимов
20.05.2016, 17:02
у /re нету не каких предположений со спавном, то есть он будет как индивидум,
а у /sp может быть не только зритель, но и как удлинённое слово spawn,
так что лучше старое доброе /re(con):pleasantry:
Ну на крайняк /spec, но не как не /sp

Да хоть /hernya от замены названия команды работа кода не изменится !

Sp1ke
20.05.2016, 22:20
Да хоть /hernya от замены названия команды работа кода не изменится !

А потом видим команды на проектах такого типа: /sniat /klyap /klyapoff /avig /adddom /nabor /reklama