Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Оператор пк
10 / 10 / 1
Регистрация: 09.08.2010
Сообщений: 158
#1

Ошибки в скриптах - C++

13.08.2012, 17:50. Просмотров 487. Ответов 6
Метки нет (Все метки)

Сам код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            }
 
        if (!_player->CanSpeak())
        {
            std::string timeStr = secsToTimeString(m_muteTime - time(NULL));
            SendNotification(GetTrinityString(LANG_WAIT_BEFORE_SPEAKING), timeStr.c_str());
            return;
        }        std::string sender;
                if ((sender->GetTotalPlayedTime() <= sWorld->getIntConfig(CONFIG_INT_CHAT_DISABLE_TIME)) && sender->GetSession()->GetSecurity() == SEC_PLAYER)
 
        {
 
            std::string adStr = secsToTimeString(sWorld->getIntConfig(CONFIG_INT_CHAT_DISABLE_TIME) - sender->GetTotalPlayedTime());
 
            SendNotification(GetTrinityString(LANG_DISABLE_CHAT), adStr.c_str());
 
            recv_data.rfinish();
 
            return;
 
        }

Сами ошибки

4>D:\Surce\Surce\mythCore\MythCore v24.x.xx\myth\myth\mythx1\mythx1\mythx1\src\server\game\Server\Protocol\Handlers\ChatHandler.cpp(172): error C2065: sender: необъявленный идентификатор
4>D:\Surce\Surce\mythCore\MythCore v24.x.xx\myth\myth\mythx1\mythx1\mythx1\src\server\game\Server\Protocol\Handlers\ChatHandler.cpp(172): error C2227: выражение слева от "->GetTotalPlayedTime" должно указывать на тип класса, структуры или объединения либо на универсальный тип
4> тип: 'unknown-type'
4>D:\Surce\Surce\mythCore\MythCore v24.x.xx\myth\myth\mythx1\mythx1\mythx1\src\server\game\Server\Protocol\Handlers\ChatHandler.cpp(172): error C2065: sender: необъявленный идентификатор
4>D:\Surce\Surce\mythCore\MythCore v24.x.xx\myth\myth\mythx1\mythx1\mythx1\src\server\game\Server\Protocol\Handlers\ChatHandler.cpp(172): error C2227: выражение слева от "->GetSession" должно указывать на тип класса, структуры или объединения либо на универсальный тип
4> тип: 'unknown-type'
4>D:\Surce\Surce\mythCore\MythCore v24.x.xx\myth\myth\mythx1\mythx1\mythx1\src\server\game\Server\Protocol\Handlers\ChatHandler.cpp(172): error C2227: выражение слева от "->GetSecurity" должно указывать на тип класса, структуры или объединения либо на универсальный тип
4>D:\Surce\Surce\mythCore\MythCore v24.x.xx\myth\myth\mythx1\mythx1\mythx1\src\server\game\Server\Protocol\Handlers\ChatHandler.cpp(176): error C2065: sender: необъявленный идентификатор
4>D:\Surce\Surce\mythCore\MythCore v24.x.xx\myth\myth\mythx1\mythx1\mythx1\src\server\game\Server\Protocol\Handlers\ChatHandler.cpp(176): error C2227: выражение слева от "->GetTotalPlayedTime" должно указывать на тип класса, структуры или объединения либо на универсальный тип
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include "ScriptPCH.h"
#include "Channel.h"
 
class System_Censure : public PlayerScript
{
public:
        System_Censure() : PlayerScript("System_Censure") {}
 
        void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg)
        {
                CheckMessage(player, msg, lang, NULL, NULL, NULL, NULL);
        }
 
        void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Player* receiver)
        {
                CheckMessage(player, msg, lang, receiver, NULL, NULL, NULL);
        }
 
        void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Group* group)
        {
                CheckMessage(player, msg, lang, NULL, group, NULL, NULL);
        }
 
        void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Guild* guild)
        {
                CheckMessage(player, msg, lang, NULL, NULL, guild, NULL);
        }
 
        void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Channel* channel)
        {
                CheckMessage(player, msg, lang, NULL, NULL, NULL, channel);
        }
 
void CheckMessage(Player* player, std::string& msg, uint32 lang, Player* /*receiver*/, Group* /*group*/, Guild* /*guild*/, Channel* channel)
{
    //if (player->isGameMaster() || lang == LANG_ADDON)
            //return;
 
    // transform to lowercase (for simpler checking)
    std::string lower = msg;
    std::transform(lower.begin(), lower.end(), lower.begin(), ::tolower);
 
    uint8 cheksSize = 7;
    std::string checks[cheksSize];
    checks[0] ="http://";
    checks[1] =".com";
    checks[2] =".net";
    checks[3] =".org";
    checks[4] =".ru";
    checks[5] ="rondor";
    checks[6] ="www.";
    for (int i = 0; i < cheksSize; ++i)
        if (lower.find(checks[i]) != std::string::npos)
        {
            msg = "";
            ChatHandler(player).PSendSysMessage("Реклама запрещена!");           
            return;
        }
}   
};
 
void AddSC_System_Censure()
{
    new System_Censure();
}
ошибки.
3>D:\Surce\Surce\mythCore\MythCore v24.x.xx\myth\myth\mythx1\mythx1\mythx1\src\server\scripts\Custom\System_Censure.cpp(44): error C2057: требуется константное выражение
3>D:\Surce\Surce\mythCore\MythCore v24.x.xx\myth\myth\mythx1\mythx1\mythx1\src\server\scripts\Custom\System_Censure.cpp(44): error C2466: невозможно выделить память для массива постоянного нулевого размера
3>D:\Surce\Surce\mythCore\MythCore v24.x.xx\myth\myth\mythx1\mythx1\mythx1\src\server\scripts\Custom\System_Censure.cpp(44): error C2133: checks: неизвестный размер
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2012, 17:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибки в скриптах (C++):

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private: int* a; size_t size_; ...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

О скриптах... - Web
Подскажите плз, есть ли такие скрипты/плагины/кмс которые тупо шарят папку с загрузками... чтоб, например написал раздел - &quot;Загрузки&quot; -...

Access в VB скриптах - MS Access
Хотелось бы узнать как работать с базами аксеса через html (запись-вывод данных). Все ето планируется делать либо через VBScript или Dhtml....

Онлайн тестирование на скриптах - JavaScript
Так народ я пролазил по просторам интернета пока ничего дельного не нашел. Хотел создать на главной странице к примеру после регистрации...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cossack5
54 / 48 / 1
Регистрация: 02.08.2012
Сообщений: 127
13.08.2012, 18:11 #2
#include <string> добавьте
0
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 908
13.08.2012, 18:16 #3
а почему код не весь, а кусками?
0
Оператор пк
10 / 10 / 1
Регистрация: 09.08.2010
Сообщений: 158
13.08.2012, 18:37  [ТС] #4
с первым кодом проблема решена остался только этот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include "ScriptPCH.h"
#include "Channel.h"
#include <string>
 
class System_Censure : public PlayerScript
{
public:
        System_Censure() : PlayerScript("System_Censure") {}
 
        void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg)
        {
                CheckMessage(player, msg, lang, NULL, NULL, NULL, NULL);
        }
 
        void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Player* receiver)
        {
                CheckMessage(player, msg, lang, receiver, NULL, NULL, NULL);
        }
 
        void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Group* group)
        {
                CheckMessage(player, msg, lang, NULL, group, NULL, NULL);
        }
 
        void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Guild* guild)
        {
                CheckMessage(player, msg, lang, NULL, NULL, guild, NULL);
        }
 
        void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Channel* channel)
        {
                CheckMessage(player, msg, lang, NULL, NULL, NULL, channel);
        }
 
void CheckMessage(Player* player, std::string& msg, uint32 lang, Player* /*receiver*/, Group* /*group*/, Guild* /*guild*/, Channel* channel)
{
    //if (player->isGameMaster() || lang == LANG_ADDON)
            //return;
 
    // transform to lowercase (for simpler checking)
    std::string lower = msg;
    std::transform(lower.begin(), lower.end(), lower.begin(), ::tolower);
 
    uint8 cheksSize = 7;
    std::string checks[cheksSize];
    checks[0] ="http://";
    checks[1] =".com";
    checks[2] =".net";
    checks[3] =".org";
    checks[4] =".ru";
    checks[5] ="rondor";
    checks[6] ="www.";
    for (int i = 0; i < cheksSize; ++i)
        if (lower.find(checks[i]) != std::string::npos)
        {
            msg = "";
            ChatHandler(player).PSendSysMessage("Реклама запрещена!");           
            return;
        }
}   
};
 
void AddSC_System_Censure()
{
    new System_Censure();
}
строка ошибки
C++
1
std::string checks[cheksSize];
сама ошибка
3>D:\Surce\Surce\mythCore\MythCore v24.x.xx\myth\myth\mythx1\mythx1\mythx1\src\server\scripts\Custom\System_Censure.cpp(45): error C2057: требуется константное выражение
3>D:\Surce\Surce\mythCore\MythCore v24.x.xx\myth\myth\mythx1\mythx1\mythx1\src\server\scripts\Custom\System_Censure.cpp(45): error C2466: невозможно выделить память для массива постоянного нулевого размера
3>D:\Surce\Surce\mythCore\MythCore v24.x.xx\myth\myth\mythx1\mythx1\mythx1\src\server\scripts\Custom\System_Censure.cpp(45): error C2133: checks: неизвестный размер
Добавлено через 14 минут
UP UP
0
Aloir
217 / 217 / 13
Регистрация: 17.12.2010
Сообщений: 689
13.08.2012, 18:52 #5
поидее
C++
1
const uint8 cheksSize = 7;
1
cossack5
54 / 48 / 1
Регистрация: 02.08.2012
Сообщений: 127
13.08.2012, 18:54 #6
или можно std::string* strs=new std::string[checksSize];
1
Оператор пк
10 / 10 / 1
Регистрация: 09.08.2010
Сообщений: 158
13.08.2012, 18:57  [ТС] #7
Спасибо решено

Добавлено через 2 минуты
Оба ответа подошли
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2012, 18:57
Привет! Вот еще темы с ответами:

Мелкая ошибка в скриптах - JavaScript
Доброго всем дня. Есть мой сайт http://www.artsmm.ru/konferenciya_smart_fox.html, на котором я сейчас тренируюсь. У меня две небольшие...

Длина имени в скриптах - VBScript/JScript
подскажите пжалуйста как в скриптах найти длину имени файла ? Добавлено через 38 секунд и сразу же следующий вопрсо как достать от...

Использование using System; в скриптах C# - Unity, Unity3D
Если я использую библиотеку using System; (или любую другую дотнетовскую) приложение будет работать на платформах отличных от Windows?

Динамические расчеты в ASP скриптах - C# ASP.NET
Нужно в веб форме aspx расчитать значение одного textbox на основе значений других textbox! ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.08.2012, 18:57
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru