Jump to content
  • Announcements

    • Xmat

      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.
    • Replik

      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
    • Aristo

      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.
    • Aristo

      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:  

Palmik

WoWResource Developer
  • Content count

    408
  • Joined

  • Last visited

Everything posted by Palmik

  1. [DEV] Deadmines

    Jednoduchý script na VanCleefa. Pokud VanCleef dělá ještě něco jiného a někdo z Vás o tom ví, prosím kontaktujte mne. /* *||||||||||||||||||||||||| *|| || *|| UNDER DEVELOPMENT || *|| || *||||||||||||||||||||||||| */ #include "../../sc_defines.h" #define SAY_75 "Lapdogs, all of you!" #define SAY_50 "Fools! Our cause is righteous!" #define SAY_25 "The Brotherhood shall prevail!" #define SAY_AGGRO "None may challenge the Brotherhood!" #define SAY_KILLED_UNIT "And stay down!" #define SPELL_VANCLEEF_ALLIES 5200 struct MANGOS_DLL_DECL boss_vancleefAI : public ScriptedAI { boss_vancleefAI(Creature *c) : ScriptedAI(c) {EnterEvadeMode();} uint32 SpellName_Timer; bool InCombat; bool seventyfive; bool fifty; bool twentyfive; bool aggro; void EnterEvadeMode() { m_creature->RemoveAllAuras(); m_creature->DeleteThreatList(); m_creature->CombatStop(); InCombat = false; seventyfive = false; fifty = false; twentyfive = false; aggro = false; DoGoHome(); } void AttackStart(Unit *who) { if (!who) return; if (who->isTargetableForAttack() && who!= m_creature) { DoStartMeleeAttack(who); InCombat = true; } } void MoveInLineOfSight(Unit *who) { if (!who || m_creature->getVictim()) return; if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) { float attackRadius = m_creature->GetAttackDistance(who); if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) { if(who->HasStealthAura()) who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); if (!m_creature->IsWithinDistInMap(who, ATTACK_DISTANCE)) DoStartMeleeAttack(who); if (!aggro) { DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); aggro = true; } } } } void KilledUnit(Unit *player) { DoYell(SAY_KILLED_UNIT, LANG_UNIVERSAL, NULL); } void UpdateAI(const uint32 diff) { if (!m_creature->SelectHostilTarget()) return; if( m_creature->getVictim() && m_creature->isAlive()) { if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 75) && (!seventyfive )) { DoYell(SAY_75, LANG_UNIVERSAL, NULL); seventyfive = true; } if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 50) && (!fifty)) { DoCast(m_creature,SPELL_VANCLEEF_ALLIES); DoYell(SAY_50, LANG_UNIVERSAL, NULL); fifty = true; } if ((m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 25) && (!twentyfive)) { DoYell(SAY_25, LANG_UNIVERSAL, NULL); twentyfive = true; } DoMeleeAttackIfReady(); } } }; CreatureAI* GetAI_boss_vancleef(Creature *_Creature) { return new boss_vancleefAI (_Creature); } void AddSC_boss_vancleef() { Script *newscript; newscript = new Script; newscript->Name="boss_vancleef"; newscript->GetAI = GetAI_boss_vancleef; m_scripts[nrscripts++] = newscript; } Zde VanCleef ktery využívá simple_ai #include "../sc_defines.h" #include "../creature/simple_ai.h" #define SAY_75 "Lapdogs, all of you!" #define SOUND_75 5782 #define SAY_50 "Fools! Our cause is righteous!" #define SOUND_50 5783 #define SAY_25 "The Brotherhood shall prevail!" #define SOUND_25 5784 #define SAY_AGGRO "None may challenge the Brotherhood!" #define SOUND_AGGRO 5780 #define SAY_KILLED_UNIT "And stay down!" #define SOUND_KILLED_UNIT 5781 #define SPELL_VANCLEEF_ALLIES 5200 CreatureAI* GetAI_boss_vancleef(Creature *_Creature) { SimpleAI* ai = new SimpleAI (_Creature); ai->AggroYell[0] = SAY_AGGRO; ai->Aggro_Sound[0] = SOUND_AGGRO; ai->Kill_Yell[0] = SAY_KILLED_UNIT; ai->Kill_Sound[0] = SOUND_KILLED_UNIT; //75% ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = 0; ai->Spell[0].Cooldown = -1; ai->Spell[0].First_Cast = -75; ai->Spell[0].Cast_Target_Type = CAST_SELF; ai->Spell[0].Yell[0] = SAY_75; ai->Spell[0].Sound[0] = SOUND_75; //50% ai->Spell[1].Enabled = true; ai->Spell[1].Spell_Id = 0; ai->Spell[1].Cooldown = -1; ai->Spell[1].First_Cast = -50; ai->Spell[1].Cast_Target_Type = CAST_SELF; ai->Spell[1].Yell[0] = SAY_50; ai->Spell[1].Sound[0] = SOUND_50; //25% ai->Spell[2].Enabled = true; ai->Spell[2].Spell_Id = SPELL_VANCLEEF_ALLIES; ai->Spell[2].Cooldown = -1; ai->Spell[2].First_Cast = -25; ai->Spell[2].Cast_Target_Type = CAST_SELF; ai->Spell[2].Yell[0] = SAY_50; ai->Spell[2].Sound[0] = SOUND_50; return ai; } void AddSC_boss_vancleef() { Script *newscript; newscript = new Script; newscript->Name="boss_vancleef"; newscript->GetAI = GetAI_boss_vancleef; m_scripts[nrscripts++] = newscript; } Sneed's Shredder #include "../sc_defines.h" #include "../creature/simple_ai.h" #define SPELL_SNEED 5141 #define SPELL_TERRIFY 7399 #define SPELL_PAIN 3603 CreatureAI* GetAI_boss_sneed_shreder(Creature *_Creature) { SimpleAI* ai = new SimpleAI (_Creature); ai->Death_Spell[0].Enabled = true; ai->Death_Spell[0].Spell_Id = SPELL_SNEED; ai->Death_Spell[0].Cast_Target_Type = CAST_SELF; //Terrify ai->Spell[0].Enabled = true; ai->Spell[0].Spell_Id = SPELL_TERRIFY; ai->Spell[0].Cooldown = 10000; ai->Spell[0].First_Cast = 5000; ai->Spell[0].Cast_Target_Type = CAST_HOSTILE_RANDOM //Pain ai->Spell[1].Enabled = true; ai->Spell[1].Spell_Id = SPELL_PAIN; ai->Spell[1].Cooldown = 15000; ai->Spell[1].First_Cast = 10000; ai->Spell[1].Cast_Target_Type = CAST_HOSTILE_RANDOM; return ai; } void AddSC_boss_sneed_shreder() { Script *newscript; newscript = new Script; newscript->Name="boss_sneed_shreder"; newscript->GetAI = GetAI_boss_sneed_shreder; m_scripts[nrscripts++] = newscript; }
  2. [DEV] Ring of Blood

    /* *||||||||||||||||||||||||| *|| || *|| UNDER DEVELOPMENT || *|| || *||||||||||||||||||||||||| */
  3. Začátky v C++

    sam v C++ moc neumim, ale mohu doporucit nektere kurzy na iternetu, ketre vas pri nejmensim uvedou do problematiky C++ je tam nekolika dilny kurz na C++ a ke stazeni tak jsou popripade internetova vydani nekterych knih zabivajicih se C++ Vyvojove prostredi pro programovaci jazyky Ca C++ program je freeware
  4. [DEV] CF: Slave Pens

    Quagmirran /* Copyright (C) 2006,2007 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * 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, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *||||||||||||||||||||||||| *|| || *|| UNDER DEVELOPMENT || *|| || *||||||||||||||||||||||||| */ #include "../../../sc_defines.h" #define SPELL_POISON_BOLT_VOLLEY 38655 #define SPELL_UPPERCUT 39069 #define SPELL_ACID_GEYSER 38739 #define SPELL_CLEAVE 40505 struct MANGOS_DLL_DECL boss_quagmirranAI : public ScriptedAI { boss_quagmirranAI(Creature *c) : ScriptedAI(c) {EnterEvadeMode();} uint32 PoisonBoltVolley_Timer; uint32 Uppercut_Timer; uint32 AcidGeyser_Timer; uint32 Cleave_Timer; bool InCombat; void EnterEvadeMode() { m_creature->RemoveAllAuras(); m_creature->DeleteThreatList(); m_creature->CombatStop(); InCombat = false; DoGoHome(); PoisonBoltVolley_Timer = 20000; Uppercut_Timer = 20000; AcidGeyser_Timer = 25000; Cleave_Timer = 10000; } void AttackStart(Unit *who) { if (!who) return; if (who->isTargetableForAttack() && who!= m_creature) { DoStartMeleeAttack(who); InCombat = true; } } void MoveInLineOfSight(Unit *who) { if (!who || m_creature->getVictim()) return; if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) { float attackRadius = m_creature->GetAttackDistance(who); if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) { if(who->HasStealthAura()) who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); if (!m_creature->IsWithinDistInMap(who, ATTACK_DISTANCE)) DoStartMeleeAttack(who); InCombat = true; } } } void UpdateAI(const uint32 diff) { if (!m_creature->SelectHostilTarget()) return; if( m_creature->getVictim() && m_creature->isAlive()) { if (PoisonBoltVolley_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_POISON_BOLT_VOLLEY); PoisonBoltVolley_Timer = 30000; } else PoisonBoltVolley_Timer -= diff; if (Uppercut_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_UPPERCUT); Uppercut_Timer = 25000; } else Uppercut_Timer -= diff; if (Cleave_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_CLEAVE); Cleave_Timer = 10000; } else Cleave_Timer -= diff; if (AcidGeyser_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_ACID_GEYSER); AcidGeyser_Timer = 50000; } else Uppercut_Timer -= diff; DoMeleeAttackIfReady(); } } }; CreatureAI* GetAI_boss_quagmirran(Creature *_Creature) { return new boss_quagmirranAI (_Creature); } void AddSC_boss_quagmirran() { Script *newscript; newscript = new Script; newscript->Name="boss_quagmirran"; newscript->GetAI = GetAI_boss_quagmirran; m_scripts[nrscripts++] = newscript; } SQL (Upraven meele DMG, přidán skrip) REPLACE INTO `creature_template` (`entry`, `modelid_m`, `modelid_f`, `name`, `subname`, `minlevel`, `maxlevel`, `minhealth`, `maxhealth`, `minmana`, `maxmana`, `armor`, `faction`, `npcflag`, `speed`, `rank`, `mindmg`, `maxdmg`, `attackpower`, `baseattacktime`, `rangeattacktime`, `flags`, `dynamicflags`, `size`, `family`, `bounding_radius`, `trainer_type`, `trainer_spell`, `class`, `race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `combat_reach`, `type`, `civilian`, `flag1`, `equipmodel1`, `equipmodel2`, `equipmodel3`, `equipinfo1`, `equipinfo2`, `equipinfo3`, `equipslot1`, `equipslot2`, `equipslot3`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `RacialLeader`, `ScriptName`) VALUES (17942, 18224, 0, 'Quagmirran', '', 64, 64, 100000, 100000, 0, 0, 0, 168, 0, '1.48', 1, 700, 1220, 1679, 1347, 1584, 1, 0, 1, 0, 2, 0, 0, 0, 0, 1200, 1600, 100, 3, 5, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17942, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 1, 3, 0, 'boss_quagmirran'); Rokmar the Crackler /* Copyright (C) 2006,2007 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * 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, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *||||||||||||||||||||||||| *|| || *|| UNDER DEVELOPMENT || *|| || *||||||||||||||||||||||||| */ #include "../../../sc_defines.h" #define SPELL_WATTER_SPIT 40086 #define SPELL_GRIEVOUS_WOUND 31956 #define SPELL_ENSARING_MOSS 31948 struct MANGOS_DLL_DECL boss_rokmar_the_cracklerAI : public ScriptedAI { boss_rokmar_the_cracklerAI(Creature *c) : ScriptedAI(c) {EnterEvadeMode();} uint32 WatterSpit_Timer; uint32 GrievousWound_Timer; uint32 EnsaringMoss_Timer; bool InCombat; void EnterEvadeMode() { InCombat = false; m_creature->RemoveAllAuras(); m_creature->DeleteThreatList(); m_creature->CombatStop(); InCombat = false; DoGoHome(); WatterSpit_Timer = 15000; GrievousWound_Timer = 15000; EnsaringMoss_Timer = 25000; } void AttackStart(Unit *who) { if (!who) return; if (who->isTargetableForAttack() && who!= m_creature) { DoStartMeleeAttack(who); InCombat = true; } } void MoveInLineOfSight(Unit *who) { if (!who || m_creature->getVictim()) return; if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) { float attackRadius = m_creature->GetAttackDistance(who); if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) { if(who->HasStealthAura()) who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); if (!m_creature->IsWithinDistInMap(who, ATTACK_DISTANCE)) DoStartMeleeAttack(who); InCombat = true; } } } void UpdateAI(const uint32 diff) { if (!m_creature->SelectHostilTarget()) return; if( m_creature->getVictim() && m_creature->isAlive()) { if (WatterSpit_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_WATTER_SPIT); WatterSpit_Timer = 15000; } else WatterSpit_Timer -= diff; if (GrievousWound_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_GRIEVOUS_WOUND); GrievousWound_Timer = 25000; } else GrievousWound_Timer -= diff; if (EnsaringMoss_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_ENSARING_MOSS); EnsaringMoss_Timer = 50000; } else EnsaringMoss_Timer -= diff; DoMeleeAttackIfReady(); } } }; CreatureAI* GetAI_boss_rokmar_the_crackler(Creature *_Creature) { return new boss_rokmar_the_cracklerAI (_Creature); } void AddSC_boss_rokmar_the_crackler() { Script *newscript; newscript = new Script; newscript->Name="boss_rokmar_the_crackler"; newscript->GetAI = GetAI_boss_rokmar_the_crackler; m_scripts[nrscripts++] = newscript; } SQL (Upraveno dmg, hp a přidán skript) REPLACE INTO `creature_template` (`entry`, `modelid_m`, `modelid_f`, `name`, `subname`, `minlevel`, `maxlevel`, `minhealth`, `maxhealth`, `minmana`, `maxmana`, `armor`, `faction`, `npcflag`, `speed`, `rank`, `mindmg`, `maxdmg`, `attackpower`, `baseattacktime`, `rangeattacktime`, `flags`, `dynamicflags`, `size`, `family`, `bounding_radius`, `trainer_type`, `trainer_spell`, `class`, `race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `combat_reach`, `type`, `civilian`, `flag1`, `equipmodel1`, `equipmodel2`, `equipmodel3`, `equipinfo1`, `equipinfo2`, `equipinfo3`, `equipslot1`, `equipslot2`, `equipslot3`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `RacialLeader`, `ScriptName`) VALUES (17991, 17729, 0, 'Rokmar the Crackler', '', 64, 64, 97000, 97000, 0, 0, 0, 168, 0, '1.48', 1, 450, 600, 1679, 1347, 1584, 1, 0, 1, 0, 2, 0, 0, 0, 0, 700, 900, 100, 3, 7, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17991, 17991, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 1, 3, 0, 'boss_rokmar_the_crackler'); Mennu the Betrayer Ani jedno kouzlo, které castí není fukční. ---MOBs--- Coilfang Slavehandler /* Copyright (C) 2006,2007 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> * 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, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *||||||||||||||||||||||||| *|| || *|| UNDER DEVELOPMENT || *|| || *||||||||||||||||||||||||| */ #include "../../sc_defines.h" // Slavehandler spell's #define SPELL_HAMSTRING 26211 #define SPELL_HEAD_CRACK 35161 #define SPELL_DAZED 13496 struct MANGOS_DLL_DECL npc_slavehandlerAI : public ScriptedAI { npc_slavehandlerAI(Creature *c) : ScriptedAI(c) {EnterEvadeMode();} Creature *npc_wastewalker_slave; npc_wastewalker_slave = m_creature->SummonCreature(17963, m_creature->GetPositionX() + 3, m_creature->GetPositionY() + 3, m_creature->GetPositionZ(),0,TEMPSUMMON_CORPSE_DESPAWN,900000); Creature *npc_wastewalker_slave; npc_wastewalker_slave = m_creature->SummonCreature(17963, m_creature->GetPositionX(), m_creature->GetPositionY() + 3, m_creature->GetPositionZ(),0,TEMPSUMMON_CORPSE_DESPAWN,900000); Creature *npc_wastewalker_slave; npc_wastewalker_slave = m_creature->SummonCreature(17963, m_creature->GetPositionX() + 3, m_creature->GetPositionY(), m_creature->GetPositionZ(),0,TEMPSUMMON_CORPSE_DESPAWN,900000); npc_wastewalker_slave->SetUInt32Value(UNIT_NPC_EMOTESTATE,EMOTE_STATE_WORK); // Timers void EnterEvadeMode() { InCombat = false; m_creature->RemoveAllAuras(); m_creature->DeleteThreatList(); m_creature->CombatStop(); InCombat = false; DoGoHome(); // Timer = xx } void AttackStart(Unit *who) { if (!who) return; npc_wastewalker_slave->setFaction(168); if (who->isTargetableForAttack() && who!= m_creature) { DoStartMeleeAttack(who); InCombat = true; } } void MoveInLineOfSight(Unit *who) { if (!who || m_creature->getVictim()) return; if (who->isTargetableForAttack() && who->isInAccessablePlaceFor(m_creature) && m_creature->IsHostileTo(who)) { float attackRadius = m_creature->GetAttackDistance(who); if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->GetDistanceZ(who) <= CREATURE_Z_ATTACK_RANGE && m_creature->IsWithinLOSInMap(who)) { if(who->HasStealthAura()) who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); DoStartMeleeAttack(who); InCombat = true; } } } void KilledUnit(Unit *player) { } void JustDied(Unit* Killer); { if ((npc_wastewalker_slave->GetHealth()*100 / npc_wastewalker_slave->GetMaxHealth()< 100)) { npc_wastewalker_slave->setFaction(168); Unit* target = NULL; target = SelectUnit(SELECT_TARGET_TOPAGGRO,0); } else { npc_wastewalker_slave->setFaction(/*neutral*/); npc_wastewalker_slave->SetUInt32Value(UNIT_NPC_EMOTESTATE,EMOTE_STATE_KNEEL); } } void UpdateAI(const uint32 diff) { if (!m_creature->SelectHostilTarget()) return; if( m_creature->getVictim() && m_creature->isAlive()) { //Spells } } }; CreatureAI* GetAI_npc_slavehandler(Creature *_Creature) { return new npc_slavehandlerAI (_Creature); } void AddSC_npc_slavehandler() { Script *newscript; newscript = new Script; newscript->Name="npc_slavehandler"; newscript->GetAI = GetAI_Slavehandler; m_scripts[nrscripts++] = newscript; } Na videích jsem odkoukal skoro všechny timery u bossů (ty co jsem neokoukal, tam jsou otazníky, proto Vás offikáře prosím, aby jste mi dali vědět, kdyby jste něco zjistili) K Slavehandlerovi bych potřeboval vědět, co dělají ti jeho otroci když je "zachráníte" Měl jsem ještě hotového Slavehealera, ale omylem jsem ho přemazal Quagmirranem
  5. [DEV] Hyjal...

    ---------------------------------------------------------------------- Hyjal Npcs About 75% Without Abomination and Ghoul and without says. Some timers and IDs must not be incorrect. Big thanks goes to the DeeDee Anetheron 80% Some timers must not be correct. Kaz'Rogal 80% Some timers must not be correct. Azgalor 80% Some timers must not be correct. hyjal_functions.h Function for spawning more creatures. (Reworked DeeDee's version to be more eficient (i thing) for save a lot of lines ) Some datas for spawn and final destination (Thx to DeeDee) Jaina and her spawning events Vanishing part is not. ----------------------------------------------------------------- Pokud někdo něco ví ohledně Hyjalu. (Jak funguje spawnování, s kým musím pokecat atd... tak mi to prosím sdělte) Vývoj můžete sledovat i ZDE.
  6. Nemohl jsem si odpustit napsat Vám, kteří o ní ještě nevíte (jelikož veřejnosti byla představena teprve nedávno). Jedná se o databázi pro MaNGOS která je zatím v plenkách, ale já osobně jí jako správný patriot držím palce a přeji mnoho úspěchů Zde je její domovské fórum, kde se dozvíte více.
  7. Noční život na serveru

    Neni problem udelat stripterku, ktera se Vam za penize, pokud budete mit pozadovany lvl svlekne, zatancuje a na x % Vam hodi nejakou nakazu ala pohlavni nemoc S hospodama bych to udělal tak, že bych tam dovolil chodit low lvlům, hodil tam npc co by útočili jen na xlvl+ (jak už tady někdo řekl) což by snad taky neměl být problém. Tančící elfka může být udělána třebas i v db pomocí creature_addon.
  8. Help !! Jak Udělat že NPC sedí nebo spi ??

    Tabulka creature_addon sloupeček emote...
  9. Všeobecné diskuse

    Ahoj, nebylo by dobré změnit název "Všeobecné Diskuse" v sekci MaNGOS na "MaNGOS - Všeobecné Diskuse" analogicky to samé i u Ascentu? Proč by to bylo dobré? Protože, když tam někdo napíše, oběvěví se to v nových zprávách a člověk nikdy neví, jestli se jedná o MaNGOS nebo Ascent. Někomu to přijde jako banalita, ale mně by to pomohlo.
  10. Blizzard a Mangos

    MaNGOS project nelegální není, teoreticky k běhu blizzardovské dbc nepotřebuje. Co je však protiprávní je (řekl bych) to, že si hráči mění realmlist a taky to, že se připojují na server pomocí blizzard klienta
  11. [DEV] Hyjal...

    Tak jo, update Nyní to již i zkompilujete, dále je tam Jaina a její spawnování. PS: Sry za to že je to v AJ, nemám sílu to teď zase po sobě překládat zptátky
  12. [RELEASE] - The Goat Database Rev 1

    Teda nevím, ale když někomu radím, tak si nepřipadám vyvýšený. Jinak na holku máš nice avatara
  13. UDB 0.7.5!!! :)

    Trošku nesmyslný duel, když UDB je z části právě SDB na které již jako takové tedy vývoj nepokračuje.
  14. [DEV] Hyjal...

    Jop díky, jsem rád, že jste se na to podívali... nepostuju sem každou změnu, časem sem hodím další verzi... vývoj můžete sledovat i zde. Edit: To Kupkoid ty immunity neřešim, teď okolo toho byly čachry, až se to ustálí, dodám je, zatím si je můžete smazat, jinak nebude kompilace s posledníma revizema možná.
  15. S tím si dovolím nesouhlasit. Je možné, že je tam více nascriptovaných bossů, ale rozhodně je jich jen málo, které jsou alepoň z 80% blizzlike. Na MaNGOSu je již většina tbc raid instancí complete a to velice blizzlike, až na některé složitější bosse, nebo ty, co potřebují core support.
  16. Když pominu žvásty ATOMA zareaguji si na Voice chat... Pokud chceme máme docílit blizzlike, tedy býti co nejblíže offiku, pak by jsme my v Evropě měli mít Voice chat vypnutý, stejně jako na offi serverech. Dále by mne zajímalo, co je na Amtrixu víc opraveného, než-li na MaNGOSU, jak zde tvrdil DarkSlider
  17. české hlášky z W3 ve WoWu

    No, čeký hlášku jsou dobré, např "Za kladivo zhouby" (Nebo z houby? )
  18. C4 hosting

    Ahoj, chtěl jsem se zeptat, zda-li má někdo (popřípadě jaké) zkušenosti s tímto hostingem, jehož služby mne zaujaly.
  19. Zajímalo by mne o co má Ascent lepší předpoklady, než-li MaNGOS, krom multireadingu, bez kterého se dá jakž-takž obejít.
  20. Imho pokud ti to tak vadí, že je to v této sekci, tak není problém, aby to nějaký mód dal na nějaké neutral místo, ale lock, nebo smazání nemá cenu, navíc každý by zde měl mít možnost v rámci slušnosti vyjádřit svůj názor.
  21. Seres si do huby... 500lidí má PRŮMĚRNÝ MaNGOS server (Pak můžeme zmínit Sargeras a Narnias, kde je třeba 1k lidí a jede to třeba 10 a víc hodin... a to jsou to "jen" české servery), který jede třeba den v kuse. Dále zde někdo říkal, že si ve scriptech ascentu můžeš udělat vše a bude to "čupr"... tak to můžu říct jedno... bude to pěkný maglajz. MaNGOS má na jednoduché příšery, takzvaný GenericAI (pak jen přidáš příšeře kouzlo v db), pak má SimpleAI system, který třeba tobě stane (nejen tobě, cou jsem koukal na ncdb scripty) vystačil na všechny raid dungy. A pak je zde klasik system. Naproti tomu na ascentu musíš dělat každou příšeru zvlášť, takže pokud by měl mít ascent všechny scripty dělané jak do teď tak bossové budou čajíčky a scripty budou zabírat několikanásobně více kódu. Jak říkáš, kdo by se na Ascentu sral s expením, je to akorát tak dobrý na fun, když tam stejně nic nejde. EDIT: Hh, polepším se... btw to s tím svázáním a "ehm" vypadá jakoby jsi měla ráda ehm...
  22. Johny klidni se, to je v tabulce player_levelstats Jinak axxo to co říkáš je trošku mistifikující, spíš bych se zeptal takhle. "(MaNGOS): Chcete emu kde je 900lidí, jede skoro jako offia padne 2x za den, nebo méně? (Ascent): Nebo chcete emu, které utáhne 1000lidí, vše je tam zabugované, pořádné db se nedočkáš a bossové budou mít IQ tykve a zbyde Vám nejspíš jen mlácení klackama?" Já jen doufám, že ascent brzo doopravdy zkončí i kdyby to mělo být stejně nemorální jako jeho začátek.
  23. Kde hledat scripty

    Přesně proto se mi nelíbí Ascent (Taková rychlokvaška ). Scripty dělá milion lidí a pak podle toho vypadaj (taky podle toho, že jsou dělaný tak, aby to bylo co nejrychleji), že by to bylo trošku blizzlike to ne. Ale proti gustu žádný dišputát.
  24. Hackovaci program ? WTF

    Pošli link zda-li můžeš, mail je v profilu, nebo na začátku této diskuse.
  25. Nove sidlo SDB & MoDB

    Musis si prvne udelat strukturu tabulek...
×