TeaM KingS
[center]Ola Convidado, seja bem vindo ao TeaM KingS !

Nós temos tutoriais sobre o WarCraft World Editor: se você tiver alguma duvida pode perguntar que os moderadores ou membros experientes vão lhe ajudar.

Para melhor utilizar nossos recursos é extremamente recomendado que esteja logado em nosso fórum e que leia o nosso regulamento oficial.

Também temos fóruns sobre DotA AllstarS, com guias, estratégias, e muito mais!



Dêem uma olhada por favor

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Dêem uma olhada por favor

Mensagem por DarTiN em 2010-10-03, 13:09

Fiz uma skill básica de comando para a skill LOCUST SWARM do Crypt Lord.

Esta são as triggers: (As trÊs triggers dverão ser vistas)

Spoiler:
Código:
Nerbub Skill
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Locust Swarm
    Actions
        Set HeroLocust = (Triggering unit)
        Unit - Add Locust Target  to (Triggering unit)
        Unit - Add Return Locust  to (Triggering unit)

Spoiler:
Código:
Nerub Target
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Locust Target
    Actions
        Set UnitLocustTarget = (Target unit of ability being cast)
        Set PointLocustTarget = (Target point of ability being cast)
        Set LocustSwarm = (Units of type Locust)
        -------- ----- SE A ESCLHA FOR POINT TARGET ----- --------
        Unit Group - Pick every unit in LocustSwarm and do (Actions)
            Loop - Actions
                Unit - Order (Picked unit) to Attack-Move To PointLocustTarget
        -------- ----- SE A ESCLHA FOR UNIT TARGET ----- --------
        Unit Group - Pick every unit in LocustSwarm and do (Actions)
            Loop - Actions
                Unit - Order (Picked unit) to Attack UnitLocustTarget
        Custom script:  call RemoveLocation (udg_PointLocustTarget)
EDIT: Há um erro de grupo nesta trigger abaixo, pois se a swarm retornar ao Hero elas não morrem, devem ser removidas do game, isso já vou resolver.
Spoiler:
Código:

Remove Target
    Events
        Unit - A unit Dies
    Conditions
        (Unit-type of (Dying unit)) Equal to Locust
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Number of units in LocustSwarm) Equal to 0
            Then - Actions
                Unit - Remove Locust Target  from HeroLocust
                Unit - Remove Return Locust  from HeroLocust
                Custom script:  call DestroyGroup (udg_LocustSwarm)
            Else - Actions

Sendo que: O efeito não ficou como eu queria, Vou ter que colocar as units para atacar alvos aleatórios em um local, isso melhorará o efeito visual --- Sei fazer isso.
Tanto para um alvo ou para point.

O meu problema é na hora que eles retornam.

Estou tentando fazer estes comandos não anularem a skill. É o que acontece. Com o novo comando as units parecem ignorar a skill. Assim não retornam ao HERO.

Gostaria de refazer o efeito dela. para a swarm voltar a cercar o Nerubian e também não perder o tempo da skill. Enfim, se alguém me der uma luz sobre isso acho que a maior parte consigo sozinho. De qualquer forma se eu conseguir vou postar a skill aqui. Já que criei um tópico.

Grato!!!!
avatar
DarTiN

Número de Posts : 476
Data de inscrição : 25/07/2010
Reputação : 33 Pontos : 14167

Warning Necropost
0 / 1000 / 100


Voltar ao Topo Ir em baixo

Re: Dêem uma olhada por favor

Mensagem por lcc em 2010-10-03, 23:47

você quer dizer retornar ao hero e recuperar a vida dele ??
se for isso seria um pouco complicado... você teria que contar cada ataque dado por um locust e quando esse numero de ataques for X ele retornar ao Hero e recuperar a vida dele (isso seria facil de fazer se vc adicionar uma skill de heal ,com casting range pequeno, no locust e ordenar ele usa no hero)

para os locust voltarem no hero quando um certo tempo se passar (fim da spell)
vc também teria que fazer contagens com variaveis com o passar do tempo quando essa contagen chegar a X ordena elas retornarem para o hero mais vc teria que remove-las manualmente (eu acho)

Para identificar quando um locust foi invocado eu não sei se o event abaixo funciona
Unit - A unit Spawns a summoned unit
mais se ñ funcionar teria que ser unit enter in entire map
ai vc adiciona o locust em um grupo e faz as contagens com hashtables ou adiciona o locust em um loop (similar aquele daquela spell minha)


Quer ajudar alguém? Então leia isso

____________________________________
avatar
lcc

Número de Posts : 933
Data de inscrição : 13/07/2010
Reputação : 104 Pontos : 14669

Warning Necropost
0 / 1000 / 100


Voltar ao Topo Ir em baixo

Re: Dêem uma olhada por favor

Mensagem por DarTiN em 2010-10-03, 23:59

É um pouco complicado sim. Vou tentar aqui.

sobre Hashtables, não uso quase nada nisso... Não sei mesmo.
avatar
DarTiN

Número de Posts : 476
Data de inscrição : 25/07/2010
Reputação : 33 Pontos : 14167

Warning Necropost
0 / 1000 / 100


Voltar ao Topo Ir em baixo

Re: Dêem uma olhada por favor

Mensagem por lcc em 2010-10-04, 00:03

então use loops como o dito acima ...
mais vale lembrar que ele não é tão eficiente... ele é funcional mais não é 100% eficiente


Quer ajudar alguém? Então leia isso

____________________________________
avatar
lcc

Número de Posts : 933
Data de inscrição : 13/07/2010
Reputação : 104 Pontos : 14669

Warning Necropost
0 / 1000 / 100


Voltar ao Topo Ir em baixo

Re: Dêem uma olhada por favor

Mensagem por DarTiN em 2010-10-04, 16:09

Resolvi Mudá-la. Ficou assim:

Spoiler:
Código:

Trigger 1 - Locust
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Locust Swarm
    Actions
        Set Nerubian = (Triggering unit)
        Set Nerubianposition = (Position of Nerubian)
        Unit - Add Target  to Nerubian
        Unit - Create 1 Peasant for (Owner of Nerubian) at Nerubianposition facing Nerubianposition
        Unit - Add a 30.00 second Generic expiration timer to (Last created unit)
        Custom script:  call RemoveLocation (udg_Nerubianposition)

Trigger 2 - Locust Attack
    Events
        Unit - A unit Is attacked
    Conditions
        (Unit-type of (Attacking unit)) Equal to Locust
    Actions
        Set AttackedPoint = (Position of (Attacked unit))
        Unit - Create 1 Swordsman for (Owner of Nerubian) at AttackedPoint facing AttackedPoint
        Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
        Unit - Add Locust Target  to (Last created unit)
        Unit - Order (Last created unit) to Undead Crypt Lord - Locust Swarm
        Custom script:  call RemoveLocation (udg_AttackedPoint)

Trigger 3 - Remove Skill
    Events
        Unit - A unit Dies
    Conditions
        (Unit-type of (Dying unit)) Equal to Peasant
    Actions
        Unit - Remove Target  from Nerubian

Trigger 4 - Nerub Target
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Target
    Actions
        Set NerubAttack = (Units of type Plague Locust)
        Unit Group - Pick every unit in NerubAttack and do (Actions)
            Loop - Actions
                Unit - Order (Picked unit) to Attack (Target unit of ability being cast)
        Custom script:  call DestroyGroup (udg_NerubAttack)

DOWNLOAD DO MAPA

Vejam como ficou e opinem por favor:
avatar
DarTiN

Número de Posts : 476
Data de inscrição : 25/07/2010
Reputação : 33 Pontos : 14167

Warning Necropost
0 / 1000 / 100


Voltar ao Topo Ir em baixo

Re: Dêem uma olhada por favor

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum