• 0
MrNARTI

Подскажите пожалуйста код

Вопросы

Всем привет! 

Подскажите пожалуйста команду для переворота тс по айди тс.

 

все делаю для крмп!

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


Ссылка на сообщение
Поделиться на другие сайты

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

  • 0
#if !defined IsValidVehicle
    native IsValidVehicle(vehicleid);
#endif

CMD:flip(playerid, params[]) {
    if(sscanf(params, "d", params[0]))
        return SendClientMessage(playerid, -1"Используйте: /flip [vehicleid]");

    if(!IsValidVehicle(params[0]))
        return SendClientMessage(playerid, -1"Некорректный ID транспортного средства.");

    new Float:x, 
        Float:y, 
        Float:z,
        Float:angle;
    
    GetVehiclePos(params[0], x, y, z);
    GetVehicleZAngle(params[0], angle);

    SetVehiclePos(params[0], x, y, z + 1.5);
    SetVehicleZAngle(params[0], angle);
    return 1;
}

 

Отредактировано пользователем 𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧.

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0
  В 12/25/2024 в 18:05, 𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧. сказал:
#if !defined IsValidVehicle
    native IsValidVehicle(vehicleid);
#endif

CMD:flip(playerid, params[]) {
    if(sscanf(params, "d", params[0]))
        return SendClientMessage(playerid, -1"Используйте: /flip [vehicleid]");

    if(!IsValidVehicle(params[0]))
        return SendClientMessage(playerid, -1"Некорректный ID транспортного средства.");

    new Float:x, 
        Float:y, 
        Float:z,
        Float:angle;
    
    GetVehiclePos(params[0], x, y, z);
    GetVehicleZAngle(params[0], angle);

    SetVehiclePos(params[0], x, y, z + 1.5);
    SetVehicleZAngle(params[0], angle);
    return 1;
}

 

Читать далее...  

Чатгпт што ли? Командные процессоры существуют разные. Как и не все используют sscanf. Да и вот эта часть будет лишней:

 

#if !defined IsValidVehicle
    native IsValidVehicle(vehicleid);
#endif

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

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

@Web куда вставлять

 

  Цитата
#if !defined IsValidVehicle
    native IsValidVehicle(vehicleid);
#endif
Читать далее...  

 

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

@MrNARTI все кроме этого кода

но это при условии если командный процессор подойдет

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

@Web, с чего бы это gpt?)
Я в курсе, что командный процессор у всех разный и sscanf используют не все.
В первую очередь, это пример. Если мозгов хватит - скопирует то, что ему нужно.

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Если не чатгпт, то что это за гениальный мув? Это новая школа павн-кодинга или чо? Зачем это в конкретном случаи:

 

#if !defined IsValidVehicle
    native IsValidVehicle(vehicleid);
#endif

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0
 
  Цитата
J_RepairVehicle(carid)
{
    VehicleInfo[carid][vAntiRepair]=2;
    RepairVehicle(carid);
    VehicleHealth[carid] = 1000;
    return true;
}
Читать далее...  

 

 
  Цитата
CMD:flip(playerid, param[])
{
    new id;
    if(sscanf(param,"d",id)) return SendClientMessage(playerid,COLOR_GREEN,"[Подсказка] {FFFFFF}Используйте: /flip [ID]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_RED,"[Ошибка] {FFFFFF}Игрок не найден");
    if(IsPlayerNPC(playerid)) return SendClientMessage(playerid,COLOR_RED,"[Ошибка] {FFFFFF}Бота нельзя перевернуть");
    if(!IsPlayerLogged[id]) return SendClientMessage(playerid,COLOR_RED,"[Ошибка] {FFFFFF}Игрок не авторизирован");
    if(GetPlayerState(id)!=2) return SendClientMessage(playerid,COLOR_RED,"[Ошибка] {FFFFFF}Игрок не в машине!");
 
    new veh = GetPlayerVehicleID(id);
    new Float:X,Float:Y,Float:Z,Float:A;
    GetVehiclePos(veh,X,Y,Z);
    SetVehiclePos(veh,X,Y,Z);
    GetVehicleZAngle(veh, A);
    SetVehicleZAngle(veh, A);
    J_RepairVehicle(veh);
 
    new string[128];
    format(string,sizeof(string),"[A] %s[%d] флип'нул игрока %s[ID:%d]",PN(playerid),playerid,PN(id),id);
    SendAdminsMessage(COLOR_YELLOW,string);
    return true;
}
Читать далее...  

PN замени на свою переменную PlayerName 

Думаю примеров в этой теме достаточно, и ответ что выше написан не с помощью ГПТ, тут скорре всего ты не понимаешь логики.

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

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Ради своего же саморазвития - посети страницу функции на вики и почитай немного, иногда полезно.
Функция не объявлена ни в одном инклуде. Не объявишь ее в начале мода - получишь ошибки.

UPD: "новая школа павн-кодинга", вероятнее всего, даже не знает про эту функцию.

  В 12/26/2024 в 00:03, Web сказал:

Если не чатгпт, то что это за гениальный мув? Это новая школа павн-кодинга или чо? Зачем это в конкретном случаи:

#if !defined IsValidVehicle
    native IsValidVehicle(vehicleid);
#endif

 

Читать далее...  

Отредактировано пользователем 𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧.

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

@𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧. Да видишь ли, люди очень часто начали каким то магическим образом видеть что всё пишет Chat GPT, Но они скорее не понимают КАК он пишет код. Разработчик как он заявляет который работает с 2012 года ( не особо помню ) просто выкинул по приколу думая что всё на свете пишет нейросеть.

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0
  В 12/28/2024 в 22:23, angel_sinvays сказал:

@𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧. Да видишь ли, люди очень часто начали каким то магическим образом видеть что всё пишет Chat GPT, Но они скорее не понимают КАК он пишет код. Разработчик как он заявляет который работает с 2012 года ( не особо помню ) просто выкинул по приколу думая что всё на свете пишет нейросеть.

Читать далее...  

 

Про 2012 абсолютная правда, и даже раньше. Но последние года очень редко открываю редактор кода и игровые режимы. Многое уже забылось, да и есть возможность обойтись без

IsValidVehicle

 

то что ее надо объявлять, и она уже может быть объявлена, нужно было указать. Тогда бы и моей реакции не было вообще

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0
  В 12/28/2024 в 22:28, Web сказал:

что ее надо объявлять, и она уже может быть объявлена, нужно было указать

Читать далее...  

Автор для того и предусмотрел проверку: если эта библиотечная функция уже объявлена, тогда вновь ее объявление осуществлять не нужно (см. ниже).

  В 12/28/2024 в 22:28, Web сказал:

#if !defined IsValidVehicle

Читать далее...  

 

Не понимаю, зачем вы пытаетесь придраться на ровном месте.

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

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

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

    • Dev_Persona
      От Dev_Persona
      Приветствую всех, у меня возник такой вопрос:
       
      - хочу изменить базовую регистрацию в админке в крмп, на Болле сложную то-есть, сейчас изначально пароль от админки может быть только из цифр, хотелось бы узнать как можно было бы сделать что бы можно было использовать и цифры и буквы, вот код:
       
      case DIALOG_ADMIN_REG:
         {
          if(!response) return FixKick(playerid);
       
          if(strval(inputtext) < 100000 || strval(inputtext) > 999999) return ShowPlayerDialog(playerid, DIALOG_ADMIN_REG, DIALOG_STYLE_INPUT, "{FF6347}"PROJECT_NAME" {ffffff}| Придумайте пароль", "{FFFFFF}Для того, чтобы продолжить дальше - придумайте и введите\n{FFFFFF}пароль от панели администратора в диалоговое поле ниже.\n\n{FFFFFF}Пароль должен быть из 6 цифр.\n", "Готово", "");
                   SetPlayerData(playerid, P_APASS, strval(inputtext));
       
                   UpdatePlayerDatabaseInt(playerid, "AdminPassword", GetPlayerData(playerid, P_APASS));
       
                   AdminAuthorization(playerid);
         }
    • Danny_Marcelo
      От Danny_Marcelo
      Всех приветствую. Сегодня я решил обновить систему мероприятий, т.к. на самом проекте Advance RP уже давно видоизменили систему, добавили нового функционала. Мы не должны стоять на месте и я решил тоже свою систему доработать. Вы можете использовать данную систему как аналог Advance RP или же доработать для своего проекта. Все в ваших руках как говорится.
       
      Что нового?
       
      Итак приступим:
      Находим свои переменные и вставляем:
       
      new settp = 0; // Флаг включения/выключения телепортации new Float:TeleportFloat[3]; // Координаты точки телепортации new TeleportInfo[2]; // Интерьер и виртуальный мир new Float:PlayerLastPos[MAX_PLAYERS][3]; // Последние координаты игрока new PlayerLastInt[MAX_PLAYERS]; // Последний интерьер игрока new PlayerLastVW[MAX_PLAYERS]; // Последний виртуальный мир игрока new PlayerWeapons[MAX_PLAYERS][13][2]; // Оружие игрока (слот и патроны) new PlayerUsedTP[MAX_PLAYERS]; // Флаг для отслеживания использования /tp  
      Далее идём в команды, мой случай на Pawn.CMD, но +/- везде одинаково, разве что меняется шапка
       
      CMD:settp(playerid, params[]) {     if (PlayerInfo[playerid][pAdmin] < 4) return 1;     new string[95];     if (settp == 0)     {         GetPlayerPos(playerid, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]);         TeleportInfo[0] = GetPlayerInterior(playerid);         TeleportInfo[1] = GetPlayerVirtualWorld(playerid);         settp = 1;         format(string, sizeof(string), "[A] %s[%d] установил точку телепорта для игроков. {00CC00}ТП включен.", PlayerInfo[playerid][pName], playerid);         SendAdminMessage(0x52B2B5FF, string);     }     else     {         format(string, sizeof(string), "[A] %s[%d] удалил точку телепорта для игроков. {FF6600}ТП отключен.", PlayerInfo[playerid][pName], playerid);         SendAdminMessage(0x52B2B5FF, string);         settp = 0;     }     return 1; } CMD:tp(playerid, params[]) {     if (settp == 0) return SendClientMessage(playerid, 0xCECECEFF, !"Функция отключена администратором.");     if (PlayerInfo[playerid][pJailed] >= 1) return SendClientMessage(playerid, 0xCECECEFF, !"Арестованным не разрешено покидать камеру.");     if (PlayerInfo[playerid][pRabota] != 0) return SendClientMessage(playerid, 0xCECECEFF, !"Необходимо завершить все начатые работы и активные действия.");     if (bolkam[playerid] == true) return SendClientMessage(playerid, 0xCECECEFF, !"Необходимо завершить все начатые работы и активные действия.");     GetPlayerPos(playerid, PlayerLastPos[playerid][0], PlayerLastPos[playerid][1], PlayerLastPos[playerid][2]);     PlayerLastInt[playerid] = GetPlayerInterior(playerid);     PlayerLastVW[playerid] = GetPlayerVirtualWorld(playerid);     for (new i = 0; i < 13; i++)     {         GetPlayerWeaponData(playerid, i, PlayerWeapons[playerid][i][0], PlayerWeapons[playerid][i][1]);     }     PlayerUsedTP[playerid] = 1;     ShowPlayerDialog(playerid, 22, DIALOG_STYLE_MSGBOX, !"{6699FF}Телепортация",         !"{FFFFFF}Вы уверены, что хотите попасть на место проведения мероприятия?\n{FFCD00}Ваше оружие будет изъято для хранения и возвращено позже.", !"Да", !"Нет");     return 1; }  
       
      CMD:back(playerid, params[]) {     if (!PlayerUsedTP[playerid])     {         return SendClientMessage(playerid, 0xCECECEFF, !"Эту функцию можно использовать после {FF9933}/tp, /go {CECECE}или по окончании {FF9933}мероприятий");     }     SetPlayerPos(playerid, PlayerLastPos[playerid][0], PlayerLastPos[playerid][1], PlayerLastPos[playerid][2]);     SetPlayerInterior(playerid, PlayerLastInt[playerid]);     SetPlayerVirtualWorld(playerid, PlayerLastVW[playerid]);     ResetPlayerWeapons(playerid);     for (new i = 0; i < 13; i++)     {         if (PlayerWeapons[playerid][i][0] != 0)         {             GivePlayerWeapon(playerid, PlayerWeapons[playerid][i][0], PlayerWeapons[playerid][i][1]);         }     }     PlayerUsedTP[playerid] = 0;     SendClientMessage(playerid, 0x3399FFFF, !"Вы вернулись туда, где были до телепортации");     return 1; } Ну и в OnDialogResponse:
      case 22: // Не забудьте проверить и при надобности изменить id диалога на вашу цифру или ID_NAME         {             if (response)             {                 SetPlayerPos(playerid, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]);                 SetPlayerInterior(playerid, TeleportInfo[0]);                 SetPlayerVirtualWorld(playerid, TeleportInfo[1]);                 ResetPlayerWeapons(playerid);                 SendClientMessage(playerid, 0x66CCFFFF, "Вы были доставлены на место проведения мероприятия");                 SendClientMessage(playerid, 0x66CCFFFF, "Чтобы вернуться обратно, введите {FF9900}/back");             }         } Скриншоты:
       
      Если игрок сидит в КПЗ и вводит /tp:

       
      При включенном /tp:

       
      При выключенном /tp:

       
      Сообщение администраторам:

       
      Если работаешь или лечишься в больнице:

       
      Текст после телепортации:

       
      При вводе /back 1 и более раз:

       
      P.S. Команду /tp на Advance можно нажимать бесконечно, по этому я не стал сюда пихать аналогичную проверку как в /back.
      Если что, не сложно будет добавить 1 строчку проверки. Просто имейте ввиду, что это не баг. Просто нужно же соответствовать названию темы "На 100% КОПИЯ"))
       
      Автор: Danny_Marcelo
      Размещая на другие порталы, обязательно указать автора