Nah nekem van egy olyan hibám, hogy csináltam egy Buffer NPC-t és windows-on le ir fordul az emulátorba, és működik is le teszteltem de amint alinuxon akarom leforgatni hibát ír ki!
Ezt kapom hibának linuxon:
[ 34%] Building CXX object src/server/scripts/CMakeFiles/scripts.dir/Custom/npc_buffer.cpp.o
/home/XX/XXX/server4/src/server/scripts/Custom/npc_buffer.cpp:1: error: stray '\357' in program
/home/XX/XXX/server4/src/server/scripts/Custom/npc_buffer.cpp:1: error: stray '\273' in program
/home/XX/XXX/server4/src/server/scripts/Custom/npc_buffer.cpp:1: error: stray '\277' in program
make[2]: *** [src/server/scripts/CMakeFiles/scripts.dir/Custom/npc_buffer.cpp.o] Error 1
make[1]: *** [src/server/scripts/CMakeFiles/scripts.dir/all] Error 2
Ezt pedig windows-on hogy lefordul és helyes a Script:
9>------ Build started: Project: worldserver, Configuration: Release Win32 ------
9> Creating library E:/sciptek3/src/server/worldserver/Release/worldserver.lib and object E:/sciptek3/src/server/worldserver/Release/worldserver.exp
9> worldserver.vcxproj -> E:\sciptek3\bin\Release\worldserver.exe
10>------ Build started: Project: ALL_BUILD, Configuration: Release Win32 ------
11>------ Skipped Build: Project: INSTALL, Configuration: Release Win32 ------
11>Project not selected to build for this solution configuration
========== Build: 10 succeeded, 0 failed, 6 up-to-date, 1 skipped ==========
Szal nem értem itt a Script:
/* ScriptData
SDName: Buffer NPC
SD%Complete: 100%
Created By Zedin!
*/
#include "ScriptPCH.h"
enum Spells
{
SPELL_Fortitude = 48161,
SPELL_Greater_Blessing_of_Kings = 25898,
SPELL_Greater_Bleesing_of_Mights = 48934,
SPELL_Greater_Blessing_of_Wisdom = 48938,
SPELL_MARK_OF_THE_WILD = 48469,
SPELL_Arcane_Intellect = 42995,
SPELL_Thorns = 47883,
SPELL_Divine_Spirit = 53307,
SPELL_Shadow_Protection = 48073,
SPELL_Soul_Stone = 48169,
};
#define GOSSIP_ITEM_1 "[Buff]Power Word: Fortitude, Rank 8"
#define GOSSIP_ITEM_2 "[Buff]Greater Blessing of Kings"
#define GOSSIP_ITEM_3 "[Buff]Greater Bleesing of Mights"
#define GOSSIP_ITEM_4 "[Buff]Greater Blessing of Wisdom"
#define GOSSIP_ITEM_5 "[Buff]Mark of the Wild, Rank 9"
#define GOSSIP_ITEM_6 "[Buff]Arcane Intellect, Rank 7"
#define GOSSIP_ITEM_7 "[Buff]Thorns, Rank 8"
#define GOSSIP_ITEM_8 "[Buff]Divine Spirit, Rank 8"
#define GOSSIP_ITEM_9 "[Buff]Shadow Protection, Rank 5"
#define GOSSIP_ITEM_10 "[Buff]Soul Stone"
class npc_buff : public CreatureScript
{
public:
npc_buff()
: CreatureScript("npc_buff")
{
}
bool OnGossipHello(Player* pPlayer, Creature* pCreature)
{
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
pPlayer->SEND_GOSSIP_MENU(907, pCreature->GetGUID());
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
pPlayer->SEND_GOSSIP_MENU(907, pCreature->GetGUID());
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
pPlayer->SEND_GOSSIP_MENU(907, pCreature->GetGUID());
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
pPlayer->SEND_GOSSIP_MENU(907, pCreature->GetGUID());
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
pPlayer->SEND_GOSSIP_MENU(907, pCreature->GetGUID());
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
pPlayer->SEND_GOSSIP_MENU(907, pCreature->GetGUID());
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_7, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7);
pPlayer->SEND_GOSSIP_MENU(907, pCreature->GetGUID());
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_8, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8);
pPlayer->SEND_GOSSIP_MENU(907, pCreature->GetGUID());
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_9, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9);
pPlayer->SEND_GOSSIP_MENU(907, pCreature->GetGUID());
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_10, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10);
pPlayer->SEND_GOSSIP_MENU(907, pCreature->GetGUID());
return true;
}
bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction)
{
switch(uiAction)
{
case GOSSIP_ACTION_INFO_DEF+1:
pCreature->CastSpell(pPlayer, SPELL_Fortitude, true);
pPlayer->CLOSE_GOSSIP_MENU();
break;
case GOSSIP_ACTION_INFO_DEF+2:
pCreature->CastSpell(pPlayer, SPELL_Greater_Blessing_of_Kings, true);
pPlayer->CLOSE_GOSSIP_MENU();
break;
case GOSSIP_ACTION_INFO_DEF+3:
pCreature->CastSpell(pPlayer, SPELL_Greater_Bleesing_of_Mights, true);
pPlayer->CLOSE_GOSSIP_MENU();
break;
case GOSSIP_ACTION_INFO_DEF+4:
pCreature->CastSpell(pPlayer, SPELL_Greater_Blessing_of_Wisdom, true);
pPlayer->CLOSE_GOSSIP_MENU();
break;
case GOSSIP_ACTION_INFO_DEF+5:
pCreature->CastSpell(pPlayer, SPELL_MARK_OF_THE_WILD, true);
pPlayer->CLOSE_GOSSIP_MENU();
break;
case GOSSIP_ACTION_INFO_DEF+6:
pCreature->CastSpell(pPlayer, SPELL_Arcane_Intellect, true);
pPlayer->CLOSE_GOSSIP_MENU();
break;
case GOSSIP_ACTION_INFO_DEF+7:
pCreature->CastSpell(pPlayer, SPELL_Thorns, true);
pPlayer->CLOSE_GOSSIP_MENU();
break;
case GOSSIP_ACTION_INFO_DEF+8:
pCreature->CastSpell(pPlayer, SPELL_Divine_Spirit, true);
pPlayer->CLOSE_GOSSIP_MENU();
break;
case GOSSIP_ACTION_INFO_DEF+9:
pCreature->CastSpell(pPlayer, SPELL_Shadow_Protection, true);
pPlayer->CLOSE_GOSSIP_MENU();
break;
case GOSSIP_ACTION_INFO_DEF+10:
pCreature->CastSpell(pPlayer, SPELL_Soul_Stone, true);
pPlayer->CLOSE_GOSSIP_MENU();
break;
}
return true;
}
};
void AddSC_npc_buff()
{
new npc_buff();
}
Általában include hibák szoktak lenni linux-on, próbálj még betenni egy Spell.h-t.
#include "Spell.h" -ra gondolsz????
igen, arra gondol.
Sajnos ugyan azt a hibát kaptam vissza.....:S Esetleg valami más megoldás????
A script file-t töltsd (esetleg csomagold is be) fel valahova, pl filebeam-re.
Elég gyanús azaz első sor, szerintem van ott valami karakter, amit nem lát a szövegszerkesztőd.
Milyen szövegszerkesztőt használsz?
ömm Microsoft Visual C++-ban írtam meg nem szövegszerkesztővel.... de ott van a konkrét script file amit látsz azt tudod hasznosítani....de ha gondolod feltöltöm...
Filebeam (http://filebeam.com/7bf737c16497a62232d5596bac76d199)
Linux alatt kicsit mást látni a file-ban:
/*
Buffer Npc Sickness Leszedővel.
*/^M#include "ScriptPCH.h"^M^Menum eEnums
{
SPELL_POLYMORPH = 12826,
SPELL_MARK_OF_THE_WILD = 26990,
SAY_NOT_INTERESTED = -1999922,
SAY_WRONG = -1999923,
SAY_CORRECT = -1999924
};^M#define GOSSIP_ITEM_1 "A quiz: what's your name?"
#define GOSSIP_ITEM_2 "I'm not interested"^M^Mclass npc_buff : public CreatureScript
{
public:
npc_buff() : CreatureScript("npc_buff") { }
bool OnGossipHello(Player* pPlayer, Creature* pCreature)
{
pPlayer->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1, "", 0, true);
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
pPlayer->PlayerTalkClass->SendGossipMenu(907, pCreature->GetGUID());
return true;
}
bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction)
{
pPlayer->PlayerTalkClass->ClearMenus();
if (uiAction == GOSSIP_ACTION_INFO_DEF+2)
{
DoScriptText(SAY_NOT_INTERESTED, pCreature);
pPlayer->CLOSE_GOSSIP_MENU();
}
return true;
}
bool OnGossipSelectCode(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction, const char* code)
{
pPlayer->PlayerTalkClass->ClearMenus();
if (uiSender == GOSSIP_SENDER_MAIN)
{
switch (uiAction)
{
case GOSSIP_ACTION_INFO_DEF+1:
if (std::strcmp(code, pPlayer->GetName()) != 0)
{
DoScriptText(SAY_WRONG, pCreature);
pCreature->CastSpell(pPlayer, SPELL_POLYMORPH, true);
}
else
{
DoScriptText(SAY_CORRECT, pCreature);
pCreature->CastSpell(pPlayer, SPELL_MARK_OF_THE_WILD, true);
}
pPlayer->CLOSE_GOSSIP_MENU();
return true;
}
}
return false;
}
};
void AddSC_npc_buff()
{
new npc_buff();
}
Én ezt látom vim-vel.
Valószínűleg ezek okozzák a gondot: ^M^
értem és én ezt mivel tudom kiküszöbölni???
notepad++
Gedit linuxon...
hm.... Rendben megnézem notepad++-on....:)