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!



[Duvida] Problemas com vJASS

Ir em baixo

[Duvida] Problemas com vJASS

Mensagem por Tamires em 2012-07-16, 00:04

A área de perguntas está com algum bug,não estou conseguindo postar lá por isso coloquei aqui ;X


Bom,como estou começando a fazer magias pro meu mapa,que antes era apenas "Papel",me deparei com um problema frequente que acontece todas as vezes,sempre que tento criar um.

Aqui está o código,de cara o que pode estar errado?

Spoiler:

library MultiShock initializer Init

globals

private constant integer ACTIVATOR_RAWCODE = 'A003'

private constant integer DUMMY_RAWCODE = 'h000'

private constant string DUMMY_STRING = "carrionswarm"

private constant real TARGET_ARC = 300

private constant integer WAVE_NUMBER_PER_LEVEL = 3
private constant integer WAVE_NUMBER_BASE = 0

private constant real TARGET_ARC_CUTOFF = TARGET_ARC/6.28319

private constant real TARGET_OFFSET = 150

private constant real DUMMY_DURATION = 1
endglobals

private function MSCondition takes nothing returns boolean
return GetSpellAbilityId() == ACTIVATOR_RAWCODE
endfunction

private constant function DummyFilter takes nothing returns boolean
return true
endfunction

private function MultiShock takes nothing returns nothing
local unit tu = GetTriggerUnit()
local location tl = GetSpellTargetLoc()
local unit lu
local player p = GetOwningPlayer(tu)
local integer im = WAVE_NUMBER_BASE + GetUnitAbilityLevel(tu,ACTIVATOR_RAWCODE) * WAVE_NUMBER_PER_LEVEL
local integer i = 0
local real x = GetUnitX(tu)
local real y = GetUnitY(tu)
local real tx = GetLocationX(tl)
local real ty = GetLocationY(tl)
local real distance = SquareRoot((x-tx)*(x-tx)+(y-ty)*(y-ty))
local real circum
local real r

call RemoveLocation(tl)
set tl = null


if distance > TARGET_ARC_CUTOFF then
set circum = TARGET_ARC/distance
set r = Atan2(ty-y,tx-x) - circum/2
else
set circum = 6.28319
set r = GetUnitFacing(tu)*bj_DEGTORAD
endif
set circum = circum/im

loop
exitwhen i == im
set lu = CreateUnit(p,DUMMY_RAWCODE,x,y,r*bj_RADTODEG)
call UnitApplyTimedLife(lu,'BTLF',DUMMY_DURATION)
call IssuePointOrder(lu,DUMMY_STRING,x+TARGET_OFFSET*Cos(r),y+TARGET_OFFSET*Sin(r))
set r = r + circum
set i = i + 1
endloop

set tu = null
set lu = null
set p = null
endfunction

private function Init takes nothing returns nothing
local trigger t = CreateTrigger()
local integer i = 0
local filterfunc ff = Filter(function DummyFilter)
loop
exitwhen (i >= bj_MAX_PLAYER_SLOTS)
call TriggerRegisterPlayerUnitEvent(t, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, ff)
set i = i + 1
endloop
call TriggerAddCondition(t,Condition(function MSCondition))
call TriggerAddAction(t,function MultiShock)
call DestroyFilter(ff)
set ff = null
endfunction
endlibrary

@obs : estou parcialmente de volta,porem ainda viajando então não voltei totalmente =P


Tamires~♥
avatar
Tamires

Número de Posts : 487
Data de inscrição : 09/01/2012
Reputação : 27 Pontos : 15353

Warning Necropost
0 / 1000 / 100


Voltar ao Topo Ir em baixo

Re: [Duvida] Problemas com vJASS

Mensagem por Bills em 2012-07-16, 13:40

O que exatamante é o erro? Pois erros de compilação não tem nenhum. O que tem é umas coisas que você pode melhorar:
- Não precisa de por filter em Eventos, pode por null.
Código:
call TriggerRegisterPlayerUnitEvent(t, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
- E não use TriggerRegisterPlayerUnitEvent, use TriggerRegisterAnyUnitEventBJ. Ou melhor ainda, http://www.hiveworkshop.com/forums/jass-resources-412/snippet-registerplayerunitevent-203338/ .
- Nao precisa usar GetSpellTargetLoc(), use GetSpellTargetX() e GetSpellTargetY().
- Não crie triggers com Actions, apenas crie com Conditions.

Abaixo o seu código revisado com as sugestões que citei:
http://pastebin.com/vtQ4K8WT


Recomendo
Por que um jogo é bom? | Aprenda MUI | Mostre-se para nós!

avatar
Bills

Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 21094

Warning Necropost
35 / 10035 / 100


Voltar ao Topo Ir em baixo

Re: [Duvida] Problemas com vJASS

Mensagem por Tamires em 2012-07-16, 16:22

Ah bills,ainda estou aprendendo,por isso os erros x-x,foi mal..

Já fiz o que vc falou e ainda continua dando o mesmo erro,a magia não aparece no jogo.


Tamires~♥
avatar
Tamires

Número de Posts : 487
Data de inscrição : 09/01/2012
Reputação : 27 Pontos : 15353

Warning Necropost
0 / 1000 / 100


Voltar ao Topo Ir em baixo

Re: [Duvida] Problemas com vJASS

Mensagem por Bills em 2012-07-16, 19:00

Não citei erros, relaxa. Foram sugestões =)

O erro pode está fora do código. Voce pode me mandar um mapa com a sua magia?


Recomendo
Por que um jogo é bom? | Aprenda MUI | Mostre-se para nós!

avatar
Bills

Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 21094

Warning Necropost
35 / 10035 / 100


Voltar ao Topo Ir em baixo

Re: [Duvida] Problemas com vJASS

Mensagem por ArthusBehemoth em 2012-07-17, 14:15

Este topico ja esta resolvido?



Galera acessem o BLOG do meu mapa
http://www.wc3heroesofmidgard.blogspot.com/
VERSÃO FIX COM MUITAS NOVIDADES, + DE 25 CLASSES NOVAS, NOVOS ITEMS, NOVO TERRAIN NÃO PERCAM... EM BREVE
avatar
ArthusBehemoth

Número de Posts : 1061
Data de inscrição : 30/03/2011
Reputação : 62 Pontos : 17949

Warning Necropost
0 / 1000 / 100


Voltar ao Topo Ir em baixo

Re: [Duvida] Problemas com vJASS

Mensagem por Tamires em 2012-07-17, 16:24

Bills,eu descobri o que era!,era na própria magia,estava em CHANNEL e não INSTANT,por isso estava bugando.

Tópico resolvido.


Tamires~♥
avatar
Tamires

Número de Posts : 487
Data de inscrição : 09/01/2012
Reputação : 27 Pontos : 15353

Warning Necropost
0 / 1000 / 100


Voltar ao Topo Ir em baixo

Re: [Duvida] Problemas com vJASS

Mensagem por Fox em 2012-07-23, 20:53

Olá,
O formulario de duvidas foi removido temporarimente até a sua manutenção.

Até mais.
avatar
Fox

Número de Posts : 502
Data de inscrição : 04/03/2012
Reputação : 14 Pontos : 101485

Warning Necropost
0 / 1000 / 100


Voltar ao Topo Ir em baixo

Re: [Duvida] Problemas com vJASS

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo


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