Jump to content

Nanashi

Members
  • Posts

    59
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by Nanashi

  1. Es muy fácil, creas dos variables ligadas al personaje con " set Guardianes,1; " y " set Dragones,1; " haces que la asigne el npc al registrarte en dicha legión (por ejemplo en la de la Casa de Dragones pones una y en la de los Guardianes otra, claramente esto debes ponerlo en el momento en que se registra dentro de esa legión) y finalmente en cada uno de los scripts añades lo siguiente al principio del script: En el script de la Casa de Dragones añades al principio: if (Guardianes >= 1) { mes .@nombre$; mes "Ya te has unido a la legión de los Guardianes."; next; mes .@nombre$; mes "Sólo puedes registrarte en una legión."; close } En el script de los Guardianes añades al principio: if (Dragones >= 1) { mes .@nombre$; mes "Ya te has unido a la legión de la Casa de los Dragones."; next; mes .@nombre$; mes "Sólo puedes registrate en una legión."; close } De esta manera impides que un jugador pueda registrarse en las dos legiones, espero haberte ayudado con tu problema. Si tienes alguna otra duda no dudes en preguntar (y si no es mucho pedir y te he ayudado haz click en ). Te adjunto el script que subiste ya modificado y con la variable que te he puesto integrada para que veas cómo quedaría: /* ==== Anotaciones (Nanashi) ============================================================================== - He añadido la variable Guardianes, sin remover la que ya habías puesto de entregado ya que me imagino que la utilizarás para algún otro script. - He modificado un poco el código de los menus ya que el que usas no es el más recomendado. - He ido añadiendo algunas anotaciones y mejoras visuales (colores) a algún nombre. - Si te resulta algo complicado no dudes en mandarme un mensaje, mucha suerte y espero haberte ayudado. - El script no lo he probado aún pero estoy seguro de que funciona correctamente, si no es así avísame. ============================================================================================================= */ prontera,143,173,4 script Reclutadora Guardián 2122,{ set .@nombre$, "[^0065DF Reclutadora Guardián ^000000]"; /* ======= Cuando el jugador se ha registrado =========================== */ if ( Guarduianes >= 1) { mes .@nombre$; mes "Ya he enviado el mensaje,"; mes "deberías hablar con [^0065DF Shen ^000000]"; close; } /* ======= Si el jugador ya pertenece a la otra legión ================== */ if ( Dragones >= 1) { mes .@nombre$; mes "Ya te has unido a la ^FF0000Casa de Dragones^000000."; next; mes .@nombre$; mes "Sólo puedes registrarte en una legión."; close; } /* ======= Comienzo del Script =========================================== */ mes .@nombre$; mes "Mis saludos humano..."; mes "Soy la encargada del ^990099reclutamiento de los Guardianes^000000, mi nombre es Ámbar."; next; mes .@nombre$; mes "¿En qué te puedo ayudar?"; next; /* ======= Primera Pegunta del Script ========================================================= */ if (select("Quisiera ser guardián!:Perdón,No quise molestar Adiós...") == 2 ) { .@nombre$; mes "Jamas molestes otra ves a un guardián..."; close2; emotion 32; sc_start SC_Curse, 300000,0; percentheal -10,-10; end; } else { .@nombre$; mes "Bueno para eso..."; mes "tendrás que limpiar tu alma"; mes "y llegar al karma..."; next; /* ======= Segunda Pegunta del Script ========================================================= */ .@nombre$; mes "¿Estas seguro de unirte a la legión"; mes " de los defensores de dragones?....."; if (select("Sí, estoy seguro:^000088-- Salir --^000000") == 2) { .@nombre$; mes "jamas molestes otra ves a un guardián... "; mes "ahora camina lejos estúpido humano"; close2; emotion 32; sc_start SC_Curse, 300000,0; percentheal -20,-20; end; } else { .@nombre$; mes "Buena decisión humano"; mes "la senda del dragón iluminara tu karma."; next; mes .@nombre$; mes "Juntos podremos perpetuar nuestras enseñanzas"; mes "con la cual lucharemos juntos."; next; /* ======= Tercera Pegunta del Script ========================================================= */ mes .@nombre$; mes "Para empezar necesito Tu Nombre"; if (select("Mi nombre es [^008888 "+ strcharinfo(0)+ " ^000000]") == 1) { mes .@nombre$; mes "sir ["+strcharinfo(0)+"]??..."; next; mes .@nombre$; mes "Dejame anotarte"; mes "........."; next; mes .@nombre$; mes "Déjame anotarte"; mes "........."; mes "................"; next; set Guardianes,1; mes .@nombre$; mes "Bien...sir [" +strcharinfo(0) +"]"; mes "ya eres parte de nuestras tropas"; mes " yo daré el mensaje..."; next; mes .@nombre$; mes "Para que seas un humano útil"; mes "te otorgamos este obsequio, con el cual podrás hablar"; mes "con nuestros señores Dragones"; next; mes .@nombre$; mes "Se digno de nuestro regalo y llévalo con respeto"; mes "¡Adiós!"; mes "y buena suerte 'Guardián ["+strcharinfo(0)+"]"; /* ======= Entrega de Cooper, Buff, efecto bless, Emotion no1, Brocast, Cierre Irrepetible =========== */ close2; getitem 5453,1; emotion 21; sc_start 41,30000,5; sc_start 10,240000,10; skilleffect 34,0; announce strcharinfo(0) + "Se ha reclutado a la legion de GUADIANES",bc_all; set entregado, 1; end; } } } end; }
  2. Esta muy chulo el sprite del Rebellion, gracias por la traducción .
  3. Ya pero eso lo q hace es activar y desactivar los script al pasar cierto tiempo. Yo lo que busco es lo siguiente, por ejemplo imagina que te encuentras un npc hablas con el y al terminar te da cierto item y desparece pero pasados x minutos aparece otro de nuevo en otro sitio distinto. ¿Entiendes a qué me refiero?
  4. Hola a todos, tengo entendido que es posible hacer que un script, después de realizar su función, este desaparezca y aparezca en otro lugar del mapa aleatorio (algo así como el respawn de los monstruos que al morir aparece otro cada x tiempo). Mi idea es muy parecida a un sistema de minería pero con funciones diferentes. ¿Alguien podría echarme una mano con el código? He estado buscando pero no lo encuentro. Gracias de antemano.
  5. Hola a todos, estoy tratando de desarrollar un script que te manda a una sala donde hay un mvp. El caso es que quiero hacer que sólo puedas acceder a esa sala si estas en una party formada por 4 usuarios (deben estar online) y que cada uno tenga un nivel base 40 o mayor. ¿Alguien sabe cuáles son los comandos para que un npc compruebe esas dos características? Gracias de antemano, un saludo.
  6. Hi to everyone, a friend who is trying to get an account here in rAthena forum, told me that there is a problem on the validating process. He said that the forum does not send him the email that contains the link of the confirmation. I'm posting this because he cant post about this because of the state of Validating. I ask if an administrator could review this because it is probably due to the recent change of host. Thanks in advance. PD: Sorry if I have not explained well, my English is not perfect.
  7. ¿Podrías echarme una mano con eso? Ando muy perdido en el tema del src.
  8. Hola a todos, me gustaría, antes de nada, saber si es posible hacer que un Sniper pueda llevar un Warg (el lobo de los Ranger). Mi idea es crear un script que, después de una quest, te da a elegir (si eres Sniper) entre llevar un halcón o llevar un lobo ya que no quiero implementar el uso de los 3rd Job en mi servidor pero si implementar algunas características de ellos. No busco que el Sniper se monte en el Warg sino que simplemente te acompañe a los sitios y ataque a los monstruos que tu atacas, sería algo así como darle la habilidad de "Warg Mastery" a un Sniper. He intentado, mediante el uso de algún script y tocando algunas cosas, darle la skill al Sniper Job pero no funciona ya que al usarla no ocurre nada. ¿Alguien conoce la forma de hacerlo o tiene alguna idea? Gracias de antemano.
  9. Mira, voy a ponerte una guía de cómo crear un cliente completo compatible con rAthena. Versión del Cliente / Exe Que Utilizaremos Para esta guía utilizaré el cliente 2012-04-10aRagexeRE.exe que es de los clientes más recomendados por la comunidad para servidores que utilizan el sistema renewal en emuladores rAthena. Puedes descargar la versión del ejecutable sin diffear (2012-04-10 Undiffed) aquí. Bien, ahora necesitas una herramienta para configurar el ejecutable. Yo te recomiendo usar ShinsDiffPatcher, funciona muy bien con los clientes renewal. Sigue estos pasos para configurar correctamente el ejecutable: Descarga el programa, extrae el .zip y ejecutalo. Una vez dentro del programa selecciona en "Source executable" el exe que descargaste ahí arriba (exe a configurar). En "Source diff patch" no seleciones ni introduzcas nada, simplemente déjalo en blanco. En "Output executable" introduce la dirección donde se guardará el ejecutable una vez configurado. Ahora, presta atención, donde pone "Select patch engine" selecciona el "WeeDiffGenerator v.1.0.2". En cuanto hayas seleccionado esa opción aparecerá un mensaje de si quieres aplicar los parches recomendados, selecciona que si. Configurar los parches a aplicar: ¿Qué parches debo aplicar y cuáles no debo aplicar en la configuración del ejecutable? Bueno, después de completar los 7 pasos anteriores, aparecerán una serie de ventanas preguntando lo siguiente: Ventana nº1: Introduce el número de View ID que quieres aumentar para los Headgear (entre 1.000 y 30.000). Te recomiendo poner 20000. Ventana nº2: Introduce el título de la ventana del ejecutable. Te recomiendo poner el nombre de tu servidor (puedes usar espacios). Ventana nº3: Introduce el número de veces que se puede repetir una frase, dentro del juego, sin que salte el mensaje de SPAM. Te recomiendo usar 3 o 10. Ventana nº5: Te pregunta por el nuevo tamaño del "NPC dialog buffer". Te recomiendo no poner nada ya que no creo que te afecte en el futuro. Vale, después de estas 5 ventanas, ya podemos seleccionar los parches que aplicaremos al ejecutable. Yo te recomiendo encarecidamente que no desactives ninguno de los que viene por defecto y que actives los siguientes: Elige entre uno de estos 2: Allow Multiple Windows (Permite abrir más de una vez el ejecutable al mismo tiempo). Disable Multiple Windows (Elimina la opción de abrir el cliente más de una vez al mismo tiempo). En el caso de que Translate Client no este activado, activarlo. Increase Zoom Out Max (Habilita un mayor manejo del Zoom, dentro del juego, permitiendo que se pueda alejar la cámara sin problemas). Listo, ya tienes la parte del ejecutable resuelta y dispones de un cliente configurado. Recuerda cambiar el nombre del nuevo ejecutable por el de tu servidor. Archivos Adicionales Necesarios / Data + Lua Files + System + AI Files Puedes descargar todos los archivos necesarios para el correcto funcionamiento del ejecutable (Data + System + AI Files) aquí. En cuanto a los Lua/Lub correspondientes a la versión 2012-04-10 puedes descargarlos (Lua Files 2012-04-10) aquí. Simplemente, para que todo vaya bien, introduce el cliente configurado y los archivos adicionales en la carpeta donde instalaste kRO y kRO renewal. PD: Los archivos Lua/Lub vienen en un .zip tienes que extraerlo y meter la carpeta extraída dentro de la carpeta Data. Espero que esto te ayude, si no entiendes algo hazme saberlo. Un saludo.
  10. I've got an error: When i use @autoattack my char start to move but when he find a mob he stop and dont try to attack it. Does anyone know how to solve this problem? Thanks. Update: I solved the problem by changing the ~/src/map/status.h line 1517: OPTION_MOUNTING = 0x10000000, OPTION_AUTOATTACK = 0x10000000, As you can see the problem was that they had the same number. So I changed it to 0x40000000: OPTION_MOUNTING = 0x10000000, OPTION_AUTOATTACK = 0x40000000,
  11. Si los mensajes te salen en koreano en el cliente pero no tira ningún error puede ser por dos opciones: Tu data no tiene los luas correspondientes para tu .exe Al diffear el .exe no has marcado la opción "Tranlate the client into english" o algo parecido. También asegúrate de que tienes configurado en SRC la versión (fecha) de tu cliente. Si la versión tu cliente es 2012-04-10 debes ir a ~/src/common/mmo.h buscar la siguiente línea 49 y 50 y configurarlas así: #ifndef PACKETVER #define PACKETVER 20120410 PD: Después de modificar el src acuérdate de compilar el emulador. En cuanto al setup, para que se guarden las configuraciones prueba a abrirlo con el programa de compatibilidad de Windos XP (Service Pack 3).
  12. Gracias por molestarte en responder Ziu pero el tema ya esta resuelto.
  13. El problema que tienes es que, como indica en la imagen, te falta alguna habilidad necesaria de la pestaña [ 1st Job ] para poder subir la habilidad Union.
  14. Tal vez estén teniendo problemas con la configuración del correo, te recomiendo que este problema lo muestres en la sección de soporte del foro principal ya que los administradores / moderadores no pasan por aquí. PD: Recuerda que el post debe estar en inglés o lo eliminarán.
  15. Si, gracias por la información, jugando un poco con los Tigger (XY) he conseguido lo q buscaba.
  16. Para que usando la habilidad o skill "Vending" los objetos se vendan por cash no se si es algo implementado en rAthena, es decir, no estoy seguro. Pero si que hay una forma de configurar la habilidad para que en vez de recibir zeny a cambio de los objetos vendidos, hacer que el pago sea en cash. Aquí tienes una guía de como hacerlo (está en inglés, si no endientes algo dímelo y te ayudo): http://www.eathena.ws/board/index.php?showtopic=265357
  17. No me había dado cuenta jaja, gracias por avisarnos .
  18. [NPC] Tienda del Viajero Autor: @Nanashi Idioma: Castellano (Spanish) Versión: 1.0 Descripción del Script El NPC consiste en un sistema de una tienda portátil, con los recursos básicos (pociones, lupas, alas de mosca, etc) de un Tool Dealer. Se puede activar desde cualquier lugar por lo que es muy útil en servidores donde hay que moverse mucho o permanecer mucho tiempo sin visitar una ciudad. Funcionamiento del Script El NPC utiliza un sistema llamado "OnWhisperGlobal" en el cual se whispea al npc para activar su función. Para activar la tienda hay que enviar un Mensaje (whispear) a Oakka con el texto viajero (npc:Oakka | viajero). Ejemplo de Mensaje a Oakka (Activar la Tienda) Una vez enviado el mensaje Oakka nos hablará sobre lo importante que es ir siempre equipado, acto después abrirá la tienda. Código del Script // |----------------------------------------------------------| // |--------------------[rAthena Script]----------------------| // |----------------------------------------------------------| // |------------------ Tienda del Viajero --------------------| // |----------------------------------------------------------| // |------------------------[Autor]---------------------------| // |----------------------------------------------------------| // |----------------------- Nanashi --------------------------| // |----------------------------------------------------------| // |---------------------[Versión Actual]---------------------| // |----------------------------------------------------------| // |---------------------- Version 1.0 -----------------------| // |----------------------------------------------------------| // |---------------------[Comienzo del NPC]-------------------| // |----------------------------------------------------------| - script Oakka -1,{ OnWhisperGlobal: set .@nombre$,"[^0065DF Oakka ^000000]"; if (@whispervar0$ == "viajero") { goto help; } help: mes "-^008888 Información ^000000-"; mes "Sientes la presencia de un espíritu a tu alrededor..."; next; mes .@nombre$; mes "Hola ^008888" + strcharinfo(0) + "^000000,"; mes "llevo tiempo vagando por estas tierras desde los inicios de Midgard."; next; mes .@nombre$; mes "Aunque aún me queda mucho por explorar,"; mes "durante mis viajes he aprendido lo importante que es ir siempre bien equipado."; next; mes .@nombre$; mes "Yo puedo proporcionarte lo básico."; mes "¿Te interesa ver mis mercancías?"; next; switch (select("Si:^000088Salir^000000")){ Case 1: mes .@nombre$; mes "Esta bien, dame un segundo."; next; callshop "oakkashop",0; end; Case 2: mes .@nombre$; mes "Como quieras ^008888" + strcharinfo(0) + "^000000,"; mes "que tengas suerte en tus aventuras."; next; mes "-^008888 Información ^000000-"; mes "La presencia del espíritu se desvanece..."; close; } } // -- Tienda de Oakka // =========================================================================================== - shop oakkashop -1,611:40,601:60,602:300,501:50,503:550,502:200,645:800. // =========================================================================================== Descargas oakka.txt Notas Adicionales
  19. Hola @OmarAcero, en efecto rAthena cuenta con los sistemas de cash y ofrece la posibilidad de probar un item antes de comprarlo en un NPC (algo muy útil a la hora de comprar hat's o items que afectan al diseño gráfico del pesonaje) además de ofrecer múltiples formas de pago. Aquí puedes encontrar una guía en Español de un script que incluye estas características para que veas como activarlas en un NPC. El autor del Script es Rikimoki y la guía esta alojada en el foro de DivineRO: http://www.foro.divinero.net/materiales-utilidades-herramientas-y-scripts/(npc)view-shop-2-0-acepta-zeny-cash-point-poring-coin-(y-mas-items)-fixed/ De todos modos, si entiendes algo de Inglés, te recomiendo que mires la documentación que viene dentro de la carpeta del emulador rAthena. Ahí encontrarás mucha información útil, los archivos los puedes encontrar en ~\rAthena\doc\...
  20. Hola de nuevo, ¿alguien sabe como crear un perímetro en una zona de un mapa? Me explico poniendo un ejemplo, para que sea mas claro. Imaginar que estáis en un mapa X y hay dos posibilidades, ir hacia arriba o ir hacia abajo, si vas hacia arriba no ocurre nada pero si por el contrario andáis hacia abajo al cruzar una línea invisible (a esto me refiero con el perímetro) eres tele-transportado a unas coordenadas del mapa. Si alguien pudiese ponerme el código o un mini-tutorial de como hacerlo sería perfecto. Gracias de antemano. PD: Me acabo de dar cuenta de que en los títulos de los Topics no se ven las tíldes, por favor algún moderador le cambie el título quitando la tílde para que se vea bien el nombre del Topic, gracias. PROBLEMA RESUELTO
  21. Estoy completamente de acuerdo contigo, hay una gran diferencia de expresiones entre el castellano y el hispanoamericano. Primero de todo, a la hora de formar el equipo de traducción, habría que evaluar a cada el nivel de traducción. La forma más rápida para verlo y encontrar las diferencias sería enviar un script de no más de 400 líneas a cada uno de los que formarían el equipo de traducción, claramente este script tiene que estar en inglés, y re-enviarlo una vez traducido al jefe del proyecto para revisarlos. Esto daría una ligera idea y ayudaría a tomar las siguientes decisiones. Pero bueno, el proyecto esta parado de momento.
  22. Muchas gracias chicos, acabo de realizar una prueba siguiendo la sección "8.- Quest Log commands" y ha funcionado bien . Solo me queda una duda, en el archivo "data\questid2display.txt" a la hora de colocar las ID y la descripción de la Quest, hay 2 cosas que me llaman la atención: 1000#Prueba de Quest#SG_FEEL#QUE_NOIMAGE# Lumis te ha pedido que compruebes si los Poring son monstruos hostiles.# Elimina 10 porings.# SG_FEEL# y QUE_NOIMAGE# son dos parámetros que desconozco y me gustaría saber su utilidad. Del primero no tengo ni idea pero del segundo parece que se puede jugar con él para que muestre una imagen o algo, ¿alguien lo sabe?.
  23. Hola a todos, he estado buscando pero no encuentro nada sobre el tema. El caso es que con el sistema renewal puedes hacer que un NPC te de una quest, por ejemplo de matar monstruos, y que esta quest se agregue a la Ventana de Quest (Alt + U). Al abrir dicha ventana, puedes ver información sobre la quest, el número de monstruos que has matado y los que te quedan (en el caso de que dicha quest sea de matar monstruos). Mi pregunta es la siguiente, ¿cómo puedo configurar un npc para que te asigne una quest de este tipo y, lo más importante, dónde puedo configurar la información que muestra esta quest en la Ventana de Quest? Si ya existe alguna guía sobre esto, agradecería que me pusieseis el link. En el caso de que no exista, por favor pongan un ejemplo de cómo hacerlo o una explicación. Gracias de antemano. PROBLEMA RESUELTO
  24. Para que comience la conversación necesitas cumplir los siguientes requisitos: - Necesitas ser Job Ninja (@job 25). - Necesitas ser nivel 99 (@blvl 99) (Si tu nivel base es menor a 99 o superior no te aparecerá nada). - Nivel de Job al 70 (@jlvl 70) (Si tu nivel de job es menor a 70 o superior no aparecerá nada). Si cumples esos requisitos aparecerá el mensaje. Si quieres modificar los parámetros del nivel de base o nivel de job tienes que modificar la siguiente línea: if ((BaseJob==25) && (BaseLevel == 99) && (JobLevel == 70) && (checkquest(5131) == -1)){ Por ejemplo si quieres que se pida nivel base 120 y nivel de job 80, debería quedar así: if ((BaseJob==25) && (BaseLevel == 120) && (JobLevel == 80) && (checkquest(5131) == -1)){ Te recomiendo que no cambies los parámetros pero si lo haces recuerda revisar el resto del script ya que hay más líneas que llevan los mismos parámetros y necesitarás modificar esas líneas también.
×
×
  • Create New...