-
Announcements
-
Pravidlo pro postování v TTT
Do sekce Tipy, triky, tutoriály nepatří žádné dotazy. Postujte sem vaše návody, tipy a různé další věci jež uznáte za vhodné sdělit zdejšímu osazenstvu, ale veškeré dotazy směřujte do sekce Všeobecná diskuse. -
Seznam návodů a důležitých témat v této sekci
Pro lepší přehlednost jsem vytvořil tento seznam, který vás, méně zkušené, lépe provede touto sekcí. Věřím, že zde najdete, co hledáte. Vypsané jsou návody, které jsou oficiálně uznané jako návody. Běžné diskuze, které neposkytují postupy a rady zvěřejněny nejsou. Instalace vlastního MaNGOS Serveru Díky těmto návodům budete (měli by jste být) schopni vytvořit a následně spustit váš vlastní server. Nastavení je pro verze s i bez datadisku. Instalace MaNGOS Serveru (bez datadisku TBC) - Autor Benny Instalace MaNGOS Serveru (s datadiskem TBC) - Autor Malfik Instalace MaNGOS Serveru v prostředí Linux - Autor charlie Instalace MaNGOS Serveru v prostředí Linux - Autor kupkoid Chyby a jejich řešení při přihlašování k serveru - Autor Cybe Zálohování uživatelských dat Dávkový soubor (BAT soubor) pro vytvoření SQL záloh - Autor Replik Kompilování - tvoření vlastních release (revizí) Tvorba kompilací pro Win32 (MangoScript) - Autor bLuma Ostatní - těžko zařaditelné, ale neznamená to, že nejsou dobré VIP Systém - Autor charlie Tvorba Webových stránek pro MaNGOS - Autor zahuba Tvorba teleportačních NPC (MangoScript) - Autor Replik Registrační web (původně předělaná SPORA) Funkční pro Antrix i MaNGOS - Autor Replik Nastavení a spuštění Minimanager pro MaNGOS - Autor BlackMartin Nastavení MaNGOS Website - Autor Artorius Samozřejmě jsou zde i jiné návody, ale tyto jsou nejvíce používané, proto věřím, že vám budou nápomocné. Tuto sekci budeme upravovat podle potřeby. Pokud by jste něco nenašli nebo si nevěděli rady, hledejte na fóru a teprve potom založte vlastní topik. Pokud nějaký autor vytvoří kvalitní návod a chtěl by ho zveřejnit i v tomto seznamu, doporučuji, aby mi napsal zprávu skrze PM. Díky a přeji hezký den na WoWResource Replik -
Příspěvky tam, kde nemají co dělat
Dodržujte zákaz přispívání do topiků s repaky pokud si to zakladatelé nepřejí!! Opakované psaní příspěvků bude trestáno warnem. -
Používání spoilerů
Poslední dobou má většina uživatelů fora zvláštní nutkání postovat extrémně dlouhé texty nebo kódy, které zabírají v nejedenom případu i 80% obsahu celé stránky a hodně tak zvedají nepřehlednost v topiku. Chtěl bych všechny uživatele požádat, aby při postování citací, jakýchkoliv kódů, errorů, atp... delších než 30 řádků používali funkci spoileru. Funkci vyvoláte příkazem [spoiler] text [/spoiler] Ukázka:
-
-
Content count
90 -
Joined
-
Last visited
-
Days Won
2
Posts posted by Glorius
-
-
Zdravím všechny,
snažil jsem se nahrát pár bossů do ICC, tak jsem upravoval C++, ale kompilace mi hodila 2 erorry se kterými si nevím rady a rád bych vás poprosil o pomoc. Jedná se nejspíše o error v instance_icecrown_citadel.cpp
Error:
../scripts/libscripts.a(instance_icecrown_citadel.cpp.o): In function `instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::ProcessEvent(WorldObject*, unsigned int)': instance_icecrown_citadel.cpp:(.text._ZN25instance_icecrown_citadel43instance_icecrown_citadel_InstanceMapScript12ProcessEventEP11WorldObjectj[instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::ProcessEvent(WorldObject*, unsigned int)]+0x90): undefined reference to `TerenasSpawn' instance_icecrown_citadel.cpp:(.text._ZN25instance_icecrown_citadel43instance_icecrown_citadel_InstanceMapScript12ProcessEventEP11WorldObjectj[instance_icecrown_citadel::instance_icecrown_citadel_InstanceMapScript::ProcessEvent(WorldObject*, unsigned int)]+0x14b): undefined reference to `SpiritWardenSpawn' collect2: ld returned 1 exit status make[2]: *** [src/server/worldserver/worldserver] Error 1 make[1]: *** [src/server/worldserver/CMakeFiles/worldserver.dir/all] Error 2 make: *** [all] Error 2
instance_icecrown_citadel.cpp
/* * Copyright (C) 2008-2010 TrinityCore <http://www.trinitycore.org/> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "ScriptPCH.h" #include "icecrown_citadel.h" #define MAX_ENCOUNTER 13 const Position SpawnLoc[]= { {4671.521f, 2481.815f, 343.365f, 3.166f} //spawn pos }; class instance_icecrown_citadel : public InstanceMapScript { public: instance_icecrown_citadel() : InstanceMapScript("instance_icecrown_citadel", 631) { } struct instance_icecrown_citadel_InstanceMapScript : public InstanceScript { instance_icecrown_citadel_InstanceMapScript(InstanceMap* pMap) : InstanceScript(pMap) { uiDifficulty = pMap->GetDifficulty(); uiLordMarrowgar = 0; uiLadyDeathwhisper = 0; uiGunship = 0; uiDeathbringerSaurfang = 0; uiFestergut = 0; uiRotface = 0; uiProfessorPutricide = 0; uiPrinceValanar = 0; uiPrinceKeleseth = 0; uiPrinceTaldaram = 0; uiBloodQueenLanathel = 0; uiValithriaDreamwalker = 0; uiSindragosa = 0; uiLichKing = 0; uiTirion = 0; uiSaurfangCache = 0; uiAngle = 0; uiSpawn = 0; uiBoned = 0; uiAllYouCanEat = 0; uiNecroticStack = 0; uiBloodCouncilController = 0; uiBeenWaiting = 0; uiNeckDeep = 0; uiIceWall1 = 0; uiIceWall2 = 0; uiMarrowgarEntrance = 0; uiLadyDeathwisperTransporter = 0; uiOratoryDoor = 0; uiSaurfangDoor = 0; uiOrangeMonsterDoor = 0; uiGreenMonsterDoor = 0; uiProfCollisionDoor = 0; uiPutricideTable = 0; uiOrangePipe = 0; uiGreenPipe = 0; uiOozeValve = 0; uiGasValve = 0; uiProfDoorOrange = 0; uiProfDoorGreen = 0; uiRotfaceEntrance = 0; uiFestergurtEntrance = 0; uiProffesorDoor = 0; uiBloodwingDoor = 0; uiCrimsonHallDoor1 = 0; uiCrimsonHallDoor2 = 0; uiCrimsonHallDoor3 = 0; uiBloodQueenTransporter = 0; uiFrostwingDoor = 0; uiDragonDoor1 = 0; uiDragonDoor2 = 0; uiDragonDoor3 = 0; uiRoostDoor1 = 0; uiRoostDoor2 = 0; uiRoostDoor3 = 0; uiRoostDoor4 = 0; uiValithriaTransporter = 0; uiSindragossaTransporter = 0; uiSindragosaDoor1 = 0; uiSindragosaDoor2 = 0; uiFirstTp = 0; uiMarrowgarTp = 0; uiFlightWarTp = 0; uiSaurfangTp = 0; uiCitadelTp = 0; uiSindragossaTp = 0; uiLichTp = 0; memset(&uiEncounter, 0, sizeof(uiEncounter)); }; bool IsEncounterInProgress() const { for (uint8 i = 0; i < MAX_ENCOUNTER; ++i) { if (uiEncounter[i] == IN_PROGRESS) return true; } return false; } void OnCreatureCreate(Creature* creature) { Map::PlayerList const &players = instance->GetPlayers(); uint32 TeamInInstance = 0; if (!players.isEmpty()) { if (Player* pPlayer = players.begin()->getSource()) TeamInInstance = pPlayer->GetTeam(); } switch(creature->GetEntry()) { case CREATURE_KOR_KRON_GENERAL: if (TeamInInstance == ALLIANCE) creature->UpdateEntry(CREATURE_ALLIANCE_COMMANDER, ALLIANCE); break; case CREATURE_TORTUNOK: if (TeamInInstance == ALLIANCE) creature->UpdateEntry(CREATURE_ALANA_MOONSTRIKE, ALLIANCE); break; case CREATURE_GERARDO_THE_SUAVE: if (TeamInInstance == ALLIANCE) creature->UpdateEntry(CREATURE_TALAN_MOONSTRIKE, ALLIANCE); break; case CREATURE_UVLUS_BANEFIRE: if (TeamInInstance == ALLIANCE) creature->UpdateEntry(CREATURE_MALFUS_GRIMFROST, ALLIANCE); break; case CREATURE_IKFIRUS_THE_VILE: if (TeamInInstance == ALLIANCE) creature->UpdateEntry(CREATURE_YILI, ALLIANCE); break; case CREATURE_VOL_GUK: if (TeamInInstance == ALLIANCE) creature->UpdateEntry(CREATURE_JEDEBIA, ALLIANCE); break; case CREATURE_HARAGG_THE_UNSEEN: if (TeamInInstance == ALLIANCE) creature->UpdateEntry(CREATURE_NIBY_THE_ALMIGHTY, ALLIANCE); break; case CREATURE_GARROSH_HELLSCREAM: if (TeamInInstance == ALLIANCE) creature->UpdateEntry(CREATURE_KING_VARIAN_WRYNN, ALLIANCE); break; case CREATURE_SE_HIGH_OVERLORD_SAURFANG: if (TeamInInstance == ALLIANCE) creature->UpdateEntry(CREATURE_SE_MURADIN_BRONZEBEARD, ALLIANCE); break; case CREATURE_SE_KOR_KRON_REAVER: if (TeamInInstance == ALLIANCE) creature->UpdateEntry(CREATURE_SE_SKYBREAKER_MARINE, ALLIANCE); break; case CREATURE_MARROWGAR: uiLordMarrowgar = creature->GetGUID(); break; case CREATURE_DEATHWHISPER: uiLadyDeathwhisper = creature->GetGUID(); break; case CREATURE_GUNSHIP: uiGunship = creature->GetGUID(); break; case CREATURE_SAURFANG: uiDeathbringerSaurfang = creature->GetGUID(); break; case CREATURE_FESTERGURT: uiFestergut = creature->GetGUID(); break; case CREATURE_ROTFACE: uiRotface = creature->GetGUID(); break; case CREATURE_PROFESSOR_PUTRICIDE: uiProfessorPutricide = creature->GetGUID(); break; case CREATURE_PRINCE_VALANAR_ICC: uiPrinceValanar = creature->GetGUID(); break; case CREATURE_PRINCE_KELESETH_ICC: uiPrinceKeleseth = creature->GetGUID(); break; case CREATURE_PRINCE_TALDARAM_ICC: uiPrinceTaldaram = creature->GetGUID(); break; case CREATURE_BLOOD_ORB_CONTROLLER: uiBloodCouncilController = creature->GetGUID(); break; case CREATURE_BLOOD_QUEEN_LANATHEL: uiBloodQueenLanathel = creature->GetGUID(); break; case CREATURE_VALITHRIA_DREAMWALKER: uiValithriaDreamwalker = creature->GetGUID(); break; case CREATURE_SINDRAGOSA: uiSindragosa = creature->GetGUID(); break; case CREATURE_LICH_KING: uiLichKing = creature->GetGUID(); break; case CREATURE_TIRION_ICC: uiTirion = creature->GetGUID(); break; } } void OnGameObjectCreate(GameObject* go) { switch (go->GetEntry()) { case LORD_ICE_WALL_1: uiIceWall1 = go->GetGUID(); break; case LORD_ICE_WALL_2: uiIceWall2 = go->GetGUID(); break; case LORD_ENTRANCE: uiMarrowgarEntrance = go->GetGUID(); break; case ORATORY_ENTRANCE: uiOratoryDoor = go->GetGUID(); break; case SAURFANG_DOOR: uiSaurfangDoor = go->GetGUID(); break; case BLOODWING_DOOR: uiBloodwingDoor = go->GetGUID(); break; case FROSTWING_DOOR: uiFrostwingDoor = go->GetGUID(); break; case CRIMSONHALL_DOOR: uiCrimsonHallDoor1 = go->GetGUID(); break; case CRIMSONHALL_DOOR_1: uiCrimsonHallDoor2 = go->GetGUID(); break; case CRIMSONHALL_DOOR_2: uiCrimsonHallDoor3 = go->GetGUID(); break; case DRAGON_DOOR_1: uiDragonDoor1 = go->GetGUID(); break; case DRAGON_DOOR_2: uiDragonDoor2 = go->GetGUID(); break; case DRAGON_DOOR_3: uiDragonDoor3 = go->GetGUID(); break; case DREAMWALKER_DOOR_1: uiRoostDoor1 = go->GetGUID(); break; case DREAMWALKER_DOOR_2: uiRoostDoor2 = go->GetGUID(); break; case DREAMWALKER_DOOR_3: uiRoostDoor3 = go->GetGUID(); break; case DREAMWALKER_DOOR_4: uiRoostDoor4 = go->GetGUID(); break; case SINDRAGOSSA_DOOR_1: uiSindragosaDoor1 = go->GetGUID(); break; case SINDRAGOSSA_DOOR_2: uiSindragosaDoor2 = go->GetGUID(); break; case PROF_COLLISION_DOOR: uiProfCollisionDoor = go->GetGUID(); if (uiEncounter[4] == NOT_STARTED) HandleGameObject(NULL, false, go); break; case GREEN_PIPE: uiGreenPipe = go->GetGUID(); if (uiEncounter[5] == NOT_STARTED) HandleGameObject(NULL, false, go); break; case OOZE_VALVE: uiOozeValve = go->GetGUID(); if (uiEncounter[5] == NOT_STARTED) HandleGameObject(NULL, false, go); break; case PROF_DOOR_GREEN: uiProfDoorGreen = go->GetGUID(); if (uiEncounter[5] == DONE) HandleGameObject(NULL, true, go); break; case ORANGE_PIPE: uiOrangePipe = go->GetGUID(); if (uiEncounter[4] == NOT_STARTED) HandleGameObject(NULL, false, go); break; case GAS_VALVE: uiGasValve = go->GetGUID(); if (uiEncounter[4] == NOT_STARTED) HandleGameObject(NULL, false, go); break; case PROF_DOOR_ORANGE: uiProfDoorOrange = go->GetGUID(); if (uiEncounter[4] == DONE) HandleGameObject(NULL, true, go); break; case ROTFACE_DOOR: uiGreenMonsterDoor = go->GetGUID(); if (uiEncounter[5] == DONE) HandleGameObject(NULL, true, go); break; case FESTERGUT_DOOR: uiOrangeMonsterDoor = go->GetGUID(); if (uiEncounter[4] == DONE) HandleGameObject(NULL, true, go); break; case PROFESSOR_DOOR: uiProffesorDoor = go->GetGUID(); if (uiEncounter[6] == DONE) HandleGameObject(NULL, true, go); break; case DRINK_ME: uiPutricideTable = go->GetGUID(); break; case SAURFANG_CACHE_10_N: case SAURFANG_CACHE_25_N: case SAURFANG_CACHE_10_H: case SAURFANG_CACHE_25_H: uiSaurfangCache = go->GetGUID(); break; case DREAMWALKER_CACHE_10_N: case DREAMWALKER_CACHE_25_N: case DREAMWALKER_CACHE_10_H: case DREAMWALKER_CACHE_25_H: uiDreamwalkerCache = go->GetGUID(); break; case LADY_ELEVATOR: uiLadyDeathwisperTransporter = go->GetGUID(); break; case BLOODQUEEN_ELEVATOR: uiBloodQueenTransporter = go->GetGUID(); break; case VALITHRIA_ELEVATOR: uiValithriaTransporter = go->GetGUID(); break; case SINDRAGOSSA_ELEVATOR: uiSindragossaTransporter = go->GetGUID(); break; case FIRST_TELEPORT: uiFirstTp = go->GetGUID(); if (uiEncounter[0] == DONE) HandleGameObject(NULL, true, go); break; case LORD_TELEPORT: uiMarrowgarTp = go->GetGUID(); if (uiEncounter[0] == NOT_STARTED) HandleGameObject(NULL, false, go); break; case GUNSHIP_TELEPORT: uiFlightWarTp = go->GetGUID(); if (uiEncounter[2] == NOT_STARTED) HandleGameObject(NULL, false, go); break; case SAURFANG_TELEPORT: uiSaurfangTp = go->GetGUID(); if (uiEncounter[4] == NOT_STARTED) HandleGameObject(NULL, false, go); break; case CITADEL_TELEPORT: uiCitadelTp = go->GetGUID(); if (uiEncounter[4] == NOT_STARTED) HandleGameObject(NULL, false, go); break; case SINDRAGOSSA_TELEPORT: uiSindragossaTp = go->GetGUID(); if(uiEncounter[10] == NOT_STARTED) HandleGameObject(NULL, true, go); break; case LICH_TELEPORT: uiLichTp = go->GetGUID(); if(uiEncounter[10] == NOT_STARTED) HandleGameObject(NULL, false, go); break; } } uint64 GetData64(uint32 identifier) { switch(identifier) { case DATA_MARROWGAR: return uiLordMarrowgar; case DATA_DEATHWHISPER: return uiLadyDeathwhisper; case DATA_GUNSHIP_BATTLE: return uiGunship; case DATA_SAURFANG: return uiDeathbringerSaurfang; case DATA_FESTERGURT: return uiFestergut; case DATA_ROTFACE: return uiRotface; case DATA_PROFESSOR_PUTRICIDE: return uiProfessorPutricide; case DATA_PRINCE_VALANAR_ICC: return uiPrinceValanar; case DATA_PRINCE_KELESETH_ICC: return uiPrinceKeleseth; case DATA_PRINCE_TALDARAM_ICC: return uiPrinceTaldaram; case DATA_BLOOD_QUEEN_LANATHEL: return uiBloodQueenLanathel; case DATA_VALITHRIA_DREAMWALKER: return uiValithriaDreamwalker; case DATA_SINDRAGOSA: return uiSindragosa; case DATA_LICH_KING: return uiLichKing; case DATA_TIRION: return uiTirion; case DATA_ANGLE: return uiAngle; case DATA_BONED: return uiBoned; case DATA_ALL_YOU_CAN_EAT: return uiAllYouCanEat; case DATA_BEEN_WAITING: return uiBeenWaiting; case DATA_NECK_DEEP: return uiNeckDeep; case DATA_BLOOD_PRINCES_CONTROL: return uiBloodCouncilController; case DATA_NECROTIC_STACK: return uiNecroticStack; case DATA_PUTRICIDE_TABLE: return uiPutricideTable; } return 0; } void SetData(uint32 type, uint32 data) { switch(type) { case DATA_MARROWGAR_EVENT: if(data == DONE) { HandleGameObject(uiIceWall1, true); HandleGameObject(uiIceWall2, true); HandleGameObject(uiMarrowgarEntrance, true); if (GameObject* FirstTp = instance->GetGameObject(uiFirstTp)) { FirstTp->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); FirstTp->SetGoState(GOState(0)); } if (GameObject* MarrowgarTp = instance->GetGameObject(uiMarrowgarTp)) { MarrowgarTp->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); MarrowgarTp->SetGoState(GOState(0)); } } if(data == NOT_STARTED) { if (GameObject* FirstTp = instance->GetGameObject(uiFirstTp)) FirstTp->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); if (GameObject* MarrowgarTp = instance->GetGameObject(uiMarrowgarTp)) MarrowgarTp->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); } if(data == IN_PROGRESS) HandleGameObject(uiMarrowgarEntrance, false); uiEncounter[0] = data; break; case DATA_DEATHWHISPER_EVENT: if(data == DONE) { HandleGameObject(uiOratoryDoor, true); if (GameObject* go = instance->GetGameObject(uiLadyDeathwisperTransporter)) { go->SetUInt32Value(GAMEOBJECT_LEVEL, 0); go->SetGoState(GO_STATE_READY); } if (GameObject* FlightWarTp = instance->GetGameObject(uiFlightWarTp)) { FlightWarTp->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); FlightWarTp->SetGoState(GOState(0)); } if (GameObject* SaurfangTp = instance->GetGameObject(uiSaurfangTp)) { SaurfangTp->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); SaurfangTp->SetGoState(GOState(0)); } } if(data == NOT_STARTED) { if (GameObject* FlightWarTp = instance->GetGameObject(uiFlightWarTp)) FlightWarTp->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); if (GameObject* SaurfangTp = instance->GetGameObject(uiSaurfangTp)) SaurfangTp->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); } if(data == IN_PROGRESS) HandleGameObject(uiOratoryDoor, false); uiEncounter[1] = data; break; /*case DATA_GUNSHIP_BATTLE_EVENT: switch(data) { case DONE: break; case NOT_STARTED: break; } uiEncounter[2] = data; break;*/ case DATA_SAURFANG_EVENT: if(data == DONE) { if (GameObject* pChest = instance->GetGameObject(uiSaurfangCache)) pChest->SetRespawnTime(pChest->GetRespawnDelay()); if (GameObject* CitadelTp = instance->GetGameObject(uiCitadelTp)) { CitadelTp->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); CitadelTp->SetGoState(GOState(0)); } HandleGameObject(uiSaurfangDoor, true); HandleGameObject(uiBloodwingDoor, true); HandleGameObject(uiFrostwingDoor, true); } if(data == NOT_STARTED) { if (GameObject* CitadelTp = instance->GetGameObject(uiCitadelTp)) CitadelTp->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); } uiEncounter[3] = data; break; case DATA_FESTERGURT_EVENT: if(data == DONE) { HandleGameObject(uiOrangeMonsterDoor, true); HandleGameObject(uiOrangePipe, true); HandleGameObject(uiGasValve, true); if (uiEncounter[5] == DONE) { HandleGameObject(uiProfCollisionDoor, true); if (GameObject* Oprofessordoor = instance->GetGameObject(uiProfDoorOrange)) { Oprofessordoor->SetGoState(GOState(2)); } } } if(data == NOT_STARTED) { HandleGameObject(uiOrangeMonsterDoor, true); HandleGameObject(uiOrangePipe, false); HandleGameObject(uiGasValve, false); HandleGameObject(uiProfDoorOrange, false); } if(data == IN_PROGRESS) { HandleGameObject(uiOrangeMonsterDoor, false); HandleGameObject(uiOrangePipe, false); HandleGameObject(uiGasValve, false); HandleGameObject(uiProfDoorOrange, false); } uiEncounter[4] = data; break; case DATA_ROTFACE_EVENT: if(data == DONE) { HandleGameObject(uiGreenMonsterDoor, true); HandleGameObject(uiGreenPipe, true); HandleGameObject(uiOozeValve, true); if (uiEncounter[4] == DONE) { HandleGameObject(uiProfCollisionDoor, true); if (GameObject* Gprofessordoor = instance->GetGameObject(uiProfDoorGreen)) { Gprofessordoor->SetGoState(GOState(2)); } } } if(data == NOT_STARTED) { HandleGameObject(uiGreenMonsterDoor, true); HandleGameObject(uiGreenPipe, false); HandleGameObject(uiOozeValve, false); HandleGameObject(uiProfDoorGreen, false); } if(data == IN_PROGRESS) { HandleGameObject(uiGreenMonsterDoor, false); HandleGameObject(uiGreenPipe, false); HandleGameObject(uiOozeValve, false); HandleGameObject(uiProfDoorGreen, false); } uiEncounter[5] = data; break; case DATA_PROFESSOR_PUTRICIDE_EVENT: if(data == DONE) HandleGameObject(uiProffesorDoor, true); if(data == NOT_STARTED) HandleGameObject(uiProffesorDoor, true); if(data == IN_PROGRESS) HandleGameObject(uiProffesorDoor, false); uiEncounter[6] = data; break; case DATA_BLOOD_PRINCE_COUNCIL_EVENT: if(data == DONE) { HandleGameObject(uiCrimsonHallDoor1, true); HandleGameObject(uiCrimsonHallDoor2, true); HandleGameObject(uiCrimsonHallDoor3, true); } if(data == NOT_STARTED) HandleGameObject(uiCrimsonHallDoor1, true); if(data == IN_PROGRESS) HandleGameObject(uiCrimsonHallDoor1, false); uiEncounter[7] = data; break; case DATA_BLOOD_QUEEN_LANATHEL_EVENT: if(data == DONE) { if (GameObject* go = instance->GetGameObject(uiBloodQueenTransporter)) { go->SetUInt32Value(GAMEOBJECT_LEVEL, 0); go->SetGoState(GO_STATE_READY); } } uiEncounter[8] = data; break; case DATA_VALITHRIA_DREAMWALKER_EVENT: if(data == DONE) { if (GameObject* pChest = instance->GetGameObject(uiDreamwalkerCache)) pChest->SetRespawnTime(pChest->GetRespawnDelay()); if (GameObject* SindragossaTp = instance->GetGameObject(uiSindragossaTp)) { SindragossaTp->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); SindragossaTp->SetGoState(GOState(0)); } if (GameObject* go = instance->GetGameObject(uiValithriaTransporter)) { go->SetUInt32Value(GAMEOBJECT_LEVEL, 0); go->SetGoState(GO_STATE_READY); } if (GameObject* go = instance->GetGameObject(uiSindragossaTransporter)) { go->SetUInt32Value(GAMEOBJECT_LEVEL, 0); go->SetGoState(GO_STATE_READY); } HandleGameObject(uiDragonDoor1, true); HandleGameObject(uiDragonDoor2, true); HandleGameObject(uiDragonDoor3, true); } if(data == NOT_STARTED) { if (GameObject* SindragossaTp = instance->GetGameObject(uiSindragossaTp)) SindragossaTp->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_INTERACT_COND); } if(data == IN_PROGRESS) { HandleGameObject(uiDragonDoor1, false); HandleGameObject(uiRoostDoor3, true); HandleGameObject(uiRoostDoor2, true); if (uiDifficulty == RAID_DIFFICULTY_25MAN_NORMAL || uiDifficulty == RAID_DIFFICULTY_25MAN_HEROIC) { HandleGameObject(uiRoostDoor1, true); HandleGameObject(uiRoostDoor4, true); } } uiEncounter[9] = data; break; case DATA_SINDRAGOSA_EVENT: if(data == DONE) { HandleGameObject(uiSindragosaDoor1, true); HandleGameObject(uiSindragosaDoor2, true); } uiEncounter[10] = data; break; case DATA_LICH_KING_EVENT: uiEncounter[11] = data; break; case DATA_SPAWN: if(data >= 2) Creature* sindragosa = instance->SummonCreature(CREATURE_SINDRAGOSA, SpawnLoc[0]); break; } if (data == DONE) SaveToDB(); } uint32 GetData(uint32 type) { switch(type) { case DATA_MARROWGAR_EVENT: return uiEncounter[0]; case DATA_DEATHWHISPER_EVENT: return uiEncounter[1]; case DATA_GUNSHIP_BATTLE_EVENT: return uiEncounter[2]; case DATA_SAURFANG_EVENT: return uiEncounter[3]; case DATA_FESTERGURT_EVENT: return uiEncounter[4]; case DATA_ROTFACE_EVENT: return uiEncounter[5]; case DATA_PROFESSOR_PUTRICIDE_EVENT: return uiEncounter[6]; case DATA_BLOOD_PRINCE_COUNCIL_EVENT: return uiEncounter[7]; case DATA_BLOOD_QUEEN_LANATHEL_EVENT: return uiEncounter[8]; case DATA_VALITHRIA_DREAMWALKER_EVENT: return uiEncounter[9]; case DATA_SINDRAGOSA_EVENT: return uiEncounter[10]; case DATA_LICH_KING_EVENT: return uiEncounter[11]; case DATA_SPAWN: return uiEncounter[12]; } return 0; } std::string GetSaveData() { OUT_SAVE_INST_DATA; std::ostringstream saveStream; saveStream << "I C" << uiEncounter[0] << " " << uiEncounter[1] << " " << uiEncounter[2] << " " << uiEncounter[3] << " " << uiEncounter[4] << " " << uiEncounter[5] << " " << uiEncounter[6] << " " << uiEncounter[7] << " " << uiEncounter[8] << " " << uiEncounter[9] << " " << uiEncounter[10] << " " << uiEncounter[11]; OUT_SAVE_INST_DATA_COMPLETE; return saveStream.str(); } void Load(const char* in) { if (!in) { OUT_LOAD_INST_DATA_FAIL; return; } OUT_LOAD_INST_DATA(in); char dataHead1, dataHead2; uint32 data0,data1,data2,data3,data4,data5,data6,data7,data8,data9,data10,data11; std::istringstream loadStream(in); loadStream >> dataHead1 >> dataHead2 >> data0 >> data1 >> data2 >> data3 >> data4 >> data5 >> data6 >> data7 >> data8 >> data9 >> data10 >> data11; if (dataHead1 == 'I' && dataHead2 == 'C') { uiEncounter[0] = data0; uiEncounter[1] = data1; uiEncounter[2] = data2; uiEncounter[3] = data3; uiEncounter[4] = data4; uiEncounter[5] = data5; uiEncounter[6] = data6; uiEncounter[7] = data7; uiEncounter[8] = data8; uiEncounter[9] = data9; uiEncounter[10] = data10; uiEncounter[11] = data11; for (uint8 i = 0; i < MAX_ENCOUNTER; ++i) { loadStream >> uiEncounter[i]; if (uiEncounter[i] == IN_PROGRESS) uiEncounter[i] = NOT_STARTED; } } else OUT_LOAD_INST_DATA_FAIL; OUT_LOAD_INST_DATA_COMPLETE; } private: uint64 uiLordMarrowgar; uint64 uiLadyDeathwhisper; uint64 uiGunship; uint64 uiDeathbringerSaurfang; uint64 uiFestergut; uint64 uiRotface; uint64 uiProfessorPutricide; uint64 uiPrinceValanar; uint64 uiPrinceKeleseth; uint64 uiPrinceTaldaram; uint64 uiBloodQueenLanathel; uint64 uiValithriaDreamwalker; uint64 uiSindragosa; uint64 uiLichKing; uint64 uiTirion; uint64 uiIceWall1; uint64 uiIceWall2; uint64 uiMarrowgarEntrance; uint64 uiFrozenThrone; uint64 uiSaurfangCache; uint64 uiLadyDeathwisperTransporter; uint64 uiOratoryDoor; uint64 uiSaurfangDoor; uint64 uiOrangeMonsterDoor; uint64 uiGreenMonsterDoor; uint64 uiProfCollisionDoor; uint64 uiPutricideTable; uint64 uiOrangePipe; uint64 uiGreenPipe; uint64 uiOozeValve; uint64 uiGasValve; uint64 uiProfDoorOrange; uint64 uiProfDoorGreen; uint64 uiRotfaceEntrance; uint64 uiFestergurtEntrance; uint64 uiProffesorDoor; uint64 uiBloodwingDoor; uint64 uiCrimsonHallDoor1; uint64 uiCrimsonHallDoor2; uint64 uiCrimsonHallDoor3; uint64 uiBloodQueenTransporter; uint64 uiFrostwingDoor; uint64 uiDragonDoor1; uint64 uiDragonDoor2; uint64 uiDragonDoor3; uint64 uiRoostDoor1; uint64 uiRoostDoor2; uint64 uiRoostDoor3; uint64 uiRoostDoor4; uint64 uiValithriaTransporter; uint64 uiSindragossaTransporter; uint64 uiDreamwalkerCache; uint64 uiSindragosaDoor1; uint64 uiSindragosaDoor2; uint64 uiFirstTp; uint64 uiMarrowgarTp; uint64 uiFlightWarTp; uint64 uiSaurfangTp; uint64 uiCitadelTp; uint64 uiSindragossaTp; uint64 uiLichTp; uint64 uiBloodCouncilController; uint8 uiDifficulty; uint8 uiBoned; uint8 uiSpawn; uint8 uiAllYouCanEat; uint8 uiBeenWaiting; uint8 uiNeckDeep; uint8 uiNecroticStack; uint8 uiAngle; uint32 uiEncounter[MAX_ENCOUNTER]; }; InstanceScript* GetInstanceScript(InstanceMap* pMap) const { return new instance_icecrown_citadel_InstanceMapScript(pMap); } }; void AddSC_instance_icecrown_citadel() { new instance_icecrown_citadel(); }
Snad mě za to neukamenujete, že sem dávám takový errory...
Předem všem děkuji za pomoc
-
Zdá se mi to nebo v novince u vás na webu, jak je ten obrázek, je okopčenej ode mě z webu? Já mám takovej pocit, že okopčenej je a jestli není, chci vidět vase PSDčko, protože já ho mám
-
Tak vám děkuji za komentář... Jak tak koukám, bude lepší když se na video making vykašlu... Jen jsem zkusil prostě po dlouhé době udělat nějaký příběh... Vidím že to je tedy absolutní fiasko tak se na to vykašlu. Vono se to sice nezdá,ale i s tímto hrozným videem jsem se dělal celej den... Díky za komentáře... :(
Problém je v tom, že já se třeba kvůli 25 sekundám videa se vším všudy dělal 1 měsíc, tak si dej jen víc záležet
-
Mapy jsou ulozeny v ruznych MPQ souborech, musel by sis stahnout cely wow znovu nebo od nekoho prekopitovat MPQ soubory a zkouset, ktery to ovlivni, aby to bylo v originalni, neupravene podobne
Mapy jsou sice uložené v MPQ souborech co jsou ve složce Data ale ten on noggit nemění...on z nich jen čerpá informace a po uložení vyrábí originální mapy (neboli soubory s příponou .ADT) ve sležce, kterou jsem popsal jinak můj skype je "toms1364" (bez uvozovek), tak si mě klidně přidej
-
Návody tu jsou už ve dvou postech.
Zřejmě stále dost málo na to, aby si to tihle lenoši dokázali najít sami...
-
Vypadá to, jako by jsi smazal barvy textury před tím OG v tuto chvíli je dobré začít znovu nebo texturu ručně vybarvit příslušnou barvou.
Pokud chceš začít znovu, stačí jen smazat .ADT soubor, který by se měl nacházet ve složce WoW/world/maps/kalmidor/cislo.adt...kdyby jsi měl ještě nějaký dotaz nebo chceš radu, tak rád poradím. S tímto prográmkem mám docela zkušenosti a spoustu strávených hodin kdyby jsi něco něvěděl, snad najdeš pomoc ZDE jinak se ptej...
-
Druhý pohled křičí - špatně navrženej singleton.
EDIT: Vím asi kde je bota, možná bych to trošku upravil. Můžu něco zkusit. Mám volnou celou noc.
Nevím co to je singleton ale pokud bys měl čas se na to mrknout...byl bych ti opravdu moc vděčný děkuju ti Wolfe
EDIT: Core revize: 2703c6a38be4 (wotlk)
-
Prvni pohled napovida - spatne includy - nekde si ho vynechal.
Jojo, ale jak koukám na ty includy, tak se zdá být vše v pořádku...
SriptMgr.cpp
#include "../CityConquest/CityConquestMgr.h"
void ScriptMgr::Initialize() { uint32 oldMSTime = getMSTime(); LoadDatabase(); sLog->outString("Loading C++ scripts"); sLog->outString("Initializing City Conquest Engine (c) Hkarta"); CityConquest.LoadCities(); FillSpellSummary(); AddScripts(); sLog->outString(">> Loaded %u C++ scripts in %u ms", GetScriptCount(), GetMSTimeDiffToNow(oldMSTime)); sLog->outString(); }
Nebo ne?
-
wolfův měl taky nějakou chybu. Ale když prolezeš topic, je tu jeden kterej je ozkoušenej a funkční na novej script system.
- scripty pro npc vem odsud http://www.wowresource.eu/index.php?app=core&module=attach§ion=attach&attach_id=1618 (ale jen pro npc, v city conquest třídě je tam nějaké typo, které se mi nechce hledat )
Použil jsem to Hkarto...děkuju ti moc, ale pořád mi to hází tenhle error...jako by byla někde chyba v portalu
../game/libgame.a(ScriptMgr.cpp.o): In function `ScriptMgr::Initialize()': ScriptMgr.cpp:(.text+0x6fd9): undefined reference to `CityConquest' ScriptMgr.cpp:(.text+0x6fde): undefined reference to `CityConquestMgr::LoadCities()' ../scripts/libscripts.a(city_conquest_portal.cpp.o): In function `city_conquest_portal::OnGossipHello(Player*, Creature*)': city_conquest_portal.cpp:(.text._ZN20city_conquest_portal13OnGossipHelloEP6PlayerP8Creature[city_conquest_portal::OnGossipHello(Player*, Creature*)]+0x2e): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal13OnGossipHelloEP6PlayerP8Creature[city_conquest_portal::OnGossipHello(Player*, Creature*)]+0x38): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal13OnGossipHelloEP6PlayerP8Creature[city_conquest_portal::OnGossipHello(Player*, Creature*)]+0x66): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal13OnGossipHelloEP6PlayerP8Creature[city_conquest_portal::OnGossipHello(Player*, Creature*)]+0x90): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal13OnGossipHelloEP6PlayerP8Creature[city_conquest_portal::OnGossipHello(Player*, Creature*)]+0x16e): undefined reference to `CityConquest' ../scripts/libscripts.a(city_conquest_portal.cpp.o):city_conquest_portal.cpp:(.text._ZN20city_conquest_portal13OnGossipHelloEP6PlayerP8Creature[city_conquest_portal::OnGossipHello(Player*, Creature*)]+0x174): more undefined references to `CityConquest' follow ../scripts/libscripts.a(city_conquest_portal.cpp.o): In function `city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)': city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x2b6): undefined reference to `CityConquestMgr::StartSiege(int, int)' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x2dc): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x2e6): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x30e): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x330): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x3b8): undefined reference to `CityConquest' ../scripts/libscripts.a(city_conquest_portal.cpp.o):city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x3c8): more undefined references to `CityConquest' follow ../scripts/libscripts.a(city_conquest_portal.cpp.o): In function `city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)': city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x457): undefined reference to `CityConquestMgr::CanStartSiege(int, int)' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x5a7): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x5ad): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x5f2): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x5f8): undefined reference to `CityConquest' collect2: ld returned 1 exit status make[2]: *** [src/server/worldserver/worldserver] Error 1 make[1]: *** [src/server/worldserver/CMakeFiles/worldserver.dir/all] Error 2 make: *** [all] Error 2
Omlouvám se vám, za oživení tohoto tématu, doufám, že se nebudete zlobit
-
Mně se líbil ten nápad od Hkarty...konečně by byla ta reputace k něčemu a nejen k tomu, jak je uživatel pro forum přínosný. A sdílím i ten názor, že když to hulákadlo omezíte na určitý počet, tak se bude zakládat mnohem více nesmyslných topiců jen můj názor...
-
Ja ho uz kompiloval, chyby tam byly, ale takovyhle ne, zkontroluj si cestu toho includu, jestli opravdu je spravne.
Includy jsem zkontroloval...všechno by mělo být správně...tak já už nevím
-
Hkartuv script je uz zastaraly, dokonce je na stary ScriptSystem, mohl by ti jit ten Wolfuv. Kdyz nepujde, kdyztak ti ho upravim, ale urcite tam bude mene erroru, nez tady.
Já totiž používám ten Wolfůf script. Mám tam toto:
#include "ScriptPCH.h" #include "../../game/CityConquest/CityConquestMgr.h" #define START_OFFSET 2000 #define PORT_OFFSET 5000 #define GOSSIP_ACTION_MAIN 1000 #define GOSSIP_ACTION_SARTLIST 1003 #define GOSSIP_ACTION_PORTLIST 1001 #define GOSSIP_ACTION_CLOSE 1002 class city_conquest_portal : public CreatureScript { private: int GetActiveSieges(Player* pPlayer) { int side = 1; if(pPlayer->TeamForRace(pPlayer->getRace())==ALLIANCE) side = 0; Cities::iterator l; int i = 0; for (l = CityConquest.cities.begin(); l != CityConquest.cities.end(); ++l) { City *ct = *l; if (ct->controlled != side && ct->active == true) { i++; } } return i; } int GetActiveSiegesAll(Player* pPlayer) { Cities::iterator l; int i = 0; for (l = CityConquest.cities.begin(); l != CityConquest.cities.end(); ++l) { City *ct = *l; if (ct->active == true) { i++; } } return i; } void StartSiegeList(int beginAt, Player* pPlayer, Creature* pCreature) { Cities::iterator l; int side = 1; if(pPlayer->TeamForRace(pPlayer->getRace())==ALLIANCE) side = 0; int i = 0; int lastid = 0; for (l = CityConquest.cities.begin(); l != CityConquest.cities.end(); ++l) { City *ct = *l; if (ct->controlled != side && ct->active == false && ct->minlevel <= pPlayer->getLevel() && ct->maxlevel >= pPlayer->getLevel() && CityConquest.CanStartSiege(ct->id, side) && ct->id >= beginAt) { if (i < 8) lastid = ct->id; if (i < 9) { pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, ct->name, GOSSIP_SENDER_MAIN, START_OFFSET + ct->id); i++; } else if (i == 9) { pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Next >>", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_SARTLIST + lastid); i++; } } } pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "<< Back", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_MAIN); pPlayer->SEND_GOSSIP_MENU(1, pCreature->GetGUID()); } void TeleportList( Player* pPlayer, Creature* pCreature) { Cities::iterator l; int side = 1; if(pPlayer->TeamForRace(pPlayer->getRace())==ALLIANCE) side = 0; for (l = CityConquest.cities.begin(); l != CityConquest.cities.end(); ++l) { City *ct = *l; if (ct->active == true) { char * nm; nm = new char[ct->name.size()+1]; nm[ct->name.size()] = 0; memcpy(nm, ct->name.c_str(), ct->name.size()); char msg[500]; if (ct->controlled == side) { sprintf(msg, "Defend: %s", nm); pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, msg, GOSSIP_SENDER_MAIN, PORT_OFFSET + ct->id); } else { sprintf(msg, "Attack: %s", nm); pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, msg, GOSSIP_SENDER_MAIN, PORT_OFFSET + ct->id); } } } pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "<< Back", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_MAIN); pPlayer->SEND_GOSSIP_MENU(1, pCreature->GetGUID()); } void MainMenu(Player* pPlayer, Creature* pCreature) { if (GetActiveSieges(pPlayer) < 5) pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "New Conquest", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_SARTLIST + 1); if (GetActiveSiegesAll(pPlayer) > 0) pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Aid in Conquest", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_PORTLIST); pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Bye", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_CLOSE); pPlayer->SEND_GOSSIP_MENU(1, pCreature->GetGUID()); } public: city_conquest_portal() : CreatureScript("city_conquest_portal") { } bool OnGossipHello(Player* pPlayer, Creature* pCreature) { MainMenu(pPlayer, pCreature); return true; } bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 action) { int id = 0; int side = 1; if(pPlayer->TeamForRace(pPlayer->getRace())==ALLIANCE) side = 0; if (action >= PORT_OFFSET) { id = action - PORT_OFFSET; Cities::iterator l; for (l = CityConquest.cities.begin(); l != CityConquest.cities.end(); ++l) { City *ct = *l; if (ct->id == id) { if (ct->controlled == side) pPlayer->TeleportTo(ct->port_defense->map, ct->port_defense->x, ct->port_defense->y, ct->port_defense->z, ct->port_defense->o, 0); else pPlayer->TeleportTo(ct->port_attack->map, ct->port_attack->x, ct->port_attack->y, ct->port_attack->z, ct->port_attack->o, 0); pPlayer->CLOSE_GOSSIP_MENU(); } } } else if (action >= START_OFFSET) { int side = 1; if(pPlayer->TeamForRace(pPlayer->getRace())==ALLIANCE) side = 0; id = action - START_OFFSET; CityConquest.StartSiege(id, side); MainMenu(pPlayer, pCreature); } else if (action >= GOSSIP_ACTION_SARTLIST) { id = action - GOSSIP_ACTION_SARTLIST; StartSiegeList(id, pPlayer, pCreature); } else if (action == GOSSIP_ACTION_CLOSE) { pPlayer->CLOSE_GOSSIP_MENU(); } else if (action == GOSSIP_ACTION_PORTLIST) { TeleportList(pPlayer, pCreature); } else if (action == GOSSIP_ACTION_MAIN) { MainMenu(pPlayer, pCreature); } return true; } }; void AddSC_city_conquest_portal() { new city_conquest_portal(); }
Dokázal bys mi to upravit prosím?
-
Nekecejte tu neco o includech a podivejte se na radky, na kterych je chyba - 186, 187 - tam uz include nejsou. Menil se zpusob prace se singletony a hkarta tam ma jeste ten stary, tusim, ze tam nekde na radku 186 najdes
sLog.outString...blablabla
a musis to nahradit za
sLog->outString...
A potom na radku 187 mas CITYConquest misto CityConquest - je to case sensitive.
Tím to bylo, ale vyhodil mi error city_conquest_portal.cpp a je opravdu veliký..možná se to tu už řešilo, ale nevíte kde je problém prosím? Ale brseker měl pravdu..dávám +rep
Nový Error:
../game/libgame.a(ScriptMgr.cpp.o): In function `ScriptMgr::Initialize()': ScriptMgr.cpp:(.text+0x6fd9): undefined reference to `CityConquest' ScriptMgr.cpp:(.text+0x6fde): undefined reference to `CityConquestMgr::LoadCities()' ../scripts/libscripts.a(city_conquest_portal.cpp.o): In function `city_conquest_portal::OnGossipHello(Player*, Creature*)': city_conquest_portal.cpp:(.text._ZN20city_conquest_portal13OnGossipHelloEP6PlayerP8Creature[city_conquest_portal::OnGossipHello(Player*, Creature*)]+0x2e): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal13OnGossipHelloEP6PlayerP8Creature[city_conquest_portal::OnGossipHello(Player*, Creature*)]+0x38): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal13OnGossipHelloEP6PlayerP8Creature[city_conquest_portal::OnGossipHello(Player*, Creature*)]+0x66): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal13OnGossipHelloEP6PlayerP8Creature[city_conquest_portal::OnGossipHello(Player*, Creature*)]+0x90): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal13OnGossipHelloEP6PlayerP8Creature[city_conquest_portal::OnGossipHello(Player*, Creature*)]+0x16e): undefined reference to `CityConquest' ../scripts/libscripts.a(city_conquest_portal.cpp.o):city_conquest_portal.cpp:(.text._ZN20city_conquest_portal13OnGossipHelloEP6PlayerP8Creature[city_conquest_portal::OnGossipHello(Player*, Creature*)]+0x174): more undefined references to `CityConquest' follow ../scripts/libscripts.a(city_conquest_portal.cpp.o): In function `city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)': city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x2b6): undefined reference to `CityConquestMgr::StartSiege(int, int)' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x2dc): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x2e6): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x30e): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x330): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x3b8): undefined reference to `CityConquest' ../scripts/libscripts.a(city_conquest_portal.cpp.o):city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x3c8): more undefined references to `CityConquest' follow ../scripts/libscripts.a(city_conquest_portal.cpp.o): In function `city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)': city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x457): undefined reference to `CityConquestMgr::CanStartSiege(int, int)' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x5a7): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x5ad): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x5f2): undefined reference to `CityConquest' city_conquest_portal.cpp:(.text._ZN20city_conquest_portal14OnGossipSelectEP6PlayerP8Creaturejj[city_conquest_portal::OnGossipSelect(Player*, Creature*, unsigned int, unsigned int)]+0x5f8): undefined reference to `CityConquest' collect2: ld returned 1 exit status make[2]: *** [src/server/worldserver/worldserver] Error 1 make[1]: *** [src/server/worldserver/CMakeFiles/worldserver.dir/all] Error 2 make: *** [all] Error 2
-
Omlouvám se, za obnovení tématu, ale už se s tím patlám 4 dny a pořád nějaký errory až jsem se zasekl u tohoto:
/media/korunni/tom/Trinity2/trinitycore/src/server/game/Scripting/ScriptMgr.cpp: In member function âvoid ScriptMgr::Initialize()â: /media/korunni/tom/Trinity2/trinitycore/src/server/game/Scripting/ScriptMgr.cpp:186:10: error: request for member âoutStringâ in âACE_Singleton<TYPE, ACE_LOCK>::instance [with TYPE = Log, ACE_LOCK = ACE_Thread_Mutex]()â, which is of non-class type âLog*â /media/korunni/tom/Trinity2/trinitycore/src/server/game/Scripting/ScriptMgr.cpp:187:5: error: âCITYConquestâ was not declared in this scope [ 13%] Built target pch_Generate_worldserver [ 14%] Built target collision [ 14%] Built target authserver make[2]: *** [src/server/game/CMakeFiles/game.dir/Scripting/ScriptMgr.cpp.o] Error 1 make[1]: *** [src/server/game/CMakeFiles/game.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 79%] Built target scripts make: *** [all] Error 2
Omlouvám se, jestli je to nějaká pitomá chyba...vypadá to na chybu ve ScriptMgr.cpp ale mám vše v pořádku ne?
* You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "ScriptPCH.h" #include "Config.h" #include "DatabaseEnv.h" #include "DBCStores.h" #include "ObjectMgr.h" #include "OutdoorPvPMgr.h" #include "ScriptLoader.h" #include "ScriptSystem.h" #include "Transport.h" #include "../CityConquest/CityConquestMgr.h"
Předem vám děkuji za odpověď...
-
iptables ci jiny firewall ? kterej blokuje komunikaci ?
Nene...nic to neblokuje...prostě je to divný a pořád mi to nejde..
-
BIND IP máš všude 0.0.0.0 ?? Kdyžtak povol porty v routery zda máš....zkonroluj si správně realmlist v navicatu etc.
Bind IP mám na 0.0.0.0, porty by měly být nastavený a realmlist v navicatu je správně..tak já už fakt nevím
-
Mas dobry realmlist? xP
Ano mám..už jsem ho kontroloval nejmíň 4x
-
Zdravím
Mám takovej problém, se kterým jsem se ještě nesetkal a bohužel sem nenašel ani jeho řešení, tak mě za to prosím neukamenujte...
________________________________________________________________________________________________________________________________________________________________________________________________
- Snažím se to už vyřešit 3 dny, ale bez úspěchu. Mám nově vykompilovanej emulátor (na Linuxech Ubuntu 10.0), který je propojený s DB. Když ho zapnu, tak se auth i world servery rozjedou bez jakýchkoliv problémů (až na pár DB errorů, týkající se Questů atd.), ale když se chci připojit do hry, tak mi to hlásí buď: "Login server Down" nebo "Unable to connect. Please try again later. If the problem persists, Please contact technical support...atd."
- V DB auth, tabulce realmlist mám nastavenou veřejnou IP, přes kterou se napojuji na server a port zvolen 8085.
- Server zapínám přes putty v linuxu příkazem: screen --> while true; do nice -n 19 /zadaná_cesta/authserver -c /zadaná_cesta/authserver.conf; sleep 5; done
A tímto příkazem spouštím i worldserver. Oba emulátory jedou, ale zkrátka se mi nechce připojit..nevíte prosím někdo čím by to mohlo být?
Předem vám mnohokrát děkuji...
-
Segmentation fault som mal tiez skus reset OS kuknut logy napisalo sa mi to aj vtedy ked mi napr v db chybala tabulka guild_rewards ktoru som si nasledne urobil a potom mi to vsetko islo pekne
Dobrý..už víme kde byl problém..ale jinak děkuju za pomoc
ale pořád mám problém s tímto: Pak mam ještě problém, že každé připojení na server jako by byl automaticky spuštěn příkaz .char customize (vždy po relognutí serveru vám to změní jméno postavy)..koukal jsem do configů, ale tam jsem nic o char customize nenašel...
-
Zdravím vás všechny. Včera odpoledne nám v serverovně vypadl proud a byl zase znovu nahozen, bohužel server už neběží tak jak dřív a já nevím čím to, ale nic se neměnilo v configách ani v nastavení serveru. Jen vypadl proud.
-authserver mi hlásí tento error: Trinity realm can not bind to 0.0.0.0:3724
Koukal jsem do Configu authserveru ale tam je nastavený všechno defaultně tak jako dřív, ale najednou to nejde...
-worldserver se spouští normálně ale po chvilku spouštění vyplivne toto: Segmentation fault
server mi jede na ubuntu linuxech 10.0, tak kdyby někdo věděl, jak tyto erroy vyřešit...byl bych moc rád, já se s tím bohužel ještě nesetkal..
Pak mam ještě problém, že každé připojení na server jako by byl automaticky spuštěn příkaz .char customize (vždy po relognutí serveru vám to změní jméno postavy)..koukal jsem do configů, ale tam jsem nic o char customize nenašel...
Předem všem děkuji za rady...dám vám i + rep za pomoc...děkuji
-
Díky za návod ještě bych se chtěl zeptat jestli nevíš proč mi Nogg-it někdy restartuje PC.
Mně Noggit nikdy PC nerestartoval..nevím proč ti to dělá...promiň
-
A neznas nejaky program pro wotlk?
Já se wow editem zabývám a udělal jsem na to 2 tutoriály, kde právě využívám Noggit a i MyWarCraftStudio...link máš ZDE
-
Zdravim , Chtel bych poprosit jestli by mi nekdo nepomohl udelat funkctni wow server Tc2 na patch 3.3.5a.Jsem zacatecnik takze bych chtel porat s udelanim private srv pres hama protoze bych se chtel trochu zaucit v Db a kamosi trochu Gm commandy trenovat.Takze prosim jestli by mi nekdo nepomohl udelat srv. Potreboval bych prave poradit kde a co stahnout atd...prosim
Piste prosim na Skype : scott279 , nebo email [email protected] .
Snazil jsem se udelat srv ale marte , takze potrebuju hodne pomoct prosim byl bych vam moc vdecny.!
Pane bože...máš tu nejmíň milion tutoriálů, jak si vytvořit server na 3.3.5a a píšeš k tomu ještě do špatné sekce!
-
Téma doplněno o nový tutorial, jak nastavit vlastní hudbu ve wow lokaci pomocí patche!
- 1
[NÁBOR] Manius-Gigafun
in Poptávka
Posted · Report reply
Píše se nepřehlédli. Pravopis zdá se neni tvoje silná stránka a chci jen říci, že kdo by chtěl dělat na tomto serveru GM, tak nedoporučuji. Jako GM jsem tam byl a mám na to svůj názor. Jestli mou radu přijmete nebo ne, záleží na vás...