Jump to content

jaBote

Community Contributors
  • Content Count

    2037
  • Joined

  • Last visited

  • Days Won

    43

Everything posted by jaBote

  1. Some information missing. You want... a.- Monsters with double drops will drop with twice as much the drops than the original drops, so that they will drop 2 items of a kind instead of 1 when you get a drop (currently not achievable in scripting to my knowledge). b.- Monsters with double drops will have twice the odds for dropping an item, so that i.e. a 30% item would become a 60% item (same). c.- Monsters with double drops will drop their regular items, then reroll for an extra drop possibility so you get 2 chances of getting the same item but it's not guaranteed (achievable via OnNPCKillEvent and getmobdrops script command). I think you want c, but better to ask before doing anything. P.S: I'm pretty sure that if it's c, you could do it yourself with a little help after the small insight I gave you, the rest is not that tricky
  2. jaBote

    OnTimer Script

    On a text-based explanation, these labels get executed when te timer reaches the amount of ticks specified in label. For example OnTimer1000: label will get executed when the timer reaches 1000 ticks and so on. Ticks are expresed in milliseconds, which you may remember from school they are 1/1000th of seconds, so basically 1000 ticks is a second.
  3. You can google how to remove scrollbars on a page via CSS. I suppose it'll work for the patcher too.
  4. jaBote

    Erro jobs

    Nope. Mas você pode tentar obter-los de um servidor oficial e pesquisar e utilizar ferramentas para a sua decompilaçao.
  5. jaBote

    Erro jobs

    É boa, nenhum problema ao meu conhecimiento. Mas ele utiliza a "nova" estrutura do clientes introduzida desde o 20120418.
  6. I don't see why not, providing the old character was properly deleted and all its data removed. But autoindex fields will just keep adding new indexes each time a new character is made for security concerns. I'm pretty sure you haven't reached the limit of characters (don't remember what is it right now) and possibly wouldn't ever reach on a server of reasonably big size.
  7. You should have told me before that, but I think the atcommand method does notify about the user's current cash. If you want to get notified when using the #CASHPOINTS method, use this other code: .@addition = rand(20,50);#CASHPOINTS += .@addition;announce "You've earned " + .@addition + " Cash Points. Your current total is " + #CASHPOINTS + " Cash Points.", bc_self;
  8. Whops. What makes the special label not to work are the OnTreasureDiedXX labels at the end of the agit_main.txt file that get triggered instead of the OnNPCKillEvent because of source coding, and you shouldn't make them disappear for security concerns. Then, in that case, you could individually get the random number inside each treasure died label and do the if-else structure on them, much like this: OnTreasureDiedXX: //Change the XXs setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~[THE NUMBER FROM EACH CHEST COMES HERE, DO NOT ALTER THE ORIGINAL]; .@num = rand(100); // Returns a number in the range from 0 to 99 if (.@num < 10) { getitem 610,1; } else if (.@num < 30) { getitem 607,1; } else if (.@num < 60) { getitem 608,1; } else { getitem 609,1; } end; That, or you can edit your source code like this and recompile. Open src/map/mob.c and find: } else if( mvp_sd && !md->state.npc_killmonster ) { pc->setparam(mvp_sd, SP_KILLEDRID, md->class_); npc->script_event(mvp_sd, NPCE_KILLNPC); // PCKillNPC [Lance] } Remove the else and recompile. This will make the server trigger any OnMyMobDead (actual name specified by script) and OnNPCKillEvent events. Current setup is that if no OnMyMobDead event is specified, it triggers OnNPCKillEvent. P.S.: In fact, I see it more reasonable this way
  9. It should work for ANY kind of mob whose mob ID is the same as on the list of cases. Are you sure you''ve set the cases to your Kriemhild treasure ID's?
  10. jaBote

    Erro jobs

    Nenhum problema testando com Hercules última versão e cliente full (sem modificaçoes) 20131223 fornecido pelo ossi0110 em http://hercules.endlessro.net/
  11. You should've said that before. Using Mumbles' code as base: - script free_yggs -1,{OnNPCKillEvent: if (killedrid == 1002) { // Poring Mob ID is 1002 getmapxy(.@map$, .@x, .@y, 3); for (.@i = 0; .@i < 200; .@i++) { // Up to 200 Yggdrasil berries makeitem Yggdrasilberry, 1, .@map$, .@x + rand(-10, 10), .@y + rand(-10, 10); } } end;}
  12. You can simply use this on its code: #CASHPOINTS += rand(20,50); Or if you feel safer by using the atcommand: atcommand "@cash " + rand(20,50);
  13. You can disable any regular drops for the treasure monsters, then make a script that grants the items for you. Your percentages don't sum up to 100%. I have changed the drop of item 610 to 10% so that it now does: - script treasure_alt_drops -1,{OnNPCKillEvent: .@num = rand(100); // Returns a number in the range from 0 to 99 switch(killedrid){ case XXX: // CHANGE XXX FOR THE MOB ID OF A TREASURE MOB!!! if (.@num < 10) { // .@num ranges from 0 to 9 of total 100 positions, it's a 10% getitem 610,1; } else if (.@num < 30) { // .@num ranges from 10 to 29 (less than 10 + 20, and more than the last if) of total 100 positions, it's a 20% getitem 607,1; } else if (.@num < 60) { // .@num ranges from 30 to 59 of total 100 positions, it's a 30% getitem 608,1; } else if (.@num < 100) { // .@num ranges from 60 to 99 of total 100 positions, it's a 40%. Note that you can omit the "if(.@num < 100)" if it's the last clause getitem 609,1; } break; case YYY: // CHANGE XXX FOR THE MOB ID OF A TREASURE MOB!!! Keep like this for each treasure mob you want to use // Same logic here break; } end;} I'll let you finish the code.
  14. Personalmente, creo que es un problema de cliente, aunque no estoy seguro. Quizá al compilar te hayas olvidado de una cosa importante: #ifndef PACKETVER#define PACKETVER 20131223#endif // PACKETVER//Uncomment the following line if your client is ragexeRE instead of ragexe (required because of conflicting packets in ragexe vs ragexeRE).//#define ENABLE_PACKETVER_RE#ifdef ENABLE_PACKETVER_RE#define PACKETVER_RE#undef ENABLE_PACKETVER_RE#endif // DISABLE_PACKETVER_RE donde pone #define PACKETVER debes poner la fecha de tu cliente y recompilar. Debería bastar. Si ya has hecho eso y no funciona. Pues mientras Teemo (mi compañero moderador de la sección hispana) no ande por aquí lo mejor que te podría recomendar es que a menos que le tengas demasiado cariño a tu cliente, pruebes directamente con uno de los ofrecidos en esa web, con el packetver editado para su versión específica.
  15. Nunca fui bueno con los clientes, para estas cosas mi compañero en esta sección es mil veces mejor que yo. Si el cliente no lanza un error específico, yo no puedo aconsejarte otra cosa que probar con una instalación limpia de RO. Puedes coger un cliente ya hecho de los que se ofrecen en esta página y tratar de probar si tu servidor funciona poniendo tu cliente (y todos los archivos necesarios para ejecutar tu servidor) sobre este. Mejor aún, si utilizas items custom en tu cliente, verifica bien la sintaxis del archivo que maneja los items (creo que era System/itemInfo.lub o lua desde la carpeta de tu cliente) o intenta usar uno limpio (ojo con tus custom ya que esos sí te lanzarán error ahora). A ver si llegas a poder ver correctamente la descripción de los objetos.
  16. Tentando usar Português de novo: O caráter em vermelho é o ponto exato onde o emulador acha que o erro é. Tudos os script commands deven ser em minúsculas. Mude "Rand" para "rand" e faça assim para tudos os script commands que tirem erros.
  17. Si desde el CP de Ceres puedes lanzar consultas con éxito a la base de datos dentro de tu VPS, entonces no me explico qué puede no funcionar solo con esa parte. Sobre lo de thor parcher, preferiría que abrieras otro tema. Nunca lo he utilizado tampoco (siempre usé Triad Patcher) aunque últimamente su funcionamiento se ha modificado y no hay guía alguna para las últimas versiones. Puedes encontrar algo parecido a una guía en español para versiones anteriores en DivineRO, por ejemplo, aunque no puedo garantizar que te sirva. Un saludo.
  18. ¿Podrías decirnos qué cliente usas al menos y qué error exacto sale aunque sea a través de una captura de pantalla? Si ya el cliente es complicado de por sí y no depende en ninguna instancia de ningún emulador (Hercules o rAthena) sino son clientes de Gravity modificados, con tan poca información no podemos hacer absolutamente nada. Un saludo.
  19. ¡Hola! No soy muy bueno en estas herramientas aunque desde ya debería comentarte que a menos que sepas modificar (o te modifiquen) Ceres CP para que se adapte a la nueva estructura de la base de datos de Hercules (o rAthena, ambos han hecho sustanciosos cambios por mucho que algunos lo nieguen), evites a toda costa usar Ceres porque podría recibir errores muy extraños, e igualmente con FluxCP si no se usa la versión adaptada para Hercules. Nunca he usado Flux CP, aunque si utiliza la misma forma que Ceres CP para comprobar si el servidor está funcionando (una consulta SQL) y esa base de datos está en un host externo a la máquina que estás usando lo más seguro es que tengas un problema, porque hay una configuración de MySQL que por defecto no permite conexiones desde una máquina que no sea la propia en que se está ejecutando, aunque tengas usuarios que puedan acceder remotamente a la base de datos. Puedes encontrar abundantes y numerosas guías en Internet sobre cómo hacer para permitirlas, por ejemplo, en sistemas GNU/Linux. Un saludo.
  20. High novices created from nowhere have no ADVJOB var set, since I believe (can't check right now) these are set when you rebirth via official scripts or any custom script that sets you that one. I'd better add another comparison to the script just after the: || ADVJOB == Job_Gypsy That is: || !ADVJOB So that any high novice without previous job can successfully change to its 1st trans job. And same with the rest of the job change quests. Since it's officially impossible to get a rebirth high novice without precious job, I guess these scripts need no change. You can always make a NPC asking the high novices Without the var set what job they want to be and accordingly set that variable by yourself.
  21. Sorry my Portuguese isn't fluent and had to lookup that word on a translator (I try to form the sentences myself). If you don't mind me using English: Console already tells you how to fox the errors, just see that it proposes you to use lowercase versions of the script commands that are giving problems. You should amend these according to what the console tells you, so that you'll make your script work again. Blame the scripter inconsistently using camelcase script commands back at Cronus, that's not good practice.
  22. Você já viu a solução proposta pelo próprio terminal? Somente mude as proposto e deveria funcionar.
  23. ¡Buenas! A todo el mundo, aclaro que este usuario me preguntó lo mismo por mensaje privado, al cual contesté y le pedí amablemente que lo publicara porque así podríamos enriquecernos todos de la experiencia común. Su mensaje privado contenía algún dato más como el servidor que administraba, por lo que puede que parezca que este mensaje no responda del todo a la pregunta del tema cuando en efecto respondo su mensaje privado. Adjunto mi respuesta íntegra (salvo la postdata en que le pido que lo publique aquí) de tal forma que él mismo lo puede comprobar si quiere. Aprovecho para reiterar dos cosas que ya se dicen en el propio mensaje: -> Primero: que administrar servidores no es ninguna ciencia exacta. Supongo que todos sabremos de memoria el dicho: cada maestrillo tiene su librillo; -> Y segundo: que es una opinión personal acerca de cómo se debería manejar un servidor. Supongo que siempre habrá otras formas de manejar un servidor, las cuales respeto siempre que entre sus prácticas no se encuentren enviar a usuarios a hacer SPAM a otros servidores y premiarles por ello, atacar a otros servidores cuando empiezan a ser un problema para ellos (que por desgracia los hay) o hacer uso de otras prácticas dudosas. Respecto a los ataques DoS, recuerdo que en España (no sé en otros países) hacer ataques DoS o acceder de forma no autorizada a sistemas informáticos está penado entre seis meses y dos años de cárcel. Sin más, aquí va mi mensaje: Espero que esta respuesta haya podido ayudar a más personas aparte de al usuario darknis.
  24. Yes you can. Just remember that you've to specify player name if I remember correctly: atcommand "@kick"+strcharinfo(0);
  25. Hola. Realmente no te recomendaría cambiarlo. He jugado en servidores que falseaban los datos así y no es nada difícil comprobar que te están mintiendo. Y no es nada difícil saber eso si el número de usuarios no concuerda en todos sitios o incluso notas como usuario dentro del propio servidor que la gente no está sin más e incluso podría ser contraproducente. Mi experiencia personal (como usuario de un servidor que decidió hacer algo similar) es que los vas a decepcionar más aún que si realmente propones un servidor nuevo (o aceptable), con ideas y lo que es más importante: tener buena cabeza. Máxime cuando habrá usuarios que en cuanto tengan la más mínima sospecha se pararán a comprobarlo por cualquier método a su alcance y no vas a tener respuesta, y más aún cuando mantener una mentira así es mucho más complicado porque tiene muchos puntos débiles, de los cuales personalmente no conozco todos y que deberías comprobar uno por uno personalmente. Ten en cuenta que no vas a falsear las estadísticas de visitantes de una web (que es sencillo, porque puedes decir que tienes 10.000 visitas únicas al día usando por ejemplo un contador que te provee tu hosting, que permite no dejar rastro de la propia web) en que el visitante es fundamentalmente pasivo (no hacen nada en su gran mayoría) sino que vas a falsear las estadísticas de usuarios de un servidor, en que cada usuario es un agente activo y vaya, yo no me creería que en un servidor haya 100 personas pero en Prontera solo se vean 4 personas a lo sumo. O que haya 100 personas y solo veas 20 en WoE. Todo lo anterior por no hablar de una posible reacción entre los usuarios: Si el administrador ha estado mintiendo con el número de usuarios online, ¿qué motivos reales tiene un usuario para creer en una posible honradez del equipo del servidor?, lo que siempre ha sido uno de los más grandes puntos de duda de los usuarios. Lo cual podría incluso, quizá, arriesgar más aún la importante inversión que puedas hacer en el servidor. No obstante (y para mi desgracia), esto no es un foro sobre ética, sino un foro de soporte. Si bien estoy capacitado a objetar de conciencia para asuntos así, prefiero que una vez te he advertido seas tú mismo quien decida. Nunca he modificado el char server, aunque tras echarle un ojo, tiene toda la pinta de que la información que se envía al usuario sobre el número de usuarios online una vez es capaz de iniciar sesión correctamente en el login server se encuentra en src/login/login.c, línea 1184: WFIFOW(fd,47+n*32+26) = server[i].users; A partir de esa línea puedes intentar guiarte.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.