Вопросы

good1luuck
Новичок

добрый день, крч у меня баг при выходе с рекона таков, если админ вошёл в слежку находясь в интерьере мэрии например, то при выходе его тпшит не в инту мэрии а в рандомную инту и вирт мир, хотя это всё записывается, исправил это всё publics'om и таймером, но как это сделать моментально, как и было, но без бага? при выходе с рекона вызывается stock setplayerspawn


код прикреплю ниже (это без фикса, как было, баг остаё
тся в силе)
 

CMD:recon(playerid,params[])
{
    if(!PlayerInfo[playerid][pAlcoInvenxua]) return 1;
    if(!strcmp(params[0],"off",true) && GetPlayerState(playerid) == 9) {
        TogglePlayerSpectatingEx(playerid,0);
        GameTextForPlayer(playerid,"~w~RECON ~r~OFF",3000,4);
        return true;
    }
    if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /re(con) [id]");
    if(!IsPlayerConnected(params[0]) || params[0] == playerid) return SendClientMessage(playerid,COLOR_GRAD1, "Ошибка: Игрока не существует или это Вы");
    if(FD(params[0]) && !FD(playerid)) return SendClientMessage(playerid,-1,"Запрещенно следить за этим человеком!");
    if(PlayerInfo[params[0]][pInv] > 0 && !FD(playerid)) return SendClientMessage(playerid, COLOR_GRAD1, "У игрока куплена функция 'скрытность'!");
    new playerState = GetPlayerState(params[0]);
    if(playerState == PLAYER_STATE_SPECTATING && gSpecID[params[0]] != INVALID_PLAYER_ID) return SendMes(playerid, COLOR_GRAD1, "Администратор следит за %s[%i]", PlayerInfo[gSpecID[params[0]]][pNames], gSpecID[params[0]]);
    if(playerState != 1 && playerState != 2 && playerState != 3return SendClientMessage(playerid, COLOR_GRAD1, "Игрок не вступил в игру");
    if(GetPlayerState(playerid) != 9)
    {
        GetPlayerPos(playerid, gPlayerPosition[playerid][0],gPlayerPosition[playerid][1],gPlayerPosition[playerid][2]);
        gPlayerInformation[playerid][0] = GetPlayerInterior(playerid);
        gPlayerInformation[playerid][1] = GetPlayerVirtualWorld(playerid);
    }
    gSpecID[playerid] = params[0];
    StartRecon(playerid, params[0]);
    UpdateRecon(playerid, params[0]);
    ShowMenuForPlayer(ReconPanel, playerid);
    for(new i; i < 7; i++) PlayerTextDrawShow(playerid, ReconPlayerText[playerid][i]);
    if(PlayerInfo[playerid][pAlcoInvenxua] < 5return true;
    return SendClientMessage(playerid, COLOR_GREY, "Для того, чтобы закочить слежку за игроком, введите: '/re off'");
}
stock SetPlayerInteriorEx(playerid, inter) {
    SetPlayerInterior(playerid, inter);
    PlayerInfo[playerid][pInt] = inter;
}
stock SetPlayerVirtualWorldEx(playerid, virt) {
    SetPlayerVirtualWorld(playerid, virt);
    PlayerInfo[playerid][pVirt] = virt;
}
stock TogglePlayerSpectatingEx(playerid, start) {
    SetPVarInt(playerid, "AntiSpecKick"5);
    if(!start) SetPlayerSpawn(playerid);
    TogglePlayerSpectating(playerid, start);

 

stock SetPlayerSpawn(playerid)
{
    if(gSpecID[playerid] != INVALID_PLAYER_ID)
    {
        gSpecID[playerid] = INVALID_PLAYER_ID;
        CancelSelectTextDraw(playerid);
        HideMenuForPlayer(ReconPanel, playerid);
        for(new i; i < 7; i++) PlayerTextDrawHide(playerid, ReconPlayerText[playerid][i]);
        new Float:z_coord = gPlayerPosition[playerid][2] - 1.0;
        SetSpawnInfoEx(playerid, gPlayerPosition[playerid][0], gPlayerPosition[playerid][1], z_coord, 0.0);
        SetPlayerInteriorEx(playerid, gPlayerInformation[playerid][0]);
        SetPlayerVirtualWorldEx(playerid, gPlayerInformation[playerid][1]);
        gSpecState[playerid] = INVALID_PLAYER_ID;
        return 1;
    }


 

Отредактировано пользователем good1luuck

Поделиться сообщением


Ссылка на сообщение

7 ответов на этот вопрос

  • 0

1. У тебя стоил виртулэальный мир 1!

2. С чего ты решил, что игрока должно тпшить в мэрию, где находится игрок? Он должен возвращаться на то место, откуда начал слежку за игроком. Для этого используется функция определения координат администратора и после объявляется сток, с этими данными. Используй сток для администратора и функцию определения координат администратора. GetPlayerPos.

В этом случае, его вернет на то место, откуда слежка была начата. А если администратор захочет тпхнуться к игроку, есть команда /goto (если она есть)

Поделиться сообщением


Ссылка на сообщение
  • 0
Raccido
Освоившийся

@Sergo_AlexeevМожешь помочь с античитом?

 

Заметка от Cawfee , создано

2.17. Запрещено флудить, оффтопить, заниматься флеймом. 

Устное предупреждение.

Поделиться сообщением


Ссылка на сообщение
  • 0

Но можешь сделать лучше!

Сделай сток с определением координат администратора, при вводе команды /recon сделай функцию определения координат игрока объявляя сток, сделай таблицу в базе данных или столбец и сделай функцию INSERT INTO для вноса координат администратора. После ввода команды /reconoff сделай функцию на проверку этих координат и объявляй сток для спавна по этим координатам, после чего обнуляй строку с координатами администратора. Вуаля!

 

Если хочешь готовое решение, тебе в стол заказов либо в готовые решения!

Поделиться сообщением


Ссылка на сообщение
  • 0
hokageud
Завсегдатый

@Sergo_Alexeev бред, зачем это заносить в бд? можно использовать что-то подобное
new x,y,z;
GetPlayerPos(playerid, x,y,z);
SetPVarInt(playerid, "xpos", x);
SetPVarInt(playerid, "ypos", y);
SetPVarInt(playerid, "zpos", z);

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Sergo_Alexeev, предлагаю воздерживаться от употребления слова stock в качестве ключевого слова, объявляющего функцию. Здорово, что помогаете участникам форума, но не стоит людей погружать в мир своей же необразованности.

  открыть спойлер

 

Поделиться сообщением


Ссылка на сообщение
  • 0
good1luuck
Новичок

@Sergo_Alexeev Ну, тпшить откуда начал слежку, я же говорю, если админ начнёт слежку где-то в мэрии, его не тпшит назад в мэрию, а в рандом вирт мир. И где у меня вирт мир стоит 1?

У меня и так есть запись координат.

 

        GetPlayerPos(playerid, gPlayerPosition[playerid][0],gPlayerPosition[playerid][1],gPlayerPosition[playerid][2]);
        gPlayerInformation[playerid][0] = GetPlayerInterior(playerid);
        gPlayerInformation[playerid][1] = GetPlayerVirtualWorld(playerid);
// СИСТЕМА СЛЕЖКИ
new Float:gPlayerPosition[MAX_PLAYERS][3],
    gPlayerInformation[MAX_PLAYERS][2],
    PlayerText:ReconPlayerText[MAX_PLAYERS][7],
    gSpecID[MAX_PLAYERS],
    gSpecState[MAX_PLAYERS]
;

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • sinvays
      От sinvays
      Добрый день!
      Решил не отставать от сообщества копирайтеров да и особо мне было нечего делать, вот и подготовил собственную копию RUSSIA, которую планирую дорабатывать со временем если увижу отдачу на видеоролике в ютуб. На данный момент реализованы основные системы и визуальные обновления. Не всё ещё доведено до идеала, но масштабные функции уже работают как нужно. Сливаю мод от того что не вижу смысла его продавать.
      Обзор на YouTube
      Что уже сделано:
      Рабочая шахта (добыча золота, алмазов и угля);
      Система крафта (создание теслы, предметов и т.п.);
      Добавлены новые титулы + система «Мои титулы» (можно надевать и снимать);
      Новые костюмы;
      Обновлён парк у мэрии;
      Обновлён интерьер LSPD;
      Реализовано открытие дверей в здании полиции (частично);
      Обновлены эксклюзивные аксессуары;
      Исправлена покупка эксклюзивных авто;
      Добавлен пикап спавна транспорта организаций (учитывая штучность транспорта);
      Устранена уязвимость (дыра по SKY, через которую можно было крашить сервер);
      По многочисленным просьбам удалён weapon-config и все его связки.
       
      И это далеко не всё!
      Важное:
      Это первая версия мода. В дальнейшем буду дорабатывать и улучшать его по мере возможности если увижу отдачу на видеоролике в ютуб.
      Если у вас будут дополнения к системам или возникнут проблемы — пишите смело: vk.com/gta_lacoste.
      Я не до конца знаком с оригиналом проекта, но главная суть уже реализована, осталось только довести детали.
      Прошу писать мне прилагая скриншоты/видео, чтобы я наглядно видел как работает та или инная система представленная на проекта. Спасибо)
       
      Удачи в открытии копий, хулиганы! 😉
    • sinvays
      От sinvays


      Скачать файл RUSSIA RP 1.0 | 2025
      Добрый день!
      Решил не отставать от сообщества копирайтеров да и особо мне было нечего делать, вот и подготовил собственную копию RUSSIA, которую планирую дорабатывать со временем если увижу отдачу на видеоролике в ютуб. На данный момент реализованы основные системы и визуальные обновления. Не всё ещё доведено до идеала, но масштабные функции уже работают как нужно. Сливаю мод от того что не вижу смысла его продавать.
      Обзор на YouTube
      Что уже сделано:
      Рабочая шахта (добыча золота, алмазов и угля);
      Система крафта (создание теслы, предметов и т.п.);
      Добавлены новые титулы + система «Мои титулы» (можно надевать и снимать);
      Новые костюмы;
      Обновлён парк у мэрии;
      Обновлён интерьер LSPD;
      Реализовано открытие дверей в здании полиции (частично);
      Обновлены эксклюзивные аксессуары;
      Исправлена покупка эксклюзивных авто;
      Добавлен пикап спавна транспорта организаций (учитывая штучность транспорта);
      Устранена уязвимость (дыра по SKY, через которую можно было крашить сервер);
      По многочисленным просьбам удалён weapon-config и все его связки.
       
      И это далеко не всё!
      Важное:
      Это первая версия мода. В дальнейшем буду дорабатывать и улучшать его по мере возможности если увижу отдачу на видеоролике в ютуб.
      Если у вас будут дополнения к системам или возникнут проблемы — пишите смело: vk.com/gta_lacoste.
      Я не до конца знаком с оригиналом проекта, но главная суть уже реализована, осталось только довести детали.
      Прошу писать мне прилагая скриншоты/видео, чтобы я наглядно видел как работает та или инная система представленная на проекта. Спасибо)
       
      Удачи в открытии копий, хулиганы! 😉
      Добавил sinvays Добавлено 18.09.2025 Категория Моды Автор Angel Sinvays (Daddy Lacoste)  
    • Доналдо Фарекелка
      От Доналдо Фарекелка


      Скачать файл Arizona RolePlay || Ser
      Приветствую, этот мод я нашёл на просторах интернета. 
      Скачал мод у автора:  Developer Stravinskiy
      Доработал мод: Donaldo_Farekelka
       
      Предупреждаю! Мод сырой, багов стало меньше, но они есть.
      Мод: Баня, Подвал, В некоторых местах маппинг, система коронавируса, 8 лвл админок
       
      Информация:
      1) Dc_Cmd
      2) Mysql, mode, language - Всё настраивается теперь в pawno ( UPDATE: 1.1.0 )
      3) Административные права в данный момент можно выдать через /amakeadmin(Смотреть уроки) или БД ( UPDATE: 1.2.2 ).
       
      То что я сделал ( Всё что я делаю сейчас, смотрите в изменениях ):

      Как установить мод на хостинг(Чтобы больше не было вопросов в ЛС):
      RUTUBE: https://rutube.ru/video/f74276be05e090652ee46bcbe2b4e27d
      YOUTUBE: https://youtu.be/z07sJUAVQpI
      Добавил Доналдо Фарекелка Добавлено 13.04.2023 Категория Моды Автор shenol (vk.com/donaldo_farekelka)  
    • Maksim_Nemos
      От Maksim_Nemos
      Всех приветствую!
      Решил запустит на локальной сети сервер samp но при входе не открывается окно регистрации а в чат только пишет Connect to "Название Сервера прописанное в моде" и появляется курсор самп мышки и внизу кнопки < > spawn
      Скрин №1 и №2