Jump to content

jaBote

Community Contributors
  • Content Count

    2037
  • Joined

  • Last visited

  • Days Won

    43

Everything posted by jaBote

  1. Hola. Seré breve porque no tengo acceso a mi PC en estos momentos. 1.- Los archivos de item_db en .txt fueron oficialmente eliminados del repositorio. Es posible que se hayan quedado por alguna suerte de conflicto al eliminar el fichero, aunque actualmente no tienen ningún uso en el emulador. 2.- De primeras no sabría decirte porque de mecánicas y fórmulas sé bien poco, y menos si no puedo experimentar (especialmente en Renewal), aunque me suena que lo que dices ocurre en Renewal. Dudo que esté cancelado por alguna parte si no es a través de la Def o MDef del objetivo. Puedes tratar de investigar en un entorno de pruebas el propio emulador por tu cuenta y comentarnos.
  2. Altere esse 300 (60 * 5) para o delay desejado em segundos. Por Exemplo: altere para 600 (60 * 10) si você deseja 10 minutos.
  3. Mais facil ainda: Ir a db/re/map_zone_db.conf para Renovação ou db/pre-re/map_zone_db.conf para Pre-Renovação. Procure: { /* GvG zone is applied to all maps with a gvg mapflag */ name: "GvG" /* changing this name requires MAP_ZONE_GVG_NAME to also be changed in src/map/map.h file */ disabled_skills: { AL_TELEPORT: "PLAYER" AL_WARP: "PLAYER" WZ_ICEWALL: "PLAYER" TF_BACKSLIDING: "PLAYER" RG_INTIMIDATE: "PLAYER" WE_CALLPARTNER: "PLAYER" HP_ASSUMPTIO: "PLAYER" HP_BASILICA: "PLAYER" CG_MOONLIT: "PLAYER" WE_CALLPARENT: "PLAYER" WE_CALLBABY: "PLAYER" CR_CULTIVATION: "PLAYER" NJ_KIRIKAGE: "PLAYER" CASH_ASSUMPTIO: "PLAYER" BS_GREED: "PLAYER" SC_FATALMENACE: "PLAYER" SC_DIMENSIONDOOR: "PLAYER" } disabled_items: { Assumptio_5_Scroll: true Greed_Scroll: true Pty_Assumptio_Scroll: true } /* 5 second duration increase on GvG */ /* knockback disabled */ /* GvG Mode Damage Reductions */ /* - weapon_damage_rate -40% */ /* - magic_damage_rate -40% */ /* - misc_damage_rate -40% */ /* - long_damage_rate -20% */ /* - short_damage_rate -20% */ mapflags: ( "invincible_time_inc 5000", "noknockback", "weapon_damage_rate 60", "magic_damage_rate 60", "misc_damage_rate 60", "long_damage_rate 80", "short_damage_rate 80", "nocashshop", "gvg_noparty", ) }, E adicione o seguinte no grupo de disabled_items: Yggdrasilberry: trueSeed_Of_Yggdrasil: true é pronto.
  4. jaBote

    BOT

    Go to src/map/status.c and look for this: #include "../common/cbasetypes.h"#include "../common/ers.h"#include "../common/malloc.h"#include "../common/nullpo.h"#include "../common/random.h"#include "../common/showmsg.h"#include "../common/strlib.h"#include "../common/timer.h"#include "../common/utils.h" Add after it: #include "../common/socket.h" Save it and try to recompile.
  5. Whops sorry, Patskie is true, the timer runs only once, my fault. @oblinez: Please tell me the structure of the table or the column in which you wish to give the points and give as many details as possible so that I can rework the script to fix that. Once I've got all the new info I'll remake this if possible
  6. Eu preciso de ver qual é o seu script atual para a admissão do jogadores porque o delay é imposto elo esse script via uma quest antes de entrar para as BGs. Cheque as entradas número 2069, 2070 e 6025 para 6027 na db/quest_db.txt. Mude esses 300 para o delay desejado (em segundos). // Structure of Database:// Quest ID,Time Limit,Target1,Val1,Target2,Val2,Target3,Val3,Quest Title2069,300,0,0,0,0,0,0,"Tierra Gorge Battle"2070,300,0,0,0,0,0,0,"Flavius Battle"6025,300,0,0,0,0,0,0,"KVM Guillaume"6026,300,0,0,0,0,0,0,"KVM Croix"6027,300,0,0,0,0,0,0,"KVM Indicator" Eu acho que já resolvi
  7. Para eso estamos el personal de Hercules, para echar una manita cuando sepamos. Si hubieras hecho una pregunta sobre cliente o sobre edición del src probablemente no hubiera sabido responderte en condiciones
  8. http://tecadmin.net/how-to-install-phpmyadmin-on-centos-using-yum/# You should carefully read it since if you just copy and paste into the terminal, you may end up with unexpected behavior.
  9. Yes as far as I know, since MariaDB is made to be compatible with MySQL in first place, so it should.
  10. There you go. Edit it to further suit your needs: - script hourly_points -1,{OnInit: //Configs .time = 60 * 60 * 1000; // Time in milliseconds. Default: 1 hour (60 * 60 * 1000) .max_idle = 15 * 30; // Maximum idle time in seconds .points = 1; // Points to give the user each active hour. .points_variable$ = "#CASHPOINTS"; // Variable name to store the points end;OnPCLoginEvent: addtimer .time, strnpcinfo(3)+"::OnPoints"; end;OnPoints: if (checkidle() < .max_idle && checkvending() != 2) { setd .points_variable$, getd(.points_variable$) + .points; } end;}
  11. Hola. Personalmente considero que este esfuerzo de Hercules por hacer las cosas de forma más eficiente es efectivamente un poco lioso de primeras para el usuario final, aunque no había otra forma mejor de implementarlo que llegara a nuestro conocimiento en esos instantes. Por desgracia, en ese fichero no está lo que buscas. Si haces un poco de scroll hacia arriba con las coincidencias de búsqueda para Gift_Box en el archivo que mencionas (db/re/item_packages.conf), encuentras que esas Gift_Box salen como producto de abrir respectivamente una Special_Box o una Tresure_Box_WoE. Las Gift_Box no aparecen ahí específicamente como "paquete" de ítems. Hay tres formas de especificar un "grupo" de ítems según la flexibilidad que necesites. En la carpeta db/re tienes tanto item_group.conf, como item_chain.conf, como item_packages.conf. ¿Y qué los diferencia? Te haré una pequeña comparación entre ambos: No hay mucha diferencia entre el funcionamiento de item_chain.conf y de item_group.conf, aunque se hicieron ambos en archivos separados porque aunque funcionan de la misma manere, se usan para cosas distintas. Se utiliza una "cadena" de ítems para objetos correlacionados entre sí, que sobre todo sirve para ser incluido dentro de scripts que añadan probabilidad de obtener solo una unidad de uno de estos objetos al matar monstruos (como Jewel_Sword, Gaia_Sword, Blazzer_Card, Tengu_Card y Bogy_Horn), o también se utiliza para habilidades como BS_FINDINGORE. Por otro lado, los "grupos" de ítems se usan para obtener solo uno de los objetos (y una unidad) una vez se usa el mismo, como por ejemplo como funcionaría una Old_Card_Album, Old_Blue_Box, Gift_Box y similares. Las diferencias entre los anteriores y los "paquetes" que te encuentras en item_packages.conf son muchas: dentro de un "paquete" puedes obtener más de un objeto a la vez (e incluso en cantidades mayores de una unidad), aleatoriamente o no, de uno o varios subgrupos de objetos. Suena a mucha libertad, pero piensa que esto sustituye a los paquetes de objetos de antes, para los que en su script tenías que poner uno de cada objeto (o grupo de objetos) que querías dar al jugador, resultando en un script enorme. También admite opciones como por ejemplo anunciar en el En los encabezados de cada archivo se explica (en inglés) como funciona cada uno de ellos, que no me entretendré en explicarlo para evitar hacer el post demasiado largo (si quieres que lo explique responde al post y coméntame) porque no es lo que buscas. Para alterar la probabilidad de caída de objetos desde una Gift_Box hay que ir, como dije, al archivo item_groups.conf dentro de la carpeta. En concreto, hay que buscar el contenedor de ese grupo que, actualmente, aparece específicamente en la línea 327 del archivo. Ahí vemos lo siguiente: Gift_Box: ( "Star_Crumb", "Flame_Heart", "Mistic_Frozen", "Rough_Wind", "Great_Nature", "Scarlet_Dyestuffs", "Lemon_Dyestuffs", "Cobaltblue_Dyestuffs", "Darkgreen_Dyestuffs", "Orange_Dyestuffs", "Violet_Dyestuffs", "White_Dyestuffs", "Black_Dyestuffs", "Gold", "Dark_Red_Jewel", "Violet_Jewel", "Skyblue_Jewel", "Azure_Jewel", "Scarlet_Jewel", "Cardinal_Jewel", "Cardinal_Jewel_", "Red_Jewel", "Blue_Jewel", "White_Jewel", "Golden_Jewel", "Bluish_Green_Jewel", "Crystal_Jewel", "Crystal_Jewel_", "Crystal_Jewel__", "Crystal_Jewel___", "Red_Frame", "Blue_Porcelain", "White_Platter", "Black_Ladle", "Pencil_Case", "Rouge", "Stuffed_Doll", "Poring_Doll", "Chonchon_Doll", "Spore_Doll", "Bunch_Of_Flowers", "Wedding_Bouquet", "Glass_Bead", "Crystal_Mirror", "Witherless_Rose", "Frozen_Rose", "Baphomet_Doll", "Osiris_Doll", "Grasshopper_Doll", "Monkey_Doll", "Raccoondog_Doll", "Four_Leaf_Clover", "Poring__Card", "Red_Socks_With_Holes", "Red_Potion", "Orange_Potion", "Yellow_Potion", "White_Potion", "Blue_Potion", "Green_Potion", "Royal_Jelly", "Candy", "Candy_Striper", "Pet_Food", "Well_Baked_Cookie", "Piece_Of_Cake", "Old_Violet_Box", ("Gift_Box",19), "Girl's_Diary",) Antes de cambiar nada hay que ver el encabezado del archivo, que contiene un ejemplo que explica cómo funciona. Yo me he tomado la libertad de traducirlo y mejorar la explicación para que sea más sencillo: // Estructura: <Nombre_de_contenedor>: ( "Nombre_de_item", // <--- o bien ("Nombre_de_item",Probabilidad), ) Con nombre de item (o de contenedor) se refiere al nombre que se define como el AegisName en item_db.conf. Si no se define una probabilidad se asume como 1. La probabilidad no es en porcentaje: como un grupo de ítems solo da un objeto, se usan sus probabilidades como valores relativos. Todos los objetos tienen una probabilidad igualmente distribuida de salir, pero una probabilidad de 10 solo dice que es 10 veces más frecuente que el objeto salga en comparación con un objeto de 1 (me metería en la matemática de esto pero creo que te confundiría más). Yendo a lo que interesa, quieres que los dyestuff salgan con más frecuencia, por lo que nos fijamos en lo siguiente: "Scarlet_Dyestuffs", "Lemon_Dyestuffs", "Cobaltblue_Dyestuffs", "Darkgreen_Dyestuffs", "Orange_Dyestuffs", "Violet_Dyestuffs", "White_Dyestuffs", "Black_Dyestuffs", Como vemos, todos tienen probabilidad relativa de 1 (todos los objetos de la Gift_Box lo tienen salvo que salga una Gift_Box de la propia caja, que tiene una probabilidad relativa de 19). Para multiplicar por 5 su probabilidad relativa de salida, simplemente hay que editarlo para que queden así: ("Scarlet_Dyestuffs",5), ("Lemon_Dyestuffs",5), ("Cobaltblue_Dyestuffs",5), ("Darkgreen_Dyestuffs",5), ("Orange_Dyestuffs",5), ("Violet_Dyestuffs",5), ("White_Dyestuffs",5), ("Black_Dyestuffs",5), Y ya está hecho. De esta forma, los dyestuffs salen a una probabilidad que es 5 veces, comparada con el resto de objetos que salen una única vez. Y eso es todo. Siento haberme extendido mucho, pero de esta forma te servirá para saber bien cómo funciona cada una de las formas de "agrupar" o "empaquetar" objetos en Hercules. Espero haber sido de ayuda
  12. Já editei a minha resposta e marquei como resolvido. Feliz que serviu.
  13. Vistos os dados, a consulta SQL você deveria fazer é a seguinte: SELECT p.`name`, p.`kills`, c.`class` FROM `pvpm_data` p LEFT JOIN `char` c on p.`id` = c.`char_id` WHERE p.`type` = 0 ORDER BY p.`kills` DESC LIMIT 50 Teste, e voçê me dizer.
  14. Oh, eu queria saver os dados na tabela (você pode usar essa consulta no PhpMyAdmin ou similar), não que você trocara a consulta atual por essa.
  15. Eu poderia ver a saída de fazer a seguinte consulta na tabela, feita desde PhpMyAdmin ou outro gestor de bases de dados? SELECT * FROM `pvpm_data` ORDER BY `kills` DESC LIMIT 10" (Ou o código do NPC, si possível, para encontrar o função das colunas da tabela)
  16. A minha pergunta é: como têm aparecido clãs na tabela? A não ser que a tabela foi concebida para o armazenamento de clãs em vez de jogadores, ou clãs e jogadores ao mesmo tempo. Nesse caso eu necessito de mais informaçao do script que maneja as inserções na tabela.
  17. Oh, mea culpa. O resultado é na membro 'class' do array $pvp, não na 'classe'. Eu editei o meu post anterior. Se o erro não é resolvido, favor poste a mensagem do erro aqui. P.E.: Eu testei este código e parece funcional <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Ranking PvP Mooka</title></head> <body><?php for ($i = 0; $i <= 6; $i++) echo nome_do_classe($i) . '<br>';?></body></html><?phpfunction nome_do_classe($classe) { switch($classe) { case 0: return "Novice"; case 1: return "Swordman"; case 2: return "Mage"; case 3: return "Archer"; case 4: return "Acolyte"; case 5: return "Merchant"; case 6: return "Thief"; // (Adicione as classes restantes) default: return "Erro"; }}?>
  18. Hola. Parece que no tienes solo uno sino dos problemas. El primero es que al parecer tienes InnoDB desactivado en el servicio MySQL de tu servidor. Suponiendo que estás con un servidor de prueba al que tienes acceso físico (no es un servidor remoto), esto suele ocurrir al instalar MySQL independientemente, o como parte de un paquete WAMP prehecho (como wamp-server, XAMPP, appserv, easyPHP y similares. Para solucionarlo tienes que ir al directorio donde tengas instalado MySQL (generalmente C:Archivos de programamysql, aunque si lo instalaste como parte de un paquete WAMP busca donde este mismo paquete esté instalado) y abrir el archivo my.ini. En ese archivo busca la opción que deshabilita InnoDB (no puedo ayudarte en esto porque varía según la versión de MySQL) y descoméntala (elimina el # al inicio de la línea). Puedes buscar en Google cómo habilitar InnoDB en caso de que te pierdas. Una vez hecho esto debes reiniciar el servicio MySQL (si no sabes cómo, puedes reiniciar todo el computador que lleva el servicio MySQL). El segundo problema es que parece que no tienes bien puesta la contraseña de acceso a la base de datos del juego. Revisa las configuraciones de usuario y contraseña que tienes puestas en tu copia local (en conf/inter-server.conf), y comprueba que coinciden con las credenciales de acceso de tu base de datos. Creo que eso es todo, prúebalo y coméntame.
  19. Desculpe, eu estava errado. BG_Delay_Tick é o delay para os desertores na BG. O delay da BG não tem nada a ver com esse script porque o script mais recente usa quests (desativadas por padrão, ou seja, 0 delay). Me deixe ver seu script para a admissão do jogadores na KvM. P.E.: Eu não sou Português ou Brasileiro, sou Espanhol e tento aprender um pouco, me desculpe meus erros escrevendo.
  20. Sim. Também gostaria de saber se a coluna id da tabela é para char id ou account id. Então use a seguinte consulta SQL em vez da atual: SELECT p.`name`, p.`kills`, c.`class` FROM `pvpm_data` p LEFT JOIN `char` c on p.`id` = c.`char_id` WHERE p.`type` = 0 ORDER BY p.`kills` DESC LIMIT 50 e pode mudar tudo o codigo para o seguinte (adicione as classes restantes): <?PHP $connecta = mysql_connect('127.0.0.1','ragnarok','ragnarok');$db = mysql_select_db('ragnarok');?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><link rel="stylesheet" type="text/css" href="estilo.css" /><title>Ranking PvP Mooka</title></head> <body><div id="ranking"><table border="0" cellpadding="0" cellspacing="0"> <tr align="center" id="title"> <td>Posição</td> <td>Nome</td> <td>Classe</td> <td>Matou</td> </tr> <?PHP $tabela = mysql_query("SELECT p.`name`, p.`kills`, c.`class` FROM `pvpm_data` p LEFT JOIN `char` c on p.`id` = c.`char_id` WHERE p.`type` = 0 ORDER BY p.`kills` DESC LIMIT 50"); $pos = 1; while($pvp = mysql_fetch_assoc($tabela)){ echo ' <tr align="center" id="player"> <td>'.$pos.'º</td> <td>'.$pvp['name'].'</td> <td>'.nome_do_classe($pvp['class']).'</td> <td>'.$pvp['kills'].'</td> </tr> '; $pos++; } ?></table></div> </body></html><?phpfunction nome_do_classe($classe) { switch($classe) { case 0: return "Novice"; case 1: return "Swordman"; case 2: return "Mage"; case 3: return "Archer"; case 4: return "Acolyte"; case 5: return "Merchant"; case 6: return "Thief"; // (Adicione as classes restantes) default: return "Erro"; }}?> Pode utilizar este arquivo se quiser: http://sourceforge.net/p/cerescp/svn/HEAD/tree/trunk/db/jobs.txt Em outro caso, me dizer e tentarei de adapta-lo. P.E.: Eu não sou Português ou Brasileiro, sou Espanhol, me desculpe meus erros.
  21. Eu poderia ver a estrutura da tabela? A tabela é na mesma base de dados como o resto de dados no jogo?
  22. This could easily be made into a bug report (even if I don't know if it actually is). @commands are first passed to a chat filter which determines if the user can use normal chat, so if you get GM muted, in frenzy or in whichever other status that avoids you to use the chat, you can't use any @command.
  23. You have more than 200 custom NPCs, but if you bulk replace with editors like Notepad++ any errors you find by opening all your files and clicking the replace on every open file and you may have just to fix errors like 50 times instead of, like, 1000. Or you can disable the case check on scripting, which could yield some kind of other errors, maybe more serious. Just change src/map/script.h, line 27 #define ENABLE_CASE_CHECK to //#define ENABLE_CASE_CHECK Then recompile.
  24. Error confirmed, I've told some devs to fix this problem (even if I could do it myself). Just for your information, any bugs or errors in our official code should be rather reported in our bug tracker (http://herc.ws/board/tracker/) so that devs can take care of it much better and faster, since devs spend more time on the bugtracker than on the forum.
  25. Frost está en lo cierto: las restricciones de items, habilidades y otras cosas se unieron todas en un archivo único y mucho más intuitivo, que básicamente sustituye al mapflag restricted que había anteriormente. Se encuentra en la misma ubicación que ha dicho Frost: db/pre-re/map_zone_db.conf para pre-renewal, o db/re/map_zone_db.conf para renewal.
×
×
  • Create New...

Important Information

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