Informatikai Barkács Fórum

WORLD OF WARCRAFT SZERVER => Script => A témát indította: Locutus Dátum 2012 december 08, 03:13:43 DÉLUTÁN

Cím: Forgatási hiba!
Írta: Locutus Dátum 2012 december 08, 03:13:43 DÉLUTÁN
Sziasztok!

Valakinek erre lenne tippe??
3>   Creating library D:\WOW SZERVER\Szerver futtató\src\server\worldserver\Release\worldserver.lib and object D:\WOW SZERVER\Szerver futtató\src\server\worldserver\Release\worldserver.exp
3>game.lib(ScriptLoader.obj) : error LNK2019: unresolved external symbol "void __cdecl AddSC_staff_login(void)" (?AddSC_staff_login@@YAXXZ) referenced in function "void __cdecl AddCustomScripts(void)" (?AddCustomScripts@@YAXXZ)
3>game.lib(ScriptLoader.obj) : error LNK2019: unresolved external symbol "void __cdecl AddSC_vipcommands(void)" (?AddSC_vipcommands@@YAXXZ) referenced in function "void __cdecl AddCustomScripts(void)" (?AddCustomScripts@@YAXXZ)


Előre is köszönöm
Üdv Locutus
Cím: Re:Forgatási hiba!
Írta: heisenberg Dátum 2012 december 08, 09:53:15 DÉLUTÁN
Az említett két függvény nincs definiálva. Vagy nem adtad hozzá őket, vagy nem fordítod le (nincs a projektben) a forrásfájlt.
Cím: Re:Forgatási hiba!
Írta: Locutus Dátum 2012 december 08, 10:06:58 DÉLUTÁN
Pedig benne van a forrásfáljba és hozzá is van adva... szóval érdekes xd és még definiálva is van xd
Cím: Re:Forgatási hiba!
Írta: heisenberg Dátum 2012 december 08, 10:36:46 DÉLUTÁN
Hogyan és hol szerepel a két delikvens? Kódot
Cím: Re:Forgatási hiba!
Írta: Locutus Dátum 2012 december 08, 10:49:23 DÉLUTÁN
Linkelem mind3-mat.
Vip Command Script
class vipcommands : public CommandScript
{
public:
    vipcommands() : CommandScript("vipcommands") { }

    ChatCommand* GetCommands() const
    {
        static ChatCommand vipCommandTable[] =

        {
            { "mall",     SEC_PLAYER,     true, &HandleVipMallCommand,         "", NULL },
            { "chat",     SEC_PLAYER,     true, &HandleVipChatCommand,         "", NULL },
            { "changerace",    SEC_PLAYER,  false, &HandleChangeRaceCommand,             "", NULL },
    { "changefaction", SEC_PLAYER,  false, &HandleChangeFactionCommand, "", NULL },
    { "maxskills", SEC_PLAYER,  false, &HandleMaxSkillsCommand, "", NULL },
    { "customize", SEC_PLAYER,  false, &HandleCustomizeCommand, "", NULL },
    { "tele",           SEC_PLAYER,  false, &HandleTeleCommand, "", NULL },

            { NULL,             0,                     false, NULL,                                           "", NULL }
        };
        static ChatCommand commandTable[] =
        {
            { "vip",     SEC_PLAYER,   true, NULL,      "",  vipCommandTable},
       { NULL,             0,                  false, NULL,                               "", NULL }
        };
        return commandTable;
    }


static bool HandleTeleCommand(ChatHandler* handler, const char* args)
    {
        if (!*args)
            return false;

        Player* me = handler->GetSession()->GetPlayer();

        // id, or string, or [name] Shift-click form |color|Htele:id|h[name]|h|r
        GameTele const* tele = handler->extractGameTeleFromLink((char*)args);

        if (!tele)
        {
            handler->PSendSysMessage("A tele nem létezik");
            return false;
        }

        if (me->isInCombat())
        {
            handler->PSendSysMessage("Combatban vagy");
            return false;
        }

        MapEntry const* map = sMapStore.LookupEntry(tele->mapId);
        if (!map || map->IsBattlegroundOrArena())
        {
            handler->PSendSysMessage("Nem portálhatsz BG-re");
            return false;
        }

        // combat leáll ha kell
        if (me->isInFlight())
        {
            me->GetMotionMaster()->MovementExpired();
            me->CleanupAfterTaxiFlight();
        }
        // ment ha nincs combat
        else
            me->SaveRecallPosition();

        me->TeleportTo(tele->mapId, tele->position_x, tele->position_y, tele->position_z, tele->orientation);
        return true;
}

static bool HandlevipCommand(ChatHandler* handler, const char* args)
    {

        Player* me = handler->GetSession()->GetPlayer();

            me->Say("vip command?", LANG_UNIVERSAL);
            return true;
    }

static bool HandleChangeRaceCommand(ChatHandler* handler, const char* args)
    {

        Player* me = handler->GetSession()->GetPlayer();
me->SetAtLoginFlag(AT_LOGIN_CHANGE_RACE);
handler->PSendSysMessage("Relog to change race of your character.");
        return true;
    }

static bool HandleChangeFactionCommand(ChatHandler* handler, const char* args)
    {

        Player* me = handler->GetSession()->GetPlayer();
me->SetAtLoginFlag(AT_LOGIN_CHANGE_FACTION);
handler->PSendSysMessage("Relog to change faction of your character.");
        return true;
    }

static bool HandleMaxSkillsCommand(ChatHandler* handler, const char* args)
    {

        Player* me = handler->GetSession()->GetPlayer();
me->UpdateSkillsForLevel();
handler->PSendSysMessage("Your weapon skills are now maximized.");
        return true;
    }

static bool HandleCustomizeCommand(ChatHandler* handler, const char* args)
    {

        Player* me = handler->GetSession()->GetPlayer();
me->SetAtLoginFlag(AT_LOGIN_CUSTOMIZE);
handler->PSendSysMessage("Relog to customize your character.");
        return true;
    }

static bool HandleVipMallCommand(ChatHandler* handler, const char* args)
    {

        Player* me = handler->GetSession()->GetPlayer();

        if (me->isInCombat())
        {
            handler->PSendSysMessage("Combatban vagy");
            return false;
        }

        // combatból kihoz
        if (me->isInFlight())
        {
            me->GetMotionMaster()->MovementExpired();
            me->CleanupAfterTaxiFlight();
        }
        // ment ha nincs combat
        else
            me->SaveRecallPosition();

me->TeleportTo(0, 23.8378f, -1588.85f, 195.419f, 4.54306f); // MapId, X, Y, Z, O
                return true;
    }


static bool HandleVipChatCommand(ChatHandler * handler, const char * args)
{
if (!args)
return false;

std::string msg = "";
Player * player = handler->GetSession()->GetPlayer();

switch(player->GetSession()->GetSecurity())
{
case SEC_VIP: // VIP
msg += "|cffff0000[V.I.P|r |cff18be00Chat:|r [";
msg += player->GetName();
msg += "]: |CFF7BBEF7";
break;

case SEC_MODERATOR: // Eventer GM
msg += "|CFF520084[Eventer GM|r |cff18be00Chat:|r [";
msg += player->GetName();
msg += "]: |CFF7BBEF7";
break;

case SEC_GAMEMASTER: // GM
msg += "|cff00ffff[GM|r |cff18be00Chat:|r [";
msg += player->GetName();
msg += "]: |CFF7BBEF7";
break;


case SEC_ADMINISTRATOR: // Admin
msg += "|cfffa9900[Admin|r |cff18be00Chat:|r [";
msg += player->GetName();
msg += "]: |CFF7BBEF7";
break;

case SEC_CONSOLE: // Root, Console!
msg += "|CFF18BE00[ROOT|r |cff18be00Chat:|r [";
msg += player->GetName();
msg += "]: |cffff0000";
break;
}

msg += args;
sWorld->SendServerMessage(SERVER_MSG_STRING, msg.c_str(), 0);

return true;
}

};

void AddSC_vipcommands()
{
    new vipcommands();
}

Staff login script
#include "ScriptPCH.h"
#include "Common.h"

class staff_login : public PlayerScript
{
    public:

        staff_login()
            : PlayerScript("staff_login")
        {
        }

        void OnLogin(Player *pPlayer)
        {
          switch (pPlayer->GetSession()->GetSecurity())
          {
             case SEC_GAMEMASTER:
sWorld->SendWorldText("EVENTER_JOIN");
               break;

             case SEC_ADMINISTRATOR:
sWorld->SendWorldText("GM_JOIN");
               break;

             case SEC_CONSOLE:
sWorld->SendWorldText("ADMIN_JOIN");
               break;
          }                     
        }
};

void AddSC_staff_login()
{
    new staff_login();
}


Scriptloader(Eleje és vége)
//custom
void AddSC_transmog();
void AddSC_StartUpTransmog();
void AddSC_npc_morph();
void AddSC_npc_buff();
void AddSC_npc_arena_teamTop();
void AddSC_npc_tele();
void AddSC_npc_doctorba();
void AddSC_npc_atvalto();
void AddSC_vipcommands();
void AddSC_staff_login();

Vége:
void AddCustomScripts()
{
#ifdef SCRIPTS
    /* This is where custom scripts should be added. */
AddSC_transmog();
AddSC_StartUpTransmog();
AddSC_npc_morph();
AddSC_npc_buff();
AddSC_npc_arena_teamTop();
AddSC_npc_tele();
AddSC_npc_doctorba();
AddSC_npc_atvalto();
AddSC_vipcommands();
AddSC_staff_login();

Egyebkent a staff loginnál is hibát jelez. Arra az alábbi hibát jelzi:
2>staff_login.cpp
2>..\..\..\..\TrinityCore\src\server\scripts\Custom\staff_login.cpp(18) : error C2664: 'World::SendWorldText' : cannot convert parameter 1 from 'const char [13]' to 'int32'
2>        There is no context in which this conversion is possible
2>..\..\..\..\TrinityCore\src\server\scripts\Custom\staff_login.cpp(22) : error C2664: 'World::SendWorldText' : cannot convert parameter 1 from 'const char [8]' to 'int32'
2>        There is no context in which this conversion is possible
2>..\..\..\..\TrinityCore\src\server\scripts\Custom\staff_login.cpp(26) : error C2664: 'World::SendWorldText' : cannot convert parameter 1 from 'const char [11]' to 'int32'
2>        There is no context in which this conversion is possible


Előre is köszönöm. Lehet valami nagoyn egyszerűt nézek el.. Fáradt vagyok mostanában.

Üdv Locutus
Cím: Re:Forgatási hiba!
Írta: heisenberg Dátum 2012 december 08, 11:01:51 DÉLUTÁN
A fordítási hibára:

a SendWorldText egy string id-t vár paraméterként, nem stringet.
Megoldás, adj meg ID-t, vagy használd pl. a  SendServerMessage-t, valahogy így:
Kód (cpp) Kijelölés

sWorld->SendServerMessage(SERVER_MSG_STRING, "szoveg", NULL);


nézd meg, hogy a linker hiba ezek után is fenn áll-e, ha igen arra így egyelőre nem tudok mit mondani.
Cím: Re:Forgatási hiba!
Írta: Locutus Dátum 2012 december 08, 11:09:46 DÉLUTÁN
Áhh köszi :D  Nagyon szépen köszönöm :) Megy a plusz :D
Cím: Re:Forgatási hiba!
Írta: Locutus Dátum 2012 december 08, 11:19:50 DÉLUTÁN
Hallod script leforgatása után a staff login script nem csinálja azt amit mondtam neki... Szerinted hol van elrontva?? Elvileg ha feloggolok akkor kéne kiírnia hogy belépett egy xxx gm...
Előre is köszi
Locu
Cím: Re:Forgatási hiba!
Írta: EroniX Dátum 2012 december 09, 09:04:52 DÉLELŐTT
Hányas account levellel próbálod?
Cím: Re:Forgatási hiba!
Írta: Locutus Dátum 2012 december 09, 09:11:53 DÉLELŐTT
Semelyikkel nem megy... Pedig a common.h t át configoltam az alábbira: 
enum AccountTypes
{
    SEC_PLAYER         = 0,
SEC_VIP            = 1,
SEC_MODERATOR      = 2,
SEC_GAMEMASTER     = 3,
    SEC_ADMINISTRATOR  = 4,
    SEC_CONSOLE        = 5,   

És kiprobáltam 3,4,5-re és egyikkel sem megy.... Pedig elvileg kéne neki.
Üdv Locu
Cím: Re:Forgatási hiba!
Írta: Locutus Dátum 2012 december 10, 04:27:01 DÉLUTÁN
Staff login forgatási hiba... Lehet ezért nem müködik a script.. Idáig nem is láttam.
2>..\..\..\..\TrinityCore\src\server\scripts\Custom\staff_login.cpp(29) : error C2562: 'staff_login::OnLogin' : 'void' function returning a value
2>        ..\..\..\..\TrinityCore\src\server\scripts\Custom\staff_login.cpp(13) : see declaration of 'staff_login::OnLogin'


Előre is köszönöm a segítséget.
Üdv Locu
Cím: Re:Forgatási hiba!
Írta: AximCore Dátum 2012 december 10, 05:08:08 DÉLUTÁN
Idézetet írta: Locutus Dátum 2012 december 10, 04:27:01 DÉLUTÁN
Staff login forgatási hiba... Lehet ezért nem müködik a script.. Idáig nem is láttam.
2>..\..\..\..\TrinityCore\src\server\scripts\Custom\staff_login.cpp(29) : error C2562: 'staff_login::OnLogin' : 'void' function returning a value
2>        ..\..\..\..\TrinityCore\src\server\scripts\Custom\staff_login.cpp(13) : see declaration of 'staff_login::OnLogin'


Előre is köszönöm a segítséget.
Üdv Locu

A staff_login osztályonbelül a OnLogin eljárásban(void) valahol visszatérsz értékel ( return ), csak fgvnyek térhetnek vissza értékel.
Cím: Re:Forgatási hiba!
Írta: Locutus Dátum 2012 december 10, 05:15:00 DÉLUTÁN
Köszi Szépen :D Megy a plusz :D
Cím: Re:Forgatási hiba!
Írta: K3nNy Dátum 2012 december 26, 01:08:37 DÉLUTÁN
Sziasztok.
Valaki meg tudná mondani, hogy ez mitől van?
(http://www.kephost.com/images4/2012/12/26/a1_2012_12_26_y36efxwvmy.png)

Cmake megcsinálta szépen a dolgát, és amikor vc10 el indítom a trinitycore.sln-t akkor jön ki ez a hiba üzenet...

cmake:
(http://www.kephost.com/images4/2012/12/26/a1_2012_12_26_w9yk1eb8ik.png)

VC10 output:
(http://www.kephost.com/images4/2012/12/26/a1_2012_12_26_aj6bri9cbv.png)

Előre köszönöm szépen a segítséget!
Cím: Re:Forgatási hiba!
Írta: Raisen Dátum 2012 december 26, 03:35:15 DÉLUTÁN
Valami nem kóser a forráskódban cmake felső ablakában not foundozik, ha feljebb tekered szerintem még több lenne ott :) Ilyen hibát én az évek alatt nem is láttam valami újat mutattál :D Visual studio meg nem tudja olvasni elvileg nem lehet rosszal kigenerálni a project fájlt de azért nézd meg, hogy cmakeban a megfelelő visual studiora állítod a project fájl kigenerálása előtt.
Cím: Re:Forgatási hiba!
Írta: K3nNy Dátum 2012 december 26, 03:46:59 DÉLUTÁN
The C compiler identification is MSVC 16.0.30319.1
The CXX compiler identification is MSVC 16.0.30319.1
Check for working C compiler using: Visual Studio 10
Check for working C compiler using: Visual Studio 10 -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - failed
Check for working CXX compiler using: Visual Studio 10
Check for working CXX compiler using: Visual Studio 10 -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - failed
Detected 32-bit platform
Using supplied MySQL sources
MSVC: Enabled large address awareness
MSVC: Enabled SSE2 support
MSVC: Overloaded standard names
MSVC: Disabled NON-SECURE warnings
MSVC: Disabled POSIX warnings
MSVC: Disabled generic compiletime warnings
Found OpenSSL: optimized;D:/Install/-wow szerver/Forráskód/OpenSSL/lib/VC/ssleay32MD.lib;D:/Install/-wow szerver/Forráskód/OpenSSL/lib/VC/libeay32MD.lib;debug;D:/Install/-wow szerver/Forráskód/OpenSSL/lib/VC/ssleay32MDd.lib;D:/Install/-wow szerver/Forráskód/OpenSSL/lib/VC/libeay32MDd.lib 

WARNING - Missing or outdated git - did you forget to install a recent version?
WARNING - Observe that for revision hash/date to work you need at least version 1.7
WARNING - Missing repository tags - you may need to pull tags with git fetch -t
WARNING - Continuing anyway - note that the versionstring will be set to 0000-00-00 00:00:00 (Archived)

* TrinityCore rev. hash  : Archived
* TrinityCore rev. date  : 0000-00-00 00:00:00 +0000

* Install core to        : C:/Program Files/TrinityCore

* Build world/auth       : Yes (default)
* Build with scripts     : Yes (default)
* Build map/vmap tools   : No  (default)
* Build core w/PCH       : Yes (default)
* Build scripts w/PCH    : Yes (default)
* Show compile-warnings  : No  (default)
* Use coreside debug     : No  (default)
* Use MySQL sourcetree   : Yes (default)

-- MySQL 5.5.9
Looking for include file pthread.h
Looking for include file pthread.h - not found
Found Threads: TRUE 
Check size of void *
Check size of void * - done
SCRIPT PREPARATIONS
  -> Prepared: Spells
  -> Prepared: Commands
  -> Prepared: Examples
  -> Prepared: Custom
  -> Prepared: World
  -> Prepared: Outdoor PVP Zones
  -> Prepared: Eastern Kingdoms
  -> Prepared: Kalimdor
  -> Prepared: Outland
  -> Prepared: Northrend
SCRIPT PREPARATION COMPLETE

Configuring done



ez minden amit ír a cmake.
A forráskódot a hostingtól szedtem le, ezzel a forráskóddal fut a szerverem.
és nem változtattam rajta semmit, szándékosan, mert tudom, hogy ez fut a szerveren működik rendesen, így biztosan le fog fordulni rendesen.
De nem nagyon jutottam el addig :S
Visual studio 2010 express-t használok, Win8 32bit op rendszert, direkt ezt tettem fel mert a 32 bit kompatibilis az expressel, de az a vicc hogy win7 64 bittel a visual 2010 ultimate ami kompatibilis 32 és 64 bittel is, ugyan ez a hiba fogadott...
Köszönöm a segítséget!
Cím: Re:Forgatási hiba!
Írta: Raisen Dátum 2012 december 26, 05:10:08 DÉLUTÁN
Próbálj meg másik forráskódot szedd le githubról ha működik akkor hostingos sourceval van a gond. https://github.com/TrinityCore/TrinityCore
Cím: Re:Forgatási hiba!
Írta: Locutus Dátum 2012 december 26, 11:02:24 DÉLUTÁN
Ha a szerverről töltesz le dolgot akkor az már cmake el forgatva van... Lehet összekeverted bár kétlem. Ha a not foundot nem adod meg saját kezüleg hogy hol található a git.exe akkor ugyanúgy hibát jelez. De egyébként amit Raisen írt azzal probáld :D Az jól müködik nálam is. De ha a hostingtól szedted le akkor azzal már nem kell mit csinálni mert azokat általában már leforgatva adják oda neked.
Üdv Locu
Cím: Re:Forgatási hiba!
Írta: K3nNy Dátum 2012 december 27, 01:55:59 DÉLUTÁN
Letöltöttem azt a forrást amit linkeltetek, de azzal is ugyan ezt csinálja. mintha csak ugyan azzal a forrással csinálnám mint az előtt. pedig nem... :/
Cím: Re:Forgatási hiba!
Írta: Raisen Dátum 2012 december 27, 04:27:12 DÉLUTÁN
Nem tudok mást mondani próbáld meg a gépedről az összes visual c++ redistributable letörölni és felrakni egy visual c++ redistributable 2010 net freamwork 3.5 v 4.0 legyen fent és próbálj meg egy másik openSSL-t feltenni ha így sem jó kifogytam az ötletekből .

Update:

Cmake verziójának szedjed le a legújabbat vagy régebbit.

ABI info - failed
Found OpenSSL
pthread.h - not found

Ma lehet újra leszedek mindent és akkor az én általam használt programokat belinkelem vagy felveszel skypen aztán képernyő megosztásban meglesed.
Cím: Re:Forgatási hiba!
Írta: Raisen Dátum 2012 december 27, 05:40:29 DÉLUTÁN
Nekem is ugyan ez volt a hiba ma. MEGOLDVA :) Win32OpenSSL-1_0_0j-t felcsaptam gond nélkül elindult visual studio c++ 10

(http://kepfeltoltes.hu/121227/good_www.kepfeltoltes.hu_.jpg)