Вопросы по PAWN скриптингу

#SameLine

Активный
421
38
Логично, что для того, чтобы отобразить поверх основного худа серверный худ с правильным хп игрока, следует это хп получить. Можно осуществить поиск по функции GetPlayerHealth и посмотреть какие переменные её принимают или где вообще эта функция используется (как в самом гейммоде, так и в .pwn файлах дополнений*, т.е подключенных тобою фильтрскриптов в конфиге).

Непосредственно сам хп бар представлен в виде постоянно обновляющегося в зависимости от уровня хп, полученного вышеуказанной функцией текстдрава; соответственно отображается данное состояние здоровья уже через функцию показа ТекстДрава (на скрине ниже прикреплена часть кода из weapon-config.include).
upd: кстати, это касается не только файлов дополнений pwn; подключенные инклюды (например, всяких других античитов) в шапке мода также могут быть причиной (тому пример тот же самоый вейпон конфиг)
Посмотреть вложение 241364
Конечно же я проверил получение хп и наличие текстдравов, но ничего не нашел, абсолютно также пробовал full выгрузить weapon-config, хп бар не ушел, нов самом инклюде нашел строки почти в точности как на скрине, удалил, хп бар не пропал, скорее всего это был текстдрав и дамаг информер около радара или что-то еще. Коротко говоря это тоже не оно, но при этом нигде не могу найти
 

BaiYun

Участник
43
3
Доброго времени суток всем
Пишу самописный мод и во время создания интерактивного шлагбаума столкнулся с проблемой
Сам код поднятия и опускания шлагбаума -
Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_CROUCH)
    {
        if(IsPlayerInRangeOfPoint(playerid, 15.0, 1811.40, -1893.26, 13.80))
        {
            MoveObject(shlakbaum, 1811.3740, -1893.2366, 13.2000+0.04, 0.04, 0.00, 0.00, 90.00);
            shlakbaumIsOpen[playerid] = true;
            SetTimer("SlakxClose", 1000, false);
        }
    }
    return 1;
}


public SlakxClose(playerid)
{
    if (shlakbaumIsOpen[playerid])
    {
        MoveObject(shlakbaum, 1811.40, -1893.26, 13.80-0.004, 0.004, 0.00, 90.00, 90.00);
        shlakbaumIsOpen[playerid] = false;
    }
}
Во время компиляции выходит такая ошибка
Error:
error 025: function heading differs from prototype
Жалуется на строку вызова функции SlakxClose(), тобиж строка SetTimer("SlakxClose", 1000, false);
Все уже перерыл, у чатгпт спросил
Никто ниче не знает
Help me pls !
 

Ну погоди!

Активный
158
55
Доброго времени суток всем
Пишу самописный мод и во время создания интерактивного шлагбаума столкнулся с проблемой
Сам код поднятия и опускания шлагбаума -
Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_CROUCH)
    {
        if(IsPlayerInRangeOfPoint(playerid, 15.0, 1811.40, -1893.26, 13.80))
        {
            MoveObject(shlakbaum, 1811.3740, -1893.2366, 13.2000+0.04, 0.04, 0.00, 0.00, 90.00);
            shlakbaumIsOpen[playerid] = true;
            SetTimer("SlakxClose", 1000, false);
        }
    }
    return 1;
}


public SlakxClose(playerid)
{
    if (shlakbaumIsOpen[playerid])
    {
        MoveObject(shlakbaum, 1811.40, -1893.26, 13.80-0.004, 0.004, 0.00, 90.00, 90.00);
        shlakbaumIsOpen[playerid] = false;
    }
}
Во время компиляции выходит такая ошибка
Error:
error 025: function heading differs from prototype
Жалуется на строку вызова функции SlakxClose(), тобиж строка SetTimer("SlakxClose", 1000, false);
Все уже перерыл, у чатгпт спросил
Никто ниче не знает
Help me pls !
forward SlakxClose(playerid); добавь перед пабликом
 
  • Клоун
Реакции: zhangfx111

zhangfx111

Участник
71
11
Доброго времени суток всем
Пишу самописный мод и во время создания интерактивного шлагбаума столкнулся с проблемой
Сам код поднятия и опускания шлагбаума -
Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_CROUCH)
    {
        if(IsPlayerInRangeOfPoint(playerid, 15.0, 1811.40, -1893.26, 13.80))
        {
            MoveObject(shlakbaum, 1811.3740, -1893.2366, 13.2000+0.04, 0.04, 0.00, 0.00, 90.00);
            shlakbaumIsOpen[playerid] = true;
            SetTimer("SlakxClose", 1000, false);
        }
    }
    return 1;
}


public SlakxClose(playerid)
{
    if (shlakbaumIsOpen[playerid])
    {
        MoveObject(shlakbaum, 1811.40, -1893.26, 13.80-0.004, 0.004, 0.00, 90.00, 90.00);
        shlakbaumIsOpen[playerid] = false;
    }
}
Во время компиляции выходит такая ошибка
Error:
error 025: function heading differs from prototype
Жалуется на строку вызова функции SlakxClose(), тобиж строка SetTimer("SlakxClose", 1000, false);
Все уже перерыл, у чатгпт спросил
Никто ниче не знает
Help me pls !
А если так?

фвы:
// Определяем глобальную переменную для хранения состояния шлагбаума
new bool:shlakbaumIsOpen;

// Функция для обработки изменения состояния клавиш игрока
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_CROUCH)
    {
        if(IsPlayerInRangeOfPoint(playerid, 15.0, 1811.40, -1893.26, 13.80))
        {
            // Поднимаем шлагбаум
            MoveObject(shlakbaum, 1811.3740, -1893.2366, 13.2000 + 0.04, 0.04, 0.00, 0.00, 90.00);
            shlakbaumIsOpen = true;
            // Устанавливаем таймер для закрытия шлагбаума через 1 секунду
            SetTimer("SlakxClose", 1000, false);
        }
    }
    return 1;
}

// Функция для закрытия шлагбаума
public SlakxClose(timerid)
{
    if (shlakbaumIsOpen)
    {
        // Опускаем шлагбаум
        MoveObject(shlakbaum, 1811.40, -1893.26, 13.80 - 0.004, 0.004, 0.00, 90.00, 90.00);
        shlakbaumIsOpen = false;
    }
}
 
  • Клоун
Реакции: Ну погоди!

BaiYun

Участник
43
3
И еще раз всем салам
Все та же проблема с модом
Проблема такова - Подключил к бд, закинул на хост для теста, захожу на сервер, нет диалога авторизации и через ~8 сек сервер перезагружается и перестает отвечать
на хосте пишется что сервер включен и работает нормально, то есть никаких нареканий
С базой данных никаких взаимодействий, только подключение и все
 

XRLM

Против ветра рождённый
Модератор
1,518
1,105
И еще раз всем салам
Все та же проблема с модом
Проблема такова - Подключил к бд, закинул на хост для теста, захожу на сервер, нет диалога авторизации и через ~8 сек сервер перезагружается и перестает отвечать
на хосте пишется что сервер включен и работает нормально, то есть никаких нареканий
С базой данных никаких взаимодействий, только подключение и все
зайди в консоль и посмотри ошибки, мы тебе чо тут телепаты?
 

XRLM

Против ветра рождённый
Модератор
1,518
1,105
В логах сервера ничего
А вот в логах mysql ошибка подключения к бд, но это можно оправдать тем что сервер и бд на одном хосте
а ты хочешь чтобы у тебя сервер без бд заработал каким то чудом?
 

BaiYun

Участник
43
3
покажи как ты данные подключения вводишь
1718789962370.png


покажи как ты данные подключения вводишь
1718789985117.png

Вот подключение, в паблике OnGameModeInit
 

XRLM

Против ветра рождённый
Модератор
1,518
1,105
ошибку какую выдает в логе?

блять, у тебя ошибка в юзере, пиши туда root