quarta-feira, 14 de outubro de 2009

IF

Primeiro post da parte de Programaçao na área Script(ing)

IF


O IF eh usado pra ativar certos comandos quando tal situaçao ocorre. Tecnicamente: "SE(IF) X é verdade, entao faça Y acontecer". Vc pode fazer o jogador ganhar uma arma qdo chega num carro ou bloco, por exemplo.

O IF eh usado desse jeito:




IF ( expressao )
//comando
ENDIF







expressaoA situaçao q faz o comando entre IF e ENDIF acontecer. Pode ser um COUNTER (explicado mais tarde) ou um check como HAS_CHARACTER_DIED (TAL_CHAR_MORREU, uma lista desses checks pode ser encontrada no GTA2 Scripting.doc)
comandoO comando que acontece quando o q ta dentro do IF ( ) eh verdade
ENDIFO final do IF. Todo IF deve terminar com um ENDIF


Variáveis


Os IFs podem ser usados de tudquantéjeito. Por exemplo, vc pode criar um IF dentro de um IF:


IF ( X )
//Esses comandos acontecem qdo X é verdade
 IF ( Y )
//Esses comandos acontecem qdo X e Y acontecem no jogo
ENDIF
ENDIF



Note que o segundo IF esta identado. Isso nao eh necessário, mas deixa o Script mais facil de se ler.

Vc tbm pode adicionar mais checks:



IF ( NOT ( X ) )
//Esses comandos acontecem qdo X não eh verdade
ENDIF



IF ( X )
//Esses comandos acontecem qdo X eh verdade
ELSE
//Esses comandos acontecem qdo X não eh verdade
ENDIF



IF ( ( X ) AND ( Y ) )
//Esses comandos acontecem qdo X e Y acontecem
ENDIF



ENDIF
IF ( ( ( X ) AND ( Y ) AND ( Z ) )
//Esses comandos acontecem qdo X, Y e Z sao verdade



IF ( ( X ) AND ( Y ) ) OR ( Z ) )
//Esses comandos acontecem qdo X e Y, ou apenas Z sao verdade
ENDIF



IF ( ( X ) OR ( Y ) )
//Esses comandos acontecem qdo X ou Y sao verdade
ENDIF



IF ( ( ( X ) AND ( Y ) ) AND ( Z ) )
//Esses comandos acontecem qdo X, Y e Z sao verdade
ENDIF


Há varias outras combinaçoes possiveis. Preste atençao ao colocamento dos parenteses: deve haver um fecha parenteses pra cada abre parenteses e só é possivel combinar duas situaçoes por vez.
Portanto isto está errado:



IF ( ( X ) AND ( Y ) AND ( Z ) )

Mas isto está correto:


IF ( ( ( X ) AND ( Y ) ) AND ( Z ) )

0 comentários: