Вопросы

R0m4ik
Новичок в PAWN

Всем привет, есть одна проблема я сделал такую штуку когда садишься в авто и заводишь двигатель показывается Название авто, И имя игрока

Я уже сделал данный текст но есть проблема когда я завожу двигатель надпись не показывается варнингов/ошибок в моде нету. Что делать? 

 

Вот надпись когда заводиться двигатель:

            format(totalstring, 64, " Заведен двигатель %s (( %s ))",VehicleNameS[GetVehicleModel(veh[playerid])-400],PlayerInfo[playerid][pSendername]);
            ProxDetectorNew(playerid,30.0,COLOR_PURPLE,totalstring);

Это когда он заглушается:

            format(totalstring, 64" Заглушен двигатель %s (( %s ))",VehicleNameS[GetVehicleModel(veh[playerid])-400],PlayerInfo[playerid][pSendername]);
            ProxDetectorNew(playerid,30.0,COLOR_PURPLE,totalstring);

 

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


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

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

  • 1
LoX_1337
Активный

@R0m4ik Если выдало предупреждение, закомментируйте. (// | /* */)

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

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


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

взял с своего мода попробуй)

 

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

 

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


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/24/2022 в 14:58, Mishunin сказал:

взял с своего мода попробуй)

 

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

 

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

C:\Users\Roma\Desktop\REVENT RP BY SOSED\gamemodes\justice.pwn(51569) : error 017: undefined symbol "GetPlayerDistance"

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


Ссылка на сообщение
  • 0
Mishunin
Освоившийся
  открыть спойлер

 

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


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/24/2022 в 15:52, Mishunin сказал:
  открыть спойлер

 

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

C:\Users\Roma\Desktop\REVENT RP BY SOSED\gamemodes\justice.pwn(51579) : error 017: undefined symbol "PointToPoint2D"

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


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

:ireful2: 

stock Float:PointToPoint2D(Float:x1,Float:y1,Float:x2,Float:y2)
{
    return floatsqroot(floatadd(floatpower(x2-x1,2),floatpower(y2-y1,2)));
}

 

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


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/24/2022 в 16:03, Mishunin сказал:

:ireful2: 

stock Float:PointToPoint2D(Float:x1,Float:y1,Float:x2,Float:y2)
{
    return floatsqroot(floatadd(floatpower(x2-x1,2),floatpower(y2-y1,2)));
}

 

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

Теперь мод скомпилися но появилось 2 варнинга они не влияют?

 

C:\Users\Roma\Desktop\REVENT RP BY SOSED\gamemodes\justice.pwn(51574) : warning 208: function with tag result used before definition, forcing reparse
C:\Users\Roma\Desktop\REVENT RP BY SOSED\gamemodes\justice.pwn(51581) : warning 208: function with tag result used before definition, forcing reparse

Варнинг1:

stock Float:GetPlayerDistanceToPlayer(playerid, targetid)

Варнинг2:

stock Float:PointToPoint2D(Float:x1,Float:y1,Float:x2,Float:y2)

UPD: Проверил в игре надпись также не появляется.

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

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


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

хмм, попробуй без авто, будет работать 
типо 

format(totalstring, 64" Заведен двигатель (( %s ))",PlayerInfo[playerid][pSendername]);
            ProxDetectorNew(playerid,30.0,COLOR_PURPLE,totalstring);

 

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

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


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/24/2022 в 16:32, Mishunin сказал:

хмм, попробуй без авто, будет работать 
типо 

format(totalstring, 64" Заведен двигатель (( %s ))",PlayerInfo[playerid][pSendername]);
            ProxDetectorNew(playerid,30.0,COLOR_PURPLE,totalstring);

 

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

Ну допустим варнинги я пофиксил но надписи все равно нету

а насчет попробовать без авто (я раньше и пробовал без авто щяс только решил реализовать.)

Просто в чем все дело я делаю копию популярного РП сервера и там есть эта система.

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

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


Ссылка на сообщение
  • 0
LoX_1337
Активный

@R0m4ik Я конечно не понимаю почему вас закидали ненужными функциями, но для начало попробуйте сделать отладку кода, возможно сам сток/паблик не срабатывает. Когда сделаете отладку кода, предоставьте нам информацию, с этой информацией уже будем работать.

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

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


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/24/2022 в 17:20, LoX_1337 сказал:

@R0m4ik Я конечно не понимаю почему вас закидали ненужными функциями, но для начало попробуйте сделать отладку кода, возможно сам сток/паблик не срабатывает. Когда сделаете отладку кода, предоставьте нам информацию, с этой информацией уже будем работать.

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

А как ее сделать?

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


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/24/2022 в 17:43, LoX_1337 сказал:

@R0m4ik Предоставьте полностью сток/паблик.

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

Вот:

 

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

 

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

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


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/24/2022 в 17:55, LoX_1337 сказал:

@R0m4ik Запуск двигателя.

Читать далее...  
  открыть спойлер

Это паблик.

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

А это у меня в OnPlayerKeyStateChange

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


Ссылка на сообщение
  • 0
LoX_1337
Активный

@R0m4ik 
 

if(newkeys == KEY_SUBMISSION)
{
    if(PlayerLogged[playerid] == 0return 1;
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    if(GetPVarInt(playerid, "InShop") > 0 || InShop[playerid] > 0return 1;
    new cars =0,temp = GetVehicleModel( GetPlayerVehicleID( playerid ) );
    for(new i; i != sizeof( BE_Bad_Vehs ); i++ )
    {
        if( temp == BE_Bad_Vehs[ i ] ) cars++;
    }
    if(Bonnet[GetPlayerVehicleID(playerid)] == truereturn SendClientMessage(playerid, COLOR_GREY, "Дождитесь, пока автомеханик отремонтирует транспорт!");
    if(Fuel[GetPlayerVehicleID(playerid)] <= 0 && cars == 0return SendClientMessage(playerid, COLOR_GREY, CarHasNoFuel);
    new Float:vehhealth;
    GetVehicleHealth(GetPlayerVehicleID(playerid), vehhealth);
    if(vehhealth <= 400 && cars == 00return SendClientMessage(playerid, COLOR_GREY, ""CarIsBroken"");
    if(Engine[GetPlayerVehicleID(playerid)] == false)
    {
        /*SetTimerEx("startengine",2000,0,"d",playerid);
        GameTextForPlayer(playerid, "ENGINE STARTED", 2000, 6);
        format(totalstring, 64, "%s пытается завести двигатель автомобиля", PlayerInfo[playerid][pSendername]);
        ProxDetectorNew(playerid,30.0,COLOR_PURPLE,totalstring);*/
        GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
        SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
        Engine[GetPlayerVehicleID(playerid)] = true;
        Lights[GetPlayerVehicleID(playerid)] = true;
        //format(totalstring, 64, " Заведен двигатель %s (( %s ))",VehicleNameS[GetVehicleModel(veh[playerid])-400],PlayerInfo[playerid][pSendername]);
        //ProxDetectorNew(playerid,30.0,COLOR_PURPLE,totalstring);
        format(totalstring,sizeof(totalstring), "Заведён двигатель %s", VehicleNameS[GetVehicleModel(/*veh*/GetPlayerVehicleID(playerid))-400]);
        DoAction(playerid, totalstring);
    }
    else
    {
        GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
        SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
        Engine[GetPlayerVehicleID(playerid)] = false;
        Lights[GetPlayerVehicleID(playerid)] = false;
        //format(totalstring, 64, " Заглушен двигатель %s (( %s ))",VehicleNameS[GetVehicleModel(veh[playerid])-400],PlayerInfo[playerid][pSendername]);
        //ProxDetectorNew(playerid,30.0,COLOR_PURPLE,totalstring);
        format(totalstring,sizeof(totalstring), "Заглушен двигатель %s", VehicleNameS[GetVehicleModel(/*veh*/GetPlayerVehicleID(playerid))-400]);
        DoAction(playerid, totalstring);
    }
}

 

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


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/24/2022 в 18:26, LoX_1337 сказал:

@R0m4ik 
 

if(newkeys == KEY_SUBMISSION)
{
    if(PlayerLogged[playerid] == 0return 1;
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    if(GetPVarInt(playerid, "InShop") > 0 || InShop[playerid] > 0return 1;
    new cars =0,temp = GetVehicleModel( GetPlayerVehicleID( playerid ) );
    for(new i; i != sizeof( BE_Bad_Vehs ); i++ )
    {
        if( temp == BE_Bad_Vehs[ i ] ) cars++;
    }
    if(Bonnet[GetPlayerVehicleID(playerid)] == truereturn SendClientMessage(playerid, COLOR_GREY, "Дождитесь, пока автомеханик отремонтирует транспорт!");
    if(Fuel[GetPlayerVehicleID(playerid)] <= 0 && cars == 0return SendClientMessage(playerid, COLOR_GREY, CarHasNoFuel);
    new Float:vehhealth;
    GetVehicleHealth(GetPlayerVehicleID(playerid), vehhealth);
    if(vehhealth <= 400 && cars == 00return SendClientMessage(playerid, COLOR_GREY, ""CarIsBroken"");
    if(Engine[GetPlayerVehicleID(playerid)] == false)
    {
        /*SetTimerEx("startengine",2000,0,"d",playerid);
        GameTextForPlayer(playerid, "ENGINE STARTED", 2000, 6);
        format(totalstring, 64, "%s пытается завести двигатель автомобиля", PlayerInfo[playerid][pSendername]);
        ProxDetectorNew(playerid,30.0,COLOR_PURPLE,totalstring);*/
        GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
        SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
        Engine[GetPlayerVehicleID(playerid)] = true;
        Lights[GetPlayerVehicleID(playerid)] = true;
        //format(totalstring, 64, " Заведен двигатель %s (( %s ))",VehicleNameS[GetVehicleModel(veh[playerid])-400],PlayerInfo[playerid][pSendername]);
        //ProxDetectorNew(playerid,30.0,COLOR_PURPLE,totalstring);
        format(totalstring,sizeof(totalstring), "Заведён двигатель %s", VehicleNameS[GetVehicleModel(/*veh*/GetPlayerVehicleID(playerid))-400]);
        DoAction(playerid, totalstring);
    }
    else
    {
        GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
        SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
        Engine[GetPlayerVehicleID(playerid)] = false;
        Lights[GetPlayerVehicleID(playerid)] = false;
        //format(totalstring, 64, " Заглушен двигатель %s (( %s ))",VehicleNameS[GetVehicleModel(veh[playerid])-400],PlayerInfo[playerid][pSendername]);
        //ProxDetectorNew(playerid,30.0,COLOR_PURPLE,totalstring);
        format(totalstring,sizeof(totalstring), "Заглушен двигатель %s", VehicleNameS[GetVehicleModel(/*veh*/GetPlayerVehicleID(playerid))-400]);
        DoAction(playerid, totalstring);
    }
}

 

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

А что вставлять в Veh?

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


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

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

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

    • watson
      От watson
      Привет всем!

      Выкладываю рабочий инструмент, который лично писал под задачи для крупных бонусных проектов. От меня недавно произошла доработка - теперь при записи маршрута сохраняются все сообщения, которые вы пишете в чат.
       
      Как это работает Запуск записи:
      Вводите /route с названием скрипта (или биндите на клавишу) — скрипт начинает фиксировать всё ваше передвижение (onfoot/incar/aim пакеты) и любые ваши сообщения в чат. Завершение:
      Ещё раз /route с названием скрипта или /stop — сохраняется маршрут вместе с чатом в файл формата .rt в папке MoonLoader/rakbotRoutes. Воспроизведение:
      Через команду !play <название> в консоли RakSamp LITE — бот воспроизводит маршрут один в один с вашими действиями, повторяет весь ввод, а так-же отправляет в чат все сохранённые сообщения (имитация через Enter). Поддержка цикла:
      Можно включить повтор маршрута (!loop), пока не надоест. Что важно в коде
      Запись всех синк-пакетов (движения, анимации, aim и т.д.):
      Пакеты по движению (onfoot/incar/aim) записываются подробно — никакой халтуры, каждое значение (позиция, кватернион, скорость, анимации, флаги и т.д.) фиксируется для полной копии.  

       
      Запись сообщений чата по индексам
      Каждое сообщение, которое отправляется в чат во время записи маршрута, сохраняется в отдельную таблицу с текущим индексом (counter). То есть при воспроизведении бот знает, на каком этапе какой текст нужно “цитировать” в чат.  

       
      Воспроизведение маршрута и чата
      На каждом этапе воспроизведения проверяется, было ли сообщение в этот момент — если да, оно “отправляется” как будто в оригинале, без задержек и рассинхрона. Пакеты проигрываются по индексу — как только доходит до конца, скрипт сам решает, останавливать ли выполнение или запускать по кругу (если включен loop).  

       
      Формат сохранения
      Файл маршрута содержит не только действия, но и отдельную секцию [chat], что позволяет воспроизвести всё как было, а не только беготню.  

       
       
      Если кому-то реально нужна автоматизация для бонусных серверов и не только как например фейковые игроки и вам важна последовательность действий и чата — этот инструмент сэкономит часы времени. Всё написано максимально просто для внедрения.

      P.S. Если есть определённые проблемы, вопросы или даже идеи для доработки — пишите.
      Desktop.zip
    • gooding
      От gooding
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.