• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
C++ не видит функцию
Narko94
Рыцарь
Всем привет, может кто нибудь сможет мне помочь.
Пример:

файл к примеру: src/server/scripts/Custom/test.cpp
Код
#include "ScriptPCH.h"
#include "Channel.h"

void ms_test(Player* pl)
{
   ChatHandler(pl).PSendSysMessage("тестовое сообщение");
}

class ts_msg : public PlayerScript
{
        public:
                ts_msg() : PlayerScript("ts_msg"){}
 
        void OnPVPKill(Player *killer, Player *victim)
        {
                            ms_test(killer);
        }
};
 
void AddSC_ts_msg()
{
        new ts_msg();
}


Собственно, компилируется всё отлично (linux), но в игре не выводит сообщение.

Если делать без функции, то сообщение выводиться. Собственно в чём проблема? Почему он не видит функции?
[blizz]Судить меня дано лишь богу, другим я укажу дорогу
[/blizz]
Сообщение # 1 написано 07.01.2016 в 17:08
p620
Маршал
Название темы полностью противоречит содержанию. Если все отлично компилируется и компонуется, то как эта функция может быть не видна (вопрос риторический)?

Для начала попробуйте изменить кодировку файла на UTF-8 без BOM.
Сообщение # 2 отредактировано p620 - Четверг, 07.01.2016, 23:16
Narko94
Рыцарь
Цитата p620 ()
Название темы полностью противоречит содержанию. Если все отлично компилируется и компонуется, то как эта функция может быть не видна (вопрос риторический)?Для начала попробуйте изменить кодировку файла на UTF-8 без BOM.
    Ты глупый или да?

Вот так вот, не видит функции.
Какую бы я функцию не написал, он её не выполняет.

Если не знаешь, зачем флудить?
[blizz]Судить меня дано лишь богу, другим я укажу дорогу
[/blizz]
Сообщение # 3 написано 08.01.2016 в 00:51
p620
Маршал
Цитата Narko94 ()
Ты глупый или да?

Вот так вот, не видит функции.
Какую бы я функцию не написал, он её не выполняет.

Если не знаешь, зачем флудить?

Так и знал, что никнейм не случайно был выбран.
Глупый, судя по всему, Вы. Нехорошо лезть в темы, требующие знания языка, знанием при этом не обладая. Но еще хуже делать при этом вид, что все в точности наоборот, и дураками называть других.
Я Вам предоставил возможное решение проблемы (о чем уже несколько раз пожалел).

Как Вы проверили, что функция "не вызывается"? Сообщением в чат? Может стоит для начала проверить, отрабатывает ли хук? И не сообщением в чат, а принтом в консоль каким-нибудь? А потом, ну не знаю, таким же принтом проверить саму функцию, или это слишком безумный вариант?
Сообщение # 4 отредактировано p620 - Пятница, 08.01.2016, 02:01
Narko94
Рыцарь
Цитата p620 ()
Так и знал, что никнейм не случайно был выбран.
Глупый, судя по всему, Вы. Нехорошо лезть в темы, требующие знания языка, знанием при этом не обладая. Но еще хуже делать при этом вид, что все в точности наоборот, и дураками называть других.
Я Вам предоставил возможное решение проблемы (о чем уже несколько раз пожалел).

Как Вы проверили, что функция "не вызывается"? Сообщением в чат? Может стоит для начала проверить, отрабатывает ли хук? И не сообщением в чат, а принтом в консоль каким-нибудь? А потом, ну не знаю, таким же принтом проверить саму функцию, или это слишком безумный вариант?


Я смотрю ты валенок читать не научился, да?

Выше писал, если без функции, специально код для тебя напишу ибо ты тупой как валенок:
Код

#include "ScriptPCH.h"
#include "Channel.h"

class ts_msg : public PlayerScript
{
        public:
                ts_msg() : PlayerScript("ts_msg"){}

        void OnPVPKill(Player *killer, Player *victim)
        {
                            ChatHandler(killer).PSendSysMessage("тестовое сообщение");
        }
};

void AddSC_ts_msg()
{
        new ts_msg();
}


То сообщение выводиться, патч работает.
Он именно функцию не выполняет!!!

Ты на столько тупой и думаешь, что я не пробывал до тебя менять кодировку файла?

Ты уныл и глуп, явный ноу нейм и ещё возникаешь. Иди мимо темы, я уже писал не разводи флуд.
[blizz]Судить меня дано лишь богу, другим я укажу дорогу
[/blizz]
Сообщение # 5 написано 08.01.2016 в 02:36
p620
Маршал
Сделаю вид, что Вы не повели себя, как хамоватая наглая деревенщина, и посоветую полностью отключить оптимизацию компиляции и перекомпилировать файл, а затем перекомпоновать программу.

Функция описана, и если Вы не используете какие-то сторонние извращения / не накосячили где-то еще, то пропускаться она не может никак, учитывая предоставленную Вами информацию и стандартный TrinityCore.
Было бы совсем замечательно, если бы Вы на всякий случай указали используемую ревизию, ибо в моей конструктор ChatHandler'а по указателю на Player не объявлен.
Сообщение # 6 отредактировано p620 - Пятница, 08.01.2016, 04:33
Incorrect
Капрал
Исходя из предоставленной вами информации невозможно определить в чем заключается проблема, на ум приходит только неверная кодировка файла.
Сообщение # 7 написано 08.01.2016 в 12:33
FreeCat
Капрал
p620, полностью тебя поддерживаю, поставьте Utf-8, если же вы не хотите ставить utf8 то попробуйте свое тестовое сообщение записать в виде test message и проверить будет ли оно писать
Сообщение # 8 написано 09.01.2016 в 11:31
  • Страница 1 из 1
  • 1
Поиск: