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:  
Sign in to follow this  
Paran

C++ Target Error

Recommended Posts

Zdravím Vás,

 

mám npc,které má ve scriptě nastaveno ,aby cástilo určitý spell to funguje.

 

Chyba je v tom ,že ten spell cástí na sebe a né na target.

 

Pomohl by někdo ?

 

SCRIPT:

http://pastebin.com/U8yudFmi

Share this post


Link to post
Share on other sites

Zkus změnit

 

lich->CastSpell(me, SPELL_ICEBLOCK_TRIGGER, true);

 

na

 

lich->CastSpell(target, SPELL_ICEBLOCK_TRIGGER, true);

Share this post


Link to post
Share on other sites

Nebo by možna šlo i takhle:

 

lich->CastSpell(%t, SPELL_ICEBLOCK_TRIGGER, true);

 

%t označuje Target taky.

Share this post


Link to post
Share on other sites

To píše že "target" nebyl declarován.

 

Dejvor: To píše ,že ten znak tam nemá být (expected-primary expression before % token.

Edited by Paran

Share this post


Link to post
Share on other sites

A neskoušel si tam dat target enemy ?Jednoznačně tam nemá bít "me" tudiš to znamená že ten spell ma castit na sebe.

Share this post


Link to post
Share on other sites

lich->CastSpell(targetenemy, SPELL_ICEBLOCK_TRIGGER, true);

lich->CastSpell(target enemy, SPELL_ICEBLOCK_TRIGGER, true);

 

Error při kompilaci "není to deklarované".

 

Tohle jsem už vyzkoušel a pořád error.

Share this post


Link to post
Share on other sites

Kvůli tobě jdu otevřít zdrojáky...

 

 

EDIT:

Dej tam

 

pTarget

Edited by Nex

Share this post


Link to post
Share on other sites

Nex-> Píše to ,že to není deklarované,z jakého scriptu to taháš ? Nebo kde to deklarovat.

Share this post


Link to post
Share on other sites

Hele, dávaš tam ICE BLOCK ? Pokuď dobře vím, tak to hodí kocku jen na tebe.Ale varianta je i tá, že to hodí na target.

Share this post


Link to post
Share on other sites

Dejvor: Tedkon ten ICEBLOCK hodí Lich King na sebe ,ale má to hodit na Tiriona,který po startu eventu proti němu běží.

Share this post


Link to post
Share on other sites

lich->CastSpell(target=Tirion, SPELL_ICEBLOCK_TRIGGER, true);

 

nebo:

 

lich->CastSpell(target Tirion, SPELL_ICEBLOCK_TRIGGER, true);

Edited by Dejvor

Share this post


Link to post
Share on other sites

Hej dohajzlu s prominutím se omlouvám, že jsem sprostý, ale nejde to jinak...proč sem nedáš celej script?Jak ti fakt můžu pomoct, když netuším co tam deklaruješ..já se o WoW nezajímám nebudu to někde šířit...nejde mi o nějaké extra body nebo co...že jsem king nebo něco podobného..prostě ti chci pomoct..tak buď dej script nebo čau.Hotové.

Share this post


Link to post
Share on other sites

Vytlač si oko.Když nechceš dát kód

Share this post


Link to post
Share on other sites

Boze, vy jste experti...

Pridej tam neco jako:

Unit* target = GetTarget();

Samozrejme to GetTarget bude asi potreba od aktualniho NPC brat, nevim, jak tam mas pojmenovanou promennou s nim, kdyztak hod cely script.

Share this post


Link to post
Share on other sites

Brsekere..a o co ho celou dobu žádám?Napíšu mu příspěvek..a on ho přebije tím, že napíše nejde to..zase není deklarované..jak mu mám pomoci?Hňup jeden,

Share this post


Link to post
Share on other sites

Nex: máš PM ;) .. PS: když jsem psal ten příspěvek,ještě jsem tvůj topic neviděl.

Share this post


Link to post
Share on other sites

Nex: Jenze ty tu pises o jakychsi vymyslenych promennych, kterych on muze mit nazev treba asfd, ja tu napsal funkci, kterou ma pouzit.

Share this post


Link to post
Share on other sites

Celkem mě ty rady pobavily :)

 

Nevím, jak to teď vypadá v TrinityCore, neviděl jsem její zdroják déle jak půl roku, ale myslim, že tam starý funkce stále budou.. Zkus ten "blok" scriptu vyměnit za tohle:

                       case 9:
                           if(Creature* lich = Unit::GetCreature(*me, uiLichKingGUID))
                               lich->CastSpell(lich->getVictim(), SPELL_ICEBLOCK_TRIGGER, true);
                           uiIntroTimer = 2000;
                           break;

Share this post


Link to post
Share on other sites

Spichy: Super,to se zkompilovalo ,ale ve hře nikdo nic nevycástil.

tak zkus místo lich->getVictim() dát me->getVictim() to už by jít mělo

Edited by Spichy

Share this post


Link to post
Share on other sites

Je boss -> Lich King a začíná to tak ,že Tirion má gossip kde dám "start" a ten Tirion se rozeběhne proti Lich Kingovi a Lich King by měl zmrazit Tiriona ,aby přežil plošňáky (IKčko).Jenže Lich King zmrazí sám sebe (na starém scriptu),po tvojí úpravě se ten spell vůbec nevycástí -> PMko.

Share this post


Link to post
Share on other sites

Je boss -> Lich King a začíná to tak ,že Tirion má gossip kde dám "start" a ten Tirion se rozeběhne proti Lich Kingovi a Lich King by měl zmrazit Tiriona ,aby přežil plošňáky (IKčko).Jenže Lich King zmrazí sám sebe (na starém scriptu),po tvojí úpravě se ten spell vůbec nevycástí -> PMko.

 

V tom případě se musí zvolit target pomocí scriptu, jelikož lich king a tirion budou friendly.. Chvilku strpení, jen to sepíšu a editnu tenhle příspěvek.

 

EDIT:

Zkus skompilovat tohle:

                       case 9:
                           if(Creature* lich = Unit::GetCreature(*me, uiLichKingGUID))
                               if(Creature* tirion = Unit::GetCreature(*me, uiTirionGUID))
                                   lich->CastSpell(tirion, SPELL_ICEBLOCK_TRIGGER, true);
                           uiIntroTimer = 2000;
                           break;

 

EDIT2: Aha, teď mi došlo, že je to script pro Tiriona a že původní verze byla udělána správně.. Tohle nebude script side issue, ale DB issue.. nejspíše budeš mít špatně nastavený frakce u Lich Kinga a Tiriona, protože, když jsou mezi sebou friendly, tak to zacástí automaticky na sebe.. Zkus to co jsem napsal tady, možná to pomůže možná ne. Pokud to však nepomůže, dej si script do původní podoby a změň factionIDčka.

                       case 9:
                           if(Creature* lich = Unit::GetCreature(*me, uiLichKingGUID))  
                               lich->CastSpell(me, SPELL_ICEBLOCK_TRIGGER, true);   
                           uiIntroTimer = 2000;
                           break;

Edited by Spichy

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×