Onde tem Leak?
3 participantes
TeaM KingS :: Games: :: Warcraft: World Editor :: ::
Página 1 de 1
Onde tem Leak?
Olá galera, alguém, porfavor, pode me dizer se vê algum leak nesta trigger de skill que acabei de fazer?
E por fim... Como retirar este maldito "WAIT", que não gostaria de usar mas, sem ele os lights effects somem antes de aparecer?
IMAGEM:
(EDIT: Apesar de que, nesta trigger, não vejo tanto problema no wait, já que há variável para os effects e points e pelo cooldown da skill naturalmente não bugará com outra skill.)
E por fim... Como retirar este maldito "WAIT", que não gostaria de usar mas, sem ele os lights effects somem antes de aparecer?
- Spoiler:
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Teste
Actions
Set CasterPoint[1] = (Position of (Triggering unit))
Unit - Create 1 Peasant for (Owner of (Triggering unit)) at CasterPoint[1] facing Default building facing degrees
Unit - Add Fire Central to (Last created unit)
Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
For each (Integer A) from 1 to 40, do (Actions)
Loop - Actions
Unit - Create 1 Peasant for (Owner of (Triggering unit)) at CasterPoint[1] facing ((Real((Integer A))) x 9.00) degrees
Unit - Add Fire to (Last created unit)
Set CasterPoint[2] = (CasterPoint[1] offset by 600.00 towards ((Real((Integer A))) x 9.00) degrees)
Special Effect - Create a special effect at CasterPoint[2] using Abilities\Spells\Items\TomeOfRetraining\TomeOfRetrainingCaster.mdl
Special Effect - Destroy (Last created special effect)
Unit - Move (Last created unit) instantly to CasterPoint[2]
Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
Custom script: call RemoveLocation (udg_CasterPoint[2])
Set CasterPoint[3] = (CasterPoint[1] offset by (0.00, 600.00))
Set CasterPoint[7] = (CasterPoint[1] offset by (-350.00, -550.00))
Set CasterPoint[4] = (CasterPoint[1] offset by (350.00, -550.00))
Set CasterPoint[5] = (CasterPoint[1] offset by (-550.00, 280.00))
Set CasterPoint[6] = (CasterPoint[1] offset by (550.00, 280.00))
Set Up = 0
For each (Integer A) from 1 to 4, do (Actions)
Loop - Actions
Lightning - Create a Spirit Link lightning effect from source CasterPoint[(Up + 3)] to target CasterPoint[(Up + 4)]
Set Light[(Up + 1)] = (Last created lightning effect)
Set Up = (Up + 1)
Lightning - Create a Spirit Link lightning effect from source CasterPoint[7] to target CasterPoint[3]
Set Light[5] = (Last created lightning effect)
Wait 1.00 seconds
Custom script: call RemoveLocation (udg_CasterPoint[1])
Custom script: call RemoveLocation (udg_CasterPoint[3])
Custom script: call RemoveLocation (udg_CasterPoint[4])
Custom script: call RemoveLocation (udg_CasterPoint[5])
Custom script: call RemoveLocation (udg_CasterPoint[6])
Custom script: call RemoveLocation (udg_CasterPoint[7])
Lightning - Destroy Light[1]
Lightning - Destroy Light[2]
Lightning - Destroy Light[3]
Lightning - Destroy Light[4]
Lightning - Destroy Light[5]
IMAGEM:
- Spoiler:
(EDIT: Apesar de que, nesta trigger, não vejo tanto problema no wait, já que há variável para os effects e points e pelo cooldown da skill naturalmente não bugará com outra skill.)
DarTiN- Número de Posts : 476
Data de inscrição : 25/07/2010
Reputação : 33 Pontos : 25792
Re: Onde tem Leak?
A magia ficou muito boa Visualmente tanto quanto programada
não ha leaks que eu tenha visto
jogue os custon scripts de point acima do wait
basta um
local lightning udg_nomedavariavel
depois de destrui-lo use
set udg_nomedavariavel = null
simples agora se vc não querer usar local eu não vejo outra forma além de hashtables
só a variavel dos lightning effects que precissão ser locais
quando for postar trigger use a tag [ code] [ /code] para que o forúm não coma os espaços
não ha leaks que eu tenha visto
jogue os custon scripts de point acima do wait
- Spoiler:
- Custom script: call RemoveLocation (udg_CasterPoint[1])
Custom script: call RemoveLocation (udg_CasterPoint[3])
Custom script: call RemoveLocation (udg_CasterPoint[4])
Custom script: call RemoveLocation (udg_CasterPoint[5])
Custom script: call RemoveLocation (udg_CasterPoint[6])
Custom script: call RemoveLocation (udg_CasterPoint[7])
basta um
local lightning udg_nomedavariavel
depois de destrui-lo use
set udg_nomedavariavel = null
simples agora se vc não querer usar local eu não vejo outra forma além de hashtables
só a variavel dos lightning effects que precissão ser locais
quando for postar trigger use a tag [ code] [ /code] para que o forúm não coma os espaços
lcc- Número de Posts : 933
Data de inscrição : 13/07/2010
Reputação : 104 Pontos : 26294
Re: Onde tem Leak?
vlw, só me explica esta difernça, porfavor... MUI??? Até hj não sei o significado destas siglas. Procuro na net as vezes sem resposta.
Local da criação da light?
Este custom:set udg_nomedavariavel = null
Após destruir o local?
Local da criação da light?
Este custom:set udg_nomedavariavel = null
Após destruir o local?
DarTiN- Número de Posts : 476
Data de inscrição : 25/07/2010
Reputação : 33 Pontos : 25792
Re: Onde tem Leak?
MUI - Multi-Unit-Instanceable
Permite que a magia(ou outras coisas) possa ser usado por mais de uma unidade no mapa sem que bugue trave os efeitos
Só é possivel declarar variavel local no inicio da trigger (na verdade inicio da function)
ou seja os custon scripts que declarão locais tem que ficar antes de tudo até mesmo da action
Set CasterPoint[1] = (Position of (Triggering unit))
o custon script set udg_nomedavariavel = null
fica depois que vc destruiu os lightning
outra coisa eu numca declarei variavel local de GUI com array
mais em jass variavel com array ficaria assim
EX: local unit array unidade[0] = GetTriggerUnit()
porq sem udg_ porque udg_ só é usado como préfixo de variaveis globais de GUI
no meu caso eu estava declarando uma variavel direto em Jass
Permite que a magia(ou outras coisas) possa ser usado por mais de uma unidade no mapa sem que bugue trave os efeitos
- EX:
uma trigger não MUI- Código:
Events
Unit - A unit Dies
Conditions
Actions
Set unidade = (Triggering unit)
Wait 10.00 seconds
Game - Display to (All players) the text: (Name of unidade)
bom mais se uma unit morrer 2 segundos depois que a trigger foi disparada uma vez agora a variavel unidade (==) é igual a unidade que morreu depois
agora- Código:
Events
Unit - A unit Is attacked
Conditions
Actions
Set unidade = (Triggering unit)
Unit - Pause unidade
Wait 10.00 seconds
Unit - Unpause unidade
mais imagine que 4 segundos depois que uma unidade é pausada outra unit é atacada
então daqui 6 segundos ela sera despausada porq ela que é novo valor da variavel unit
Só é possivel declarar variavel local no inicio da trigger (na verdade inicio da function)
ou seja os custon scripts que declarão locais tem que ficar antes de tudo até mesmo da action
Set CasterPoint[1] = (Position of (Triggering unit))
o custon script set udg_nomedavariavel = null
fica depois que vc destruiu os lightning
outra coisa eu numca declarei variavel local de GUI com array
mais em jass variavel com array ficaria assim
EX: local unit array unidade[0] = GetTriggerUnit()
porq sem udg_ porque udg_ só é usado como préfixo de variaveis globais de GUI
no meu caso eu estava declarando uma variavel direto em Jass
lcc- Número de Posts : 933
Data de inscrição : 13/07/2010
Reputação : 104 Pontos : 26294
Re: Onde tem Leak?
Boa expliação... Entendi.
Sabia o que o santo fazia mas não sabia o nome dele (sobre MUI), mas se eu uso uma wait, com uma variável em que eu declaro claramente qual a unidade com;
Acho que nestes casos o problema é menor. Mesmo havendo um WAIT
Sabia o que o santo fazia mas não sabia o nome dele (sobre MUI), mas se eu uso uma wait, com uma variável em que eu declaro claramente qual a unidade com;
- Código:
(Unit-type of (Triggering unit)) Equal to "UNIT específica"
ou
(Ability being cast) Equal to "Spell Específica"
Acho que nestes casos o problema é menor. Mesmo havendo um WAIT
DarTiN- Número de Posts : 476
Data de inscrição : 25/07/2010
Reputação : 33 Pontos : 25792
Re: Onde tem Leak?
tipo imagine que um hero tenha uma habilidade Refresh
Reseta o cooldown de todas as magias de todos os aliados
agora imagine que o hero use a magia que vc postou a trigger inicial em menos de 1 segundo
o outro hero usa Refresh o hero usa a magia q ↑ novamente
a variavel unit type também seria mudada dinovo ...
os lightning ficarião no local até o fim do jogo caso isso acontecer
por isso o uso de local seria 99% garantido que não iria bugar
OFF:vo durmi agora
Reseta o cooldown de todas as magias de todos os aliados
agora imagine que o hero use a magia que vc postou a trigger inicial em menos de 1 segundo
o outro hero usa Refresh o hero usa a magia q ↑ novamente
a variavel unit type também seria mudada dinovo ...
os lightning ficarião no local até o fim do jogo caso isso acontecer
por isso o uso de local seria 99% garantido que não iria bugar
OFF:vo durmi agora
lcc- Número de Posts : 933
Data de inscrição : 13/07/2010
Reputação : 104 Pontos : 26294
Re: Onde tem Leak?
Vlw Lcc, tópico encerrado... Pode ir dormir em paz, foi de grande ajuda. Dei um voto lá no bereguedeti.
DarTiN- Número de Posts : 476
Data de inscrição : 25/07/2010
Reputação : 33 Pontos : 25792
Re: Onde tem Leak?
bem, só para já responder esta e outras duvidas que você possa a ter, isso vai te ajudar muito, explica como destruir leaks
http://www.hiveworkshop.com/forums/triggers-scripts-269/things-leak-35124/
http://www.hiveworkshop.com/forums/triggers-scripts-269/things-leak-35124/
Raziel_br- Número de Posts : 3346
Data de inscrição : 22/10/2008
Reputação : 53 Pontos : 31984
Re: Onde tem Leak?
Ah, vlw, vou dar até uma olhada, na verdade já estou em um bom caminho, sei destruir quase todos os tipos já...
DarTiN- Número de Posts : 476
Data de inscrição : 25/07/2010
Reputação : 33 Pontos : 25792
Re: Onde tem Leak?
os mais importantes são os de grupos e de regiões, já que os de special effect é impossivel não saber destruir
xD
xD
Raziel_br- Número de Posts : 3346
Data de inscrição : 22/10/2008
Reputação : 53 Pontos : 31984
Tópicos semelhantes
» [Resolvido][DUVIDA] Leak ou n Leak?
» [RESOLVIDO] Leak em MUI
» De onde saiu este bug
» [Resolvido] Leak Region
» O.o onde será?
» [RESOLVIDO] Leak em MUI
» De onde saiu este bug
» [Resolvido] Leak Region
» O.o onde será?
TeaM KingS :: Games: :: Warcraft: World Editor :: ::
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|