qna_rpg
Thread Id: 11480
Thread Name: Dudas sobre scripts para RPG
#0
enanogm 17687
Buenas!

tengo un par de dudas
la primera:

¿Hay alguna forma de saber todos los comandos de RGSS? Porque todos los tutoriales y guías que encuentro solo muestran algunos comandos y quiero saber si hay algo que contenga todos los comandos. (Con "comandos" me refiero a sentencias, a instrucciones, tales como print, if then else, etc)

La otra duda: es algo tonta, pero no encuentro el scritp necesario. Resulta que yo, en mi juego, hay una parte en la que le doy al personaje 5 pokeballs, pero se las tengo que dar de a una, lo que lo hace sumamente tedioso. Mi duda es ¿cuál es el script que permite dar más de un objeto a la vez? Sé que hay, porque lo he visto en otros juegos, pero no lo encuentro.

Bueno, esas eran mis dudas.
Gracias por adelantado.
Saludos
#1
mgbbgm 15516
Que yo sepa no hay ningun manual con todos los comandos porque todos los manuales que he encontrado son para principiantes y seria muy confuso decirles todos los comandos a alguien que no sepa nada.
Y en cuanto al equipo de pokemons el script es:
Kernel.pbCreatePokemon

Se puede editar los pokemon en PokemonUtilities del editor en la def CreatePokemon.
Espero haberte ayudado.

Saludos
#2
enanogm 17687
Sí, entiendo lo que decís de tirarle todos los comandos a alguien que no sabe nada. Pero yo he estudiado varios lenguajes de programación (desde Pascal hasta Java, lo que estoy estudiando ahora) y todos los lenguajes cuentan con manuales en donde te enseñan los paradigmas de programación, y al final un apendice con todos los comandos, o similar. Es la única manera de poder manejar completamente un lenguaje, conociendo todas sus herramientas. Pero no he visto en ningún lado que alguien haya hecho algo así con el RGSS y la ayuda que trae el rpg sobre eso es precaria.... En todo caso, me imagino, sería como un manual medio o avanzado, no para principiantes, que es lo único que encuentro....

Con lo de las pokeballs, no me refería a dar un pokemon, sino al objeto, la pokeball, como cuando uno la compra. Por eso pregunto por como dar varios objetos a la vez y no pokemon. Por ejemplo: creo que en rojo fuego, al principio el prof te da 5 pokeballs para empezar a capturar; pero no te las da de a una, sino las 5 a la vez.

Bueno, espero haberme expresado mejor
#3
mgbbgm 15516
Ah, entendi mal xD.
Busca en el editor en PokemonField:
def Kernel.pbReceiveItem(item)
itemname=PBItems.getName(item)
if $ItemData[item][ITEMUSE]==3 || $ItemData[item][ITEMUSE]==4
Kernel.pbMessage(_INTL("\\se[]Obtained {2}!\\se[itemlevel]\\nIt contained {2}.\\wtnp[30]",$Trainer.name,itemname,PBMoves.getName($ItemData[item][ITEMMACHINE])))
else
Kernel.pbMessage(_INTL("\\se[]Obtained {2}!\\se[itemlevel]\\wtnp[30]",$Trainer.name,itemname))
end
if $PokemonBag.pbStoreItem(item)
pocket=pbNewPocket(item)
Kernel.pbMessage(_INTL("{1} put the {2}\r\nin the {3} Pocket.",$Trainer.name,itemname,PokemonBag.pocketNames()[pocket]))
return true
else
return false
end
end


Borra eso y en su lugar pones:
def Kernel.pbReceiveItem(item,quantity=1,plural=nil)
itemname=PBItems.getName(item)
pocket=pbNewPocket(item)
if $ItemData[item][ITEMUSE]==3 || $ItemData[item][ITEMUSE]==4
Kernel.pbMessage(_INTL("\\se[]Obtained {1}!\\se[itemlevel]\\nIt contained {2}.\\wtnp[30]",itemname,PBMoves.getName($ItemData[item][ITEMMACHINE])))
elsif quantity>1
if plural
Kernel.pbMessage(_INTL("\\se[]Obtained {1}!\\se[itemlevel]\\wtnp[30]",plural))
else
Kernel.pbMessage(_INTL("\\se[]Obtained {1}s!\\se[itemlevel]\\wtnp[30]",itemname))
end
else
Kernel.pbMessage(_INTL("\\se[]Obtained {1}!\\se[itemlevel]\\wtnp[30]",itemname))
end
if $PokemonBag.pbStoreItem(item,quantity) # If item can be added
if quantity>1
if plural
Kernel.pbMessage(_INTL("{1} put the {2}\r\nin the {3} Pocket.",$Trainer.name,plural,PokemonBag.pocketNames()[pocket]))
else
Kernel.pbMessage(_INTL("{1} put the {2}s\r\nin the {3} Pocket.",$Trainer.name,itemname,PokemonBag.pocketNames()[pocket]))
end
else
Kernel.pbMessage(_INTL("{1} put the {2}\r\nin the {3} Pocket.",$Trainer.name,itemname,PokemonBag.pocketNames()[pocket]))
end
return true
else # Can't add the item
return false
end
end


Y luego en el juego pon:
Kernel.pbReceiveItem(PBItems::POKEBALL,5)

Espero si haberte ayudado ahora.
#4
enanogm 17687
hola. si, me re sirvió
encima me fijé y ese script ya lo tenía, pasa que nunca me di cuenta, jajaja
re mal che....

bueno, lo único que en "POKEBALL" se debe escribir así: "POKeBALL" porque así es como está registrado y sino tira error, pero es lo de menos.

muchas gracias, duda resuelta
saludos