Registrarse

¿Else?

Estado
Cerrado para nuevas respuestas.

C!ro

Click the circles!
Bueno, mi duda es: ¿para qué es el else en el XSE?

Qué diferencia hay entre poner esto:

Código:
if 0x1 goto @inicio2
else goto @inicio3
A poner esto?

Código:
if 0x1 goto @inicio2
goto @inicio3
Eso es todo :D
 

Cheve

MoonLover~
Miembro de honor
... Segun mi XSE el "Else" no existe x'D

Pero usar

Compare LASTRESULT 0x
if 0x

etc es lo mismo que el Else en C ;P
 

C!ro

Click the circles!
Sí existe :p



Creo que le voy a enviar un MP a HackMew pidiéndole que haga un elseif en la próxima versión :p
 

Shiro~

*Scripter*
if 0x1 goto @inicio2
else goto @inicio3
end

es igual que:

if 0x1 goto @inicio2
comandos de @inicio3
end
 

Shiro~

*Scripter*
Funciana con los dos:
es algo asi:
if 0x1 goto @inicio2
if 0x0 goto @inicio3
end
en lugar de volver a poner if goto 0x0 pones else y sucede lo mismo :)
FUNCIONARIA PARA CALL Y GOTO
dejame provarlo en mi hack y edito...
 

Shiro~

*Scripter*
:s ¿¿¿que??? no entedi que me dijiste xD
pero el else es solo para valores de tru o false, ose cuando if puede ser 0 o 1
EDIT:
El ejemplo:
#org 0x777777
checkflag 0x4444
if 0x0 goto 0x222222
else goto 0x111111
end
 

Cheve

MoonLover~
Miembro de honor
Bueno, ahora que veo como es que se usa, lo veo como un comando innecesario, así como ese If 0x0 aquí:

if 0x1 goto @inicio2
if 0x0 goto @inicio3
end


Exceptuando que se Trate de Un Compare, donde puede haber más que 0x1 o 0x0 ese "If 0x0" está demás, ya que si el "If 0x1" Dice que no es 0x1 sigue el Script, pudiendo poner los comandos de @inicio3 debajo debajo de "if 0x1 goto @inicio2" en un solo Código.
 

Xuuki

holi
poniendolo en logica de programacion es un simple "ir a xx si yy no se cumple"
pero como toma la siguiente linea automaticamente si no se cumple la primera pues tambien lo veo innecesario (ya que estas haciendo saltos)
esto se aplicaria mas si tubieras algo asi:

if 0x1
camina arriba
habla con personaje x
else
no hagas nada

es solo un ejemplo para que entiendas un poco como podrias usarlo
espero y te alla quedado claro

edito-----
ya entendi bien a que te refieres
el primer codigo lo que hace es comparar si el resultado es "0x1", si esto es cierto, realizara los comandos de "inicio2", si el resultado es diferente de "0x1" (sea cual sea, 0x2, 0x3, en caso de tener varios resultados) saltara automaticamente a los comandos de "inicio3" siempre y cuando el resultado no sea "0x1"

el segundo codigo lo que hace es ver si el resultado es "0x1" si esto es cierto realizara los te de comandos de "inicio 2" e inmediatamente despues realizara un salto a "inicio 3", si el resultado es diferente de "0x1", no realizara los comandos de "inicio 2" y de automaticamente saltara a "inicio 3"

es algo enredado pero si hay diferencia entre usar else o no

espero y no haberte confundido aun mas
 

Shiro~

*Scripter*
Cheve_X dijo:
Bueno, ahora que veo como es que se usa, lo veo como un comando innecesario, así como ese If 0x0 aquí:

if 0x1 goto @inicio2
if 0x0 goto @inicio3
end


Exceptuando que se Trate de Un Compare, donde puede haber más que 0x1 o 0x0 ese "If 0x0" está demás, ya que si el "If 0x1" Dice que no es 0x1 sigue el Script, pudiendo poner los comandos de @inicio3 debajo debajo de "if 0x1 goto @inicio2" en un solo Código.
si es inesesario, solo era un ejemplo, una buena forma de usarle seria por ejemplo:

al darle un cabezazo a un arbol:
.
.
.
random 0x6 (un numero 1,2,3,4,5 o 6)
compare LASTRESULT 0x0
if 0x1 goto 0x81B0E32 (sale un hot hot)
compare LASTRESULT 0x1
if 0x1 goto 0x81B0E32(sale un aipon)
else goto 0x6B57D0 (si el randon no es 0 ni 1 no sale pokemon)
.
.
.
asi evitas repetir comandos
espero que ahora me ayas entendido :xD:
aqui el else tambien seria innesesario porque podrias poner (no sale pokemon) defrente :D pero ya esta en tu creatividad darle una utilidad, personalmente lo uso para no hacer muy largo un escrip.
SALU2
PD: me corrijo sobre lo de solo para valores de true y false
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
A ver... Ahora no voy a abrir el PKSV (y menos el XSE, que tendría que arrancar el virtualbox xD) porque soy muy vago, pero se me han ocurrido 2 utilidades para el else:
Esta es la más simple, aunque no creo que funcione:
Código:
if 0x0 setvar 1 25
else setvar 1 30
addvar 1 2
Si == 0x0, al final la variable 1 será 27, pero si no, será 32.

Y esta es la otra:
Código:
if 0x0 call @asdf
else call @qwerty
' aquí el script sigue, ya que en @asdf y @querty acabas volviendo con un return.
Pero no tengo ni idea de si funciona.

NO hay más aparte de if 0x0 y if 0x1.
¿Porqué?
A ver, lo que hacemos es un compare, verdad?
¿Y que es un compare?
Un compare es decirle al procesador de la gba "coge esto y esto, y dime si son iguales.".
¿Como nos lo dice?
Devolviendo un valor.
¿Como puede ser este valor?
True o False. Que es lo mismo que "1" o "0", o "0x1" o "0x0"


Pero la respuesta fácil es que el else es una cosa que sirve para que no tengamos que escribir código de más en los lenguajes de programación de alto nivel.
 
Estado
Cerrado para nuevas respuestas.
Arriba