[tutorial]comandos jass
TeaM KingS :: Games: :: Warcraft: World Editor :: Tutoriais: Gui, Jass, Spells, Terrain, Modelagem, Textura :: Jass
[tutorial]comandos jass
Migração de Comandos de UI para JASS
Bem pessoal, estou me aprofundando mais em jass, nao sou nenhum genio viu?, mas estou aqui com uns comandos geralmente utilizados em spells UI. O objetivo deste post é a "migração" de UI em jass para as pessoas que estão meu cafuzas por não reconhecer quase nenhum comando jass com os comandos UI, principalmente o que importa na hora de criar spells como os EVENTS, CONDICTIONS, e algumas ACTIONS.
Este post vai estar se atualizando a medida que eu for achando mais comandos interessantes para os que querem spells em jass, mas ao msm tempo sente "saldade" da lógica UI, que msm que este post nao seja nenhum avanço para os estudantes jass , este post, como já havia dito, é para "migração".
Bem aqui vai a lista e as ocasioes para usa-las
a estrutura de um script jass tem um seguinte formato...
>funções que seram usadas depois<
>corpo principal<
(Funções são "blocos" de comandos que os ativam por um "chamado", que seria o "call" antes de chamar as funções
(Mesmo que as funções só executem quando chamadas, existe uma que é "chamada" assim que executa o script, em algumas (outras linguagens é a função "main" em jass é a função que vem como nome "Init_Trg_nome do trigger"
Nessas "funções que seram usadas" estão as condictions e actions, nao é preciso usar este padrao, alias é muita noobeza quando se usa só esse padrao, por que a logica usada para facilitar as coisas em jass nao incluem esta separação
>Events:
>Condiction:
>Actions:
Ate msm por que essas condictions sao os propios controles de fluxo (quando falo fluxo é if, else, condictions,etc...), colocadas durante as actions pelos programadores jass
bem vamos la:
Primeiro o comando muito usado é o de:
Event:a unit starts casting a effect of a ability
Ou algo do genero, em jass se coloca isso na função principal, que vou me referir como corpo, que é a ultima colocada, nao a coloque em outra ordem, a menos que realmente saiba o que esta fazendo, o comando para pegar este event é :
call TriggerRegistrerAnyUnitBJ("o nome da trigger que vai estar no nome do corpo tb",EVENT_PLAYER_UNIT_SPELL_EFFECT)
Bem é o seguinte, para ficar melhor para lembrar, sugiro um pouco de ingles, pois este call, significa "chamar" o que faz sentido, já que esta chamando o comando:
TriggerRegistrerAnyUnitBJ
Que ficaria traduzido +- assim: Trigger = Trigger , Registrer = registra ou registre, AnyUnit = unidade qualquer ( o que tb ta em UI, ja que na hora de pegar o event vc escolhe "a generic unit event" ou algo do tipo ), BJ = (nao tem significado, por q é uma sigla, qu na minha o?iniao é B.lizzard J.ass)
(Parametros são as informações passadas para uma função ou "bloco de comandos" contendo algo que a função vai usar
(em seus comandos
O primeiro parametro da função é nome da trigger que vai "registrar" ("o nome da trigger que vai estar no nome do corpo tb")em seguida o event de unidade (EVENT_PLAYER_UNIT_SPELL_EFFECT) que ficaria quase literalmente "evento efeito de uma spell de uma unidade de um jogador".
ai ficaria na function mais ou menos assim :
function InitTrig_Teste takes nothing returns nothing
set Teste = CreateTrigger()
call TriggerRegistrerAnyUnitBJ(gg_trg_Teste , EVENT_PLAYER_UNIT_SPELL_EFFECT)
endfunction
bem... PROXIMOOOO
o proximo comando éee loop, bem esse loop é parecido com o loop integer A de UI ou alguma coisa, nao lembro 0>0
so que é melhor por que da para fazer mais coisas do que apenas contagem como em UI, eu acho e>e
a estrutura é
loop
exitwhen "condição boleana, ou seja que retorna true ou false"
comando ....
endloop
É o seguinte essa condição boleana é mais ou menos assim a logica
>se 1 nao é igual a 1 retorna false,se 1=1 retorna true, , ai sai do loop<
Msm que eu tenha dado essa comparação idiota do ca*** .Pode se usar variaveis, comparar unidade , etc... é porque a expressao exitwhen significa do ingles "sair quando" o que fica perfeito com a logica tipo "sair quando 1=1" é a msm coisa que "exitwhen 1=1" ,
entao ficaria quase assim
local integer oi=1
loop
exitwhen oi=2
call DisplayTextToForce(GetPlayersAll(),"oiii")
set oi=oi+1
endloop
o que se vc for testar ia mostrar a mensagem "oiii" no jogo e depois nao ia mostrar mais, porque no final dos comandos coloquei que a variavel "oi" seja oi+1, e ja que ele ja era 1, fica 2, entao a condição ficaria na proxima vez true, entao ia sair do loop.
...PROXIMOOO
essas a seguir sao comando para definir variaveis, e commo ja tem igualzinhas em UI, nao vou explicar por que é a msm coisa
tipo
(UI) > set unitDeTeste=Trigger Unit
(JASS) > set unitDeTeste=GetTriggerUnit()
vio? a msm coisa para "target of ability being cast" que é GetSpellTarget()
ate a proxima, que eu vou ter aula daqui a pouco ^^ (se olharem a hora do post é 12:09 )
qualquer coisa postem ai
Atualizando:lista de rawcodes (codigos usados em programação jass para se referir a uma spell ou unit-type
- Spoiler:
Última edição por Iky em 2011-06-08, 11:07, editado 3 vez(es)
Re: [tutorial]comandos jass
Como ja sabem , eu acho, a estrutura de um script jass tem um seguinte formato...
>funções que seram usadas depois<
>corpo principal<
Isso é sintaxe do jass e de muitas outras linguagens. Você só pode usar functions que já foram compiladas. Ou seja, functions que vieram antes da function de inicialização (o seu corpo principal) ja foram compiladas.
=====================================================
Achei esse post seu até com boa intenção. Mas não presta como tutorial. Muitos nem sabe o que é um parametro, como cria uma function, o que é um valor de retorno, nem sabem como se faz um IF...
Você devia tentar ensinar essas coisas antes.
Uma sugestão pra finalizar: Faça alguem ter interesse pelo seu tutorial, não fique usando emotions, sinais, etc. Use negrito, sublinhado ou italico para indicar algo importante.
Bills- Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 32039
Re: [tutorial]comandos jass
Quem dera eu saber GUI quanto mais JASS, mas assim que conseguir me virar em GUI pretendo começar a aprender JASS.
Ouve o que o Bills falou, deixar em negrito/colorido sempre atrai mais a atenção, e faz alguns preguiçosos lerem.
+REP
Re: [tutorial]comandos jass
GUI não é requerimento para aprender jass. Jass é como o nome dele diz, Just Another Script Sintaxe, ou seja, apenas mais uma linguagem. Linguagens de programação foram todas feitas para ser aprendidas independentes de outra. Quando eu aprendi java (mesmo que foi depois do vJass), não existia um GUI do java. Então, apenas tomem coragem. Leiam os tutoriais basicos e suas duvidas serão respondidas por Jassers voluntarios.
Bills- Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 32039
Re: [tutorial]comandos jass
Re: [tutorial]comandos jass
Bills- Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 32039
Re: [tutorial]comandos jass
Re: [tutorial]comandos jass
Bills- Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 32039
Re: [tutorial]comandos jass
Re: [tutorial]comandos jass
Mas aconselho voce a usar o JNPG, ajuda muito aqueles que estão aprendendo jass.
Bills- Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 32039
Re: [tutorial]comandos jass
^^ é realmente bom.
Re: [tutorial]comandos jass
Bills- Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 32039
Re: [tutorial]comandos jass
Bills- Número de Posts : 1446
Data de inscrição : 04/12/2010
Reputação : 173 Pontos : 32039
Re: [tutorial]comandos jass
rafaelsalessi- Número de Posts : 295
Data de inscrição : 18/06/2011
Reputação : 10 Pontos : 24924
» [Tutorial] Introdução do Jass
» [Tutorial]Link de tutoriais jass
» [Tutorial]Mensagem em jass/explicação
» [Tutorial] Basico sobre Jass
TeaM KingS :: Games: :: Warcraft: World Editor :: Tutoriais: Gui, Jass, Spells, Terrain, Modelagem, Textura :: Jass