Просмотр полной версии : [Вопрос] Как сделать сохранение позиции после /reoff
Здравствуйте. Пробывал по всякому, не получается.
Как сделать сохранение позиции после /reoff , то есть... После выхода из режима слежения, ADM становится на то же место, где и начинал следить. Сама система /re уже есть.
Помогите пожалуйста, желательно объяснять тщательно.
A N D R E Y
23.07.2014, 08:09
Здравствуйте. Пробывал по всякому, не получается.
Как сделать сохранение позиции после /reoff , то есть... После выхода из режима слежения, ADM становится на то же место, где и начинал следить. Сама система /re уже есть.
Помогите пожалуйста, желательно объяснять тщательно.
Думаю незачем объяснять, код вам расскажет гораздо больше:
В комманду слежения:
new Float: Recon_PosX, Float: Recon_PosY, Float: Recon_PosZ; // Переменная в которую запишется позиция игрока который следит
GetPlayerPos(playerid, Recon_PosX, Recon_PosY, Recon_PosZ); // Узнаем позицию игрока который следит и запишем ее в переменную.
Это в комманду отключения того самого слежения:
SetPlayerPos(playerid, Recon_PosX, Recon_PosY, Recon_PosZ); // Устанавливаем позицию админу который следил, и теперь он встанет там где и начал слежение
Вроде как так.... Если кого-то не устраивают названия переменных то извиняйте, это все для примера.
Думаю незачем объяснять, код вам расскажет гораздо больше:
В комманду слежения:
new Float: Recon_PosX, Float: Recon_PosY, Float: Recon_PosZ; // Переменная в которую запишется позиция игрока который следит
GetPlayerPos(playerid, Recon_PosX, Recon_PosY, Recon_PosZ); // Узнаем позицию игрока который следит и запишем ее в переменную.
Это в комманду отключения того самого слежения:
SetPlayerPos(playerid, Recon_PosX, Recon_PosY, Recon_PosZ); // Устанавливаем позицию админу который следил, и теперь он встанет там где и начал слежение
Вроде как так.... Если кого-то не устраивают названия переменных то извиняйте, это все для примера.
А это что? C:\Users\1\Desktop\MRP\gamemodes\samp-mr.pwn(55524) : error 017: undefined symbol "Recon_PosX"
А это что? C:\Users\1\Desktop\MRP\gamemodes\samp-mr.pwn(55524) : error 017: undefined symbol "Recon_PosX"
В начало мода.
new Float:Recon_PosX, Float:Recon_PosY, Float:Recon_PosZ;
Но я бы поступил так:
new Float:_r_pos_x[MAX_PLAYERS], Float:_r_pos_y[MAX_PLAYERS], Float:_r_pos_z[MAX_PLAYERS], _r_int[MAX_PLAYERS], _r_vw[MAX_PLAYERS char];
Далее
GetPlayerPos(playerid, _r_pos_x[playerid], _r_pos_y[playerid], _r_pos_z[playerid]);
_r_int[playerid] = GetPlayerInterior(playerid);
_r_vw{playerid} = GetPlayerVirtualWorld(playerid);
И далее после /reoff
SetPlayerPos(playerid, _r_pos_x[playerid], _r_pos_y[playerid], _r_pos_z[playerid]);
SetPlayerVirtualWorld(playerid, _r_vw{playerid});
SetPlayerInterior(playerid, _r_int[playerid]);
В начало мода.
new Float:Recon_PosX, Float:Recon_PosY, Float:Recon_PosZ;
Да я уже понял, но что то не работает.
Он мне сказал в Команду отключения, у меня "Панелька", я через неё выхожу..
Сюда вставлять SetPlayerPos(playerid, Recon_PosX, Recon_PosY, Recon_PosZ); - stock StopSpectate(playerid) ?
Да я уже понял, но что то не работает.
Он мне сказал в Команду отключения, у меня "Панелька", я через неё выхожу..
Сюда вставлять SetPlayerPos(playerid, Recon_PosX, Recon_PosY, Recon_PosZ); - stock StopSpectate(playerid) ?
В твоей "панельке" отключает через "/reoff", если нет, то ищи в OnPlayerSelectedMenuRow или в OnPlayerClickedTextDraw
В твоей "панельке" отключает через "/reoff", если нет, то ищи в OnPlayerSelectedMenuRow или в OnPlayerClickedTextDraw
Можно подробнее куда и что вставлять? PHP код и т.д :help:
underwoker
23.07.2014, 19:06
Можно подробнее куда и что вставлять? PHP код и т.д :help:
Ты сказал что у тебя есть команда /reoff и просто в конец ее перед return добавь Функцию SetPos которую тебе дали выше.
Ты сказал что у тебя есть команда /reoff и просто в конец ее перед return добавь Функцию SetPos которую тебе дали выше.
А если через панельку я выхожу, то что добавить?
underwoker
23.07.2014, 21:09
А если через панельку я выхожу, то что добавить?
И через панельку тоже самое добавить. А панель на текстдравах или меню которое слева и переключаешься стрелочками?
И через панельку тоже самое добавить. А панель на текстдравах или меню которое слева и переключаешься стрелочками?
Слева
underwoker
23.07.2014, 22:52
Значит ищи паблик
public OnPlayerSelectedMenuRow
В нем ищи выход из наблюдения, и туда вставь код телепорта на старые коор-ты.
Значит ищи паблик
public OnPlayerSelectedMenuRow
В нем ищи выход из наблюдения, и туда вставь код телепорта на старые коор-ты.
Да там полюбэ у него в OnPlayerSelectedMenuRow стоит следующий код:
OnPlayerCommandText(playerid, "/reoff");
underwoker
24.07.2014, 13:38
Да там полюбэ у него в OnPlayerSelectedMenuRow стоит следующий код:
OnPlayerCommandText(playerid, "/reoff");
Вот тоже самое думаю.
Да там полюбэ у него в OnPlayerSelectedMenuRow стоит следующий код:
OnPlayerCommandText(playerid, "/reoff");
Нет такого вообще
case 6: // specoff
{
StopSpectate(playerid);
TogglePlayerSpectating(playerid, 0);
SetCameraBehindPlayer(playerid);
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
}
- - - Добавлено - - -
Вот тоже самое думаю.
/reoff отдельная команда, в панельке тоже всё отдельно
underwoker
30.07.2014, 20:25
Нет такого вообще
case 6: // specoff
{
StopSpectate(playerid);
TogglePlayerSpectating(playerid, 0);
SetCameraBehindPlayer(playerid);
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
}
- - - Добавлено - - -
/reoff отдельная команда, в панельке тоже всё отдельно
Ну так просто добавь после PlayerPlaySound Функцию SetPos которую тебе дали выше.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot