angelwarrior Posted February 22, 2016 Posted February 22, 2016 (edited) Hice un script mirando otros de ejemplos para que al llegar a el nivel 15 este te diera algo. En caso contrario te diga que te faltan algunos niveles: prontera,154,173,5 script Capitán 657,{ set @BaseLevel,15; mes "Ando en busca de aventureros para"; mes "adentrarse en el dungeon de La Ciudad"; mes "de los Inicios"; mes "Necesitas ser sobre nivel 15"; next; if(BaseLevel >= @BaseLevel){ getitem 12622,1; } else{ set @blvlfalta, @BaseLevel - BaseLevel; mes "Lo siento te faltan "+blvlfalta+" niveles"; mes "ve a entrenar"; next; } close; } Pero el problema es que en el caso contrario me dice siempre que me faltan 0 niveles. No sé como solucionarlo. EDIT: Solucionado me faltaba un @ a blvlfalta Edited February 22, 2016 by angelwarrior Quote
Tragedy Posted February 22, 2016 Posted February 22, 2016 (edited) prontera,154,173,5 script Capitán 657,{ OnInit: setarray .Level, 15; end; mes "Ando en busca de aventureros para"; mes "adentrarse en el dungeon de La Ciudad"; mes "de los Inicios"; next; mes "Necesitas ser sobre nivel 15"; if (BaseLevel => 15) { getitem 12622,1; } else { mes "Lo siento te faltan "+.Level - BaseLevel+" niveles"; mes "ve a entrenar"; close; } Edited February 22, 2016 by Tragedy Quote
vomaito Posted February 23, 2016 Posted February 23, 2016 prontera,154,173,5 script Capitán 657,{ OnInit: set .@Level, 15; end; mes "Ando en busca de aventureros para"; mes "adentrarse en el dungeon de La Ciudad"; mes "de los Inicios"; next; mes "Necesitas ser sobre nivel 15"; if (BaseLevel => 15) { getitem 12622,1; } else { mes "Lo siento te faltan "+.@Level - BaseLevel+" niveles"; mes "ve a entrenar"; } close; } Cada vez que hablen con el NPC les dara el item, no se si eso quieras. Quote
angelwarrior Posted February 23, 2016 Author Posted February 23, 2016 prontera,154,173,5 script Capitán 657,{ OnInit: set .@Level, 15; end; mes "Ando en busca de aventureros para"; mes "adentrarse en el dungeon de La Ciudad"; mes "de los Inicios"; next; mes "Necesitas ser sobre nivel 15"; if (BaseLevel => 15) { getitem 12622,1; } else { mes "Lo siento te faltan "+.@Level - BaseLevel+" niveles"; mes "ve a entrenar"; } close; } Cada vez que hablen con el NPC les dara el item, no se si eso quieras. de que manera se podria hacer que lo diera una vez y luego nunca más? Quote
vomaito Posted February 23, 2016 Posted February 23, 2016 (edited) prontera,154,173,5 script Capitán 657,{ OnInit: set .@Level, 15; end; mes "Ando en busca de aventureros para"; mes "adentrarse en el dungeon de La Ciudad"; mes "de los Inicios"; next; mes "Necesitas ser sobre nivel 15"; if (BaseLevel => 15) { getitem 12622,1; } else { mes "Lo siento te faltan "+.@Level - BaseLevel+" niveles"; mes "ve a entrenar"; } close; } Cada vez que hablen con el NPC les dara el item, no se si eso quieras. de que manera se podria hacer que lo diera una vez y luego nunca más? prontera,154,173,5 script Capitán 657,{ OnInit: set .@Level, 15; end; mes "Ando en busca de aventureros para"; mes "adentrarse en el dungeon de La Ciudad"; mes "de los Inicios"; next; mes "Necesitas ser sobre nivel 15"; if (BaseLevel => 15) { if(itemEntregado != 1){ getitem 12622,1; set itemEntregado,1; }else{ mes "Ya te hemos dado el item"; } } else { mes "Lo siento te faltan "+.@Level - BaseLevel+" niveles"; mes "ve a entrenar"; } close; } Variables permanentes de player, no lo probe pero deberia de funcionar, cuando lo pruebes haz un segundo reloadscript para checar que la variable permanece. Suerte Edit para que salga un dialogo de entregado, cambia los espacios de indentacion por Tabuladores Edited February 23, 2016 by vomaito Quote
angelwarrior Posted February 24, 2016 Author Posted February 24, 2016 prontera,154,173,5 script Capitán 657,{ OnInit: set .@Level, 15; end; mes "Ando en busca de aventureros para"; mes "adentrarse en el dungeon de La Ciudad"; mes "de los Inicios"; next; mes "Necesitas ser sobre nivel 15"; if (BaseLevel => 15) { getitem 12622,1; } else { mes "Lo siento te faltan "+.@Level - BaseLevel+" niveles"; mes "ve a entrenar"; } close; } Cada vez que hablen con el NPC les dara el item, no se si eso quieras. de que manera se podria hacer que lo diera una vez y luego nunca más? prontera,154,173,5 script Capitán 657,{ OnInit: set .@Level, 15; end; mes "Ando en busca de aventureros para"; mes "adentrarse en el dungeon de La Ciudad"; mes "de los Inicios"; next; mes "Necesitas ser sobre nivel 15"; if (BaseLevel => 15) { if(itemEntregado != 1){ getitem 12622,1; set itemEntregado,1; }else{ mes "Ya te hemos dado el item"; } } else { mes "Lo siento te faltan "+.@Level - BaseLevel+" niveles"; mes "ve a entrenar"; } close; } Variables permanentes de player, no lo probe pero deberia de funcionar, cuando lo pruebes haz un segundo reloadscript para checar que la variable permanece. Suerte Edit para que salga un dialogo de entregado, cambia los espacios de indentacion por Tabuladores Por alguna razón no me carga Quote
vomaito Posted February 24, 2016 Posted February 24, 2016 Cambiaste los espacios por tabuladores? Tambien estos: prontera,154,173,5<*TAB*>script<*TAB*>Capitán<*TAB*>657, Quote
Echoes Posted February 24, 2016 Posted February 24, 2016 Perdón por colgarme al post, pero este código podría funcinarte: prontera,154,173,5 script Capitán 657,{ mes "Ando en busca de aventureros para"; mes "adentrarse en el dungeon de La Ciudad"; mes "de los Inicios"; next; mes "Necesitas ser sobre nivel 15"; if(BaseLevel >= .Level){ if(itemEntregado != 1){ getitem 12622,1; set itemEntregado,1; close; }else{ mes "Ya te hemos dado el item"; close; } }else{ mes "Lo siento te faltan "+(.Level-BaseLevel)+" niveles"; mes "ve a entrenar"; close; } OnInit: set .Level,15; end; } Edité algunas partes y ordené sentencias. Quote
vomaito Posted February 24, 2016 Posted February 24, 2016 Perdón por colgarme al post, pero este código podría funcinarte: prontera,154,173,5 script Capitán 657,{ mes "Ando en busca de aventureros para"; mes "adentrarse en el dungeon de La Ciudad"; mes "de los Inicios"; next; mes "Necesitas ser sobre nivel 15"; if(BaseLevel >= .Level){ if(itemEntregado != 1){ getitem 12622,1; set itemEntregado,1; close; }else{ mes "Ya te hemos dado el item"; close; } }else{ mes "Lo siento te faltan "+(.Level-BaseLevel)+" niveles"; mes "ve a entrenar"; close; } OnInit: set .Level,15; end; } Edité algunas partes y ordené sentencias. Hola, como pusiste los Tab? #Offtopic Quote
Echoes Posted February 24, 2016 Posted February 24, 2016 Hola, como pusiste los Tab? #Offtopic Cómo que cómo? con el tabulador en algún editor de .txt y luego lo pegué en la opción código q te da el foro o.o Quote
angelwarrior Posted February 25, 2016 Author Posted February 25, 2016 Perdón por colgarme al post, pero este código podría funcinarte: prontera,154,173,5 script Capitán 657,{ mes "Ando en busca de aventureros para"; mes "adentrarse en el dungeon de La Ciudad"; mes "de los Inicios"; next; mes "Necesitas ser sobre nivel 15"; if(BaseLevel >= .Level){ if(itemEntregado != 1){ getitem 12622,1; set itemEntregado,1; close; }else{ mes "Ya te hemos dado el item"; close; } }else{ mes "Lo siento te faltan "+(.Level-BaseLevel)+" niveles"; mes "ve a entrenar"; close; } OnInit: set .Level,15; end; } Edité algunas partes y ordené sentencias. Hola, como pusiste los Tab? #Offtopic Si, ahí funcionó. Yo la verdad soy nuevo en esto de los script, he estado aprendiendo mirando ejemplos y cosas. Pero aún sigo tan noob que te hare una pregunta , para que sirven esos Oninit o ON cosas? saludos Quote
vomaito Posted February 25, 2016 Posted February 25, 2016 Perdón por colgarme al post, pero este código podría funcinarte: prontera,154,173,5 script Capitán 657,{ mes "Ando en busca de aventureros para"; mes "adentrarse en el dungeon de La Ciudad"; mes "de los Inicios"; next; mes "Necesitas ser sobre nivel 15"; if(BaseLevel >= .Level){ if(itemEntregado != 1){ getitem 12622,1; set itemEntregado,1; close; }else{ mes "Ya te hemos dado el item"; close; } }else{ mes "Lo siento te faltan "+(.Level-BaseLevel)+" niveles"; mes "ve a entrenar"; close; } OnInit: set .Level,15; end; } Edité algunas partes y ordené sentencias. Hola, como pusiste los Tab? #Offtopic Si, ahí funcionó. Yo la verdad soy nuevo en esto de los script, he estado aprendiendo mirando ejemplos y cosas. Pero aún sigo tan noob que te hare una pregunta , para que sirven esos Oninit o ON cosas? saludos Son labels, digamos en programacion son como Lisenners, cuando pasa una accion se activa OnInit: Cuando se carga el NPC (se inicia la variable con ese valor en el caso del script). https://rathena.org/wiki/Basic_Scripting#Labels.2C_Goto.2C_and_Endaqui estan algunas, busca en la wiki ahi estan documentadas 1 Quote
Echoes Posted February 25, 2016 Posted February 25, 2016 Si, ahí funcionó. Yo la verdad soy nuevo en esto de los script, he estado aprendiendo mirando ejemplos y cosas. Pero aún sigo tan noob que te hare una pregunta , para que sirven esos Oninit o ON cosas? En resumen, las etiquetas (o labels en inglés) sirven como puntos de referencia para tu script. En este ejemplo, OnInit, todo lo que va en esta referencia se ejecutará cuando la carga de script de tu emulador se haya completado.. Algo así como que siempre que hagas @reloadscript o inicies de 0 tu emulador, cargará la información de esta etiqueta. Para las demás etiquetas, pueden ser On o no. Hay algunas que ya existen en el código de RO que se usan para cosas específicas, como es el caso de OnInit, pero hay otras que puedes inventar tu, también con prefijo On o no, dependiendo de lo que buscas. No te olvides poner +1 si te sirvió (?) 1 Quote
angelwarrior Posted February 26, 2016 Author Posted February 26, 2016 Perdón por colgarme al post, pero este código podría funcinarte: prontera,154,173,5 script Capitán 657,{ mes "Ando en busca de aventureros para"; mes "adentrarse en el dungeon de La Ciudad"; mes "de los Inicios"; next; mes "Necesitas ser sobre nivel 15"; if(BaseLevel >= .Level){ if(itemEntregado != 1){ getitem 12622,1; set itemEntregado,1; close; }else{ mes "Ya te hemos dado el item"; close; } }else{ mes "Lo siento te faltan "+(.Level-BaseLevel)+" niveles"; mes "ve a entrenar"; close; } OnInit: set .Level,15; end; } Edité algunas partes y ordené sentencias. Hola, como pusiste los Tab? #Offtopic Si, ahí funcionó. Yo la verdad soy nuevo en esto de los script, he estado aprendiendo mirando ejemplos y cosas. Pero aún sigo tan noob que te hare una pregunta , para que sirven esos Oninit o ON cosas? saludos Son labels, digamos en programacion son como Lisenners, cuando pasa una accion se activa OnInit: Cuando se carga el NPC (se inicia la variable con ese valor en el caso del script). https://rathena.org/wiki/Basic_Scripting#Labels.2C_Goto.2C_and_Endaqui estan algunas, busca en la wiki ahi estan documentadas Amigo puedes responderme por acá lo de el script del warp matando al mvp, que lo han borrado allá en la otra parte. saludos Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.