Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. Adicionei o Item, mas o mesmo não aparece no personagem.
  3. Filho adicionar itens não é difícil, difícil mesmo é adivinhar qual o erro que tá aparecendo pra você. Dói colocar um print no tópico? Alguma coisa que ajude a identificar o problema.
  4. Yesterday
  5. I'm happy to approve files that are yours. However, if you continue to upload other people's work and then try to publicly shame me for not approving, I'll just ban your account. Grow up.
  6. giving more details about my problem even after updating with the commit I understood how the error was generated. the error is only generated when the character is within a guild and with the newest client above 032022 with client 2021 the error is not displayed I will try a way or if anyone knows a way to not activate the guild packet in client 2022 I I thank
  7. Configure for VIP player that only 1 arrow of each copy is needed in the inventory, giving the benefit of having infinite arrows
  8. How to add a menu on this NPC that tells what type of item they want to exchange with?
  9. Try this //===== rAthena Script ======================================= //= Reset NPC //===== Description: ========================================= //= Resets skills, stats, or both. //===== Additional Comments: ================================= //= 1.0 First Version //= 1.1 Optimized for the greater good. [Kisuka] //= 1.2 Cleaning [Euphy] //= 1.3 All statuses removed upon skill reset. [Euphy] //= 1.4 Compressed Script, Added limit use option [Stolao] //= Changed set -> setarray, Improved text with F_InsertPlural //= 1.5 Added sc_end_class to reset related status changes [sader1992] //= 1.6 First three resets are free [YourName] //============================================================ prontera,150,193,4 script Reset Girl 124,{ // Skills, Stats, Both, Limit setarray .@Reset, 5000, 5000, 9000, 0; mes "[Reset Girl]"; if(.@Reset[3] && reset_limit > .@Reset[3]) { mes "Sorry, you can only reset "+callfunc("F_InsertPlural",.@Reset[3],"time")+" in your life."; close; } mes "I am the Reset Girl."; mes "Reset Stats: "+ callfunc("F_InsertComma",.@Reset[1]) +"z"; mes "Reset Skills: "+ callfunc("F_InsertComma",.@Reset[0]) +"z"; mes "Reset Both: "+ callfunc("F_InsertComma",.@Reset[2]) +"z"; if(.@Reset[3]) mes "You may only reset "+callfunc("F_InsertPlural",.@Reset[3],"time")+", so use "+((.@Reset[3]>1)?"them":"it")+" wisely."; mes "Please select the service you want:"; next; set .@i,(select("^FF3355Reset Skills:Reset Stats:Reset Both^000000:Cancel")); if(.@i > 3) close; mes "[Reset Girl]"; if (free_resets < 3) { mes "You are eligible for a free reset! This will be reset number "+(free_resets+1)+"."; } else { if (Zeny < .@Reset[.@i-1]) { mes "Sorry, you don't have enough Zeny."; close; } if(.@Reset[3]){ mes "You can only reset "+callfunc("F_InsertPlural",.@Reset[3],"time")+" in your life, are you sure?"; if(select("Let me think:That's fine") == 1) close; } set Zeny, Zeny-.@Reset[.@i-1]; } if(.@i&1){ sc_end_class; ResetSkill; } if(.@i&2) ResetStatus; if (free_resets < 3) { set free_resets, free_resets + 1; } mes "There you go!"; if(.@Reset[3]) set reset_limit, reset_limit + 1; close; } New Variable free_resets: This variable keeps track of the number of free resets a player has used. Logic for Free Resets: If the player has used fewer than 3 free resets, they are informed that the reset will be free. Otherwise, the script checks if the player has enough Zeny and deducts it accordingly. Incrementing free_resets: Each time a free reset is used, free_resets is incremented by 1. This script ensures that players get their first three resets for free, after which they will be charged the standard fees as defined in the .@Reset array.
  10. Hello guys can i request for a Reset npc For the first 3 reset is free. After that you should have to pay zeny. Thank you in advance. //===== rAthena Script ======================================= //= Reset NPC //===== Description: ========================================= //= Resets skills, stats, or both. //===== Additional Comments: ================================= //= 1.0 First Version //= 1.1 Optimized for the greater good. [Kisuka] //= 1.2 Cleaning [Euphy] //= 1.3 All statuses removed upon skill reset. [Euphy] //= 1.4 Compressed Script, Added limit use option [Stolao] //= Changed set -> setarray, Improved text with F_InsertPlural //= 1.5 Added sc_end_class to reset related status changes [sader1992] //============================================================ prontera,150,193,4 script Reset Girl 124,{ // Skills, Stats, Both, Limit setarray .@Reset, 5000, 5000, 9000, 0; mes "[Reset Girl]"; if(.@Reset[3] && reset_limit > .@Reset[3]) { mes "Sorry you can only reset "+callfunc("F_InsertPlural",.@Reset[3],"time")+" in your life."; close; } mes "I am the Reset Girl."; mes "Reset Stats: "+ callfunc("F_InsertComma",.@Reset[1]) +"z"; mes "Reset Skills: "+ callfunc("F_InsertComma",.@Reset[0]) +"z"; mes "Reset Both: "+ callfunc("F_InsertComma",.@Reset[2]) +"z"; if(.@Reset[3]) mes "You may only reset "+callfunc("F_InsertPlural",.@Reset[3],"time")+", so use "+((.@Reset[3]>1)?"them":"it")+" wisely."; mes "Please select the service you want:"; next; set .@i,(select("^FF3355Reset Skills:Reset Stats:Reset Both^000000:Cancel")); if(.@i > 3) close; mes "[Reset Girl]"; if (Zeny < .@Reset[.@i-1]) { mes "Sorry, you don't have enough Zeny."; close; } if(.@Reset[3]){ mes "You can only reset "+callfunc("F_InsertPlural",.@Reset[3],"time")+" in your life, are you sure?"; if(select("Let me think:That's fine") == 1) close; } set Zeny, Zeny-.@Reset[.@i-1]; if(.@i&1){ sc_end_class; ResetSkill; } if(.@i&2) ResetStatus; mes "There you go!"; if(.@Reset[3]) set reset_limit,reset_limit + 1; close; }
  11. hello! is there any update for this for the newer clients? it seems the coding doesnt match and it gives me an error. im using latest rathena 2024 and 2022 04 06 as client.
  12. [Showcase] Mob and Item Data Center. บันทึก_2024_06_03_13_12_27_572.mp4
  13. Like this. บันทึก_2024_06_03_13_12_27_572.mp4
  14. Can any help me in how to make the illusion - Bewitch skill of Kagero will be effect on emp? when i try to use it.. only monsters can b switch locasion .. i want also emperium can also switch location.. any idea?
  15. Boa noite pessoal, espero está colocando esse tópico no lugar certo, caso não gentileza direcionar para o local certo e peço desculpas" Bom vamos lá... estou usando o cliente 2012-04-10 o mesmo roda tudo perfeito data sem erros, system sem erros, junto estou usando o emulador atual do forum atualizado. estou querendo e tentando adicionar custom mas todas formas que estou colocando está dando erro e no final fica a maça sendo que tudo está conforme o modelo atual, será que devo já que estou usando cliente antigo adicionar do modo antigo ? alguem poderia me ajudar ?
  16. Last week
  17. Get some idea with this . I just write it simple prontera,150,150,5 script QueryMobDrops 1_M_MERCHANT,{ // NPC Dialogue mes "Enter the Mob ID:"; input .@mob_id; // SQL Query query_sql("SELECT m.id, m.name_japanese, i.id, i.name_english, md.rate " + "FROM mob_db m " + "JOIN mob_drop md ON m.id = md.mob_id " + "JOIN item_db i ON md.item_id = i.id " + "WHERE m.id = " + .@mob_id + ";", .@mob_id, .@mob_name$, .@item_id, .@item_name$, .@drop_rate); if (getarraysize(.@mob_id) > 0) { mes "Mob: " + .@mob_name$; for (.@i = 0; .@i < getarraysize(.@mob_id); .@i++) { mes "Item: " + .@item_name$[.@i] + " (ID: " + .@item_id[.@i] + "), Drop Rate: " + .@drop_rate[.@i] + "%"; } } else { mes "No drops found for this mob ID."; } close; }
  18. This is my code but i always get an error: set @string$, "( `name_aegis` IN ( SELECT DISTINCT `drop1_item` FROM `mob_db_re` ) " + "OR `name_aegis` IN ( SELECT DISTINCT `drop2_item` FROM `mob_db_re` ) " + "OR `name_aegis` IN ( SELECT DISTINCT `drop3_item` FROM `mob_db_re` ) " + "OR `name_aegis` IN ( SELECT DISTINCT `drop4_item` FROM `mob_db_re` ) " + "OR `name_aegis` IN ( SELECT DISTINCT `drop5_item` FROM `mob_db_re` ) " + "OR `name_aegis` IN ( SELECT DISTINCT `drop6_item` FROM `mob_db_re` ) " + "OR `name_aegis` IN ( SELECT DISTINCT `drop7_item` FROM `mob_db_re` ) " + "OR `name_aegis` IN ( SELECT DISTINCT `drop8_item` FROM `mob_db_re` ) " + "OR `name_aegis` IN ( SELECT DISTINCT `drop9_item` FROM `mob_db_re` ) " + "OR `name_aegis` IN ( SELECT DISTINCT `drop10_item` FROM `mob_db_re` ) )"; set @sql_query$, "SELECT `item_db_re`.`id` FROM `item_db_re` WHERE `type` = 'Card' AND " + .@string$; dispbottom "Generated SQL query: " + @sql_query$; .@nb = query_sql(@sql_query$, .@id); Error: [SQL]: DB error - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1 [Debug]: at D:\Games\Ragnarok\01_emulator\renewal\src\map\script.cpp:17797 - SELECT `item_db_re`.`id` FROM `item_db_re` WHERE `type` = 'Card' AND [Warning]: Script command 'query_sql' returned failure. [Debug]: Source (NPC): Card_Quest_NPC at moc_para01 (16,13) [Debug]: Source (NPC): Card_Quest_NPC is located in: npc/custom/Card_Collector.txt I even tried this in query tab of database SELECT COUNT(*) FROM `mob_db_re` WHERE `drop8_item` IS NOT NULL; it returned 859. So meaning it has value. I also tried this set @query$, "SELECT `mob_db_re`.`drop8_item` FROM `mob_db_re`"; dispbottom "Generated SQL query: " + .@query$; .@nb = query_sql(.@query$, .@id); dispbottom "Number of rows returned: " + .@nb; it didn't return anything.
  19. Could anyone help me find out how this happened? My clone damage on was about 900+ And The clone damagetaken was 8500 / 6500 I think there was a problem with the source code mob.cpp in line mob_spawn() function that needs to be edited/Modified or need to add new line of codes. WindowsRO 2024-06-02 14-44-46.mp4 WindowsRO 2024-06-02 14-45-29.mp4
  20. i dont think its possible then without duplicate it.
  21. yeep but its only have 1 item. but i want like a : Goblin Mask can use at TOP or Middle. without duplicate the id item
  22. Like Chaos mentioned, each quest need it's own variable to register each cooldown time. Try using tr0n's Questboard, it does what you want and it is easy to add/edit quests. Find these lines to see the examples: AddHunting("Prontera Field 01",11340,1,21,"40221|40222",1,0,2100,2100,1002,300,1007,300,1008,300); AddCollect("Foliage Gathering",1,11,"40221",1,0,2100,2100,705,10,707,10,7100,10,706,1);
  23. I am not sure if I am posting in the correct category. I apologize if not. Only included here are sprites inside the Classes folder that has gibberish characters on it. This does not include 4th jobs and some jobs that have English names. This also does not include weapons, NPCs and mobs. I also removed the “_³²” and “_¿©” for male and female respectively after each names. The list also does not follow the order inside the folder. Classes Path: data.grf > data > sprite > Àΰ£Á· > ¸öÅë ³² - Male ¿© - Female Novices: Ãʺ¸ÀÚ - Novice ½´ÆÛ³ëºñ½º - Super Novice / Expanded Super Novice 1st Jobs: ¼ºÁ÷ÀÚ - Acolyte ¼ºÁ÷ÀÚ_h - Acolyte ±Ã¼ö - Archer ¸¶¹ý»ç - Magician »óÀÎ - Merchant °Ë»ç - Swordsman µµµÏ - Thief 2-1 Jobs: ÇÁ¸®½ºÆ® - Priest ÇÁ¸®½ºÆ®_h - Priest ¼ºÅõ»ç - Priest ÇåÅÍ - Hunter ÇåÅÍ_h - Hunter À§Àúµå - Wizard À§Àúµå_h - Wizard Á¦Ã¶°ø - Blacksmith Á¦Ã¶°ø_h - Blacksmith ±â»ç - Knight ±â»ç_h - Knight ¾î¼¼½Å - Assassin ¾î¼¼½Å_h - Assassin 2-2 Jobs: ¸ùÅ© - Monk ¸ùÅ©_h - Monk ¹Ùµå - Bard ¹Ùµå_h - Bard ¹«Èñ - Dancer ¹«Èñ_h - Dancer ¼¼ÀÌÁö - Sage ¼¼ÀÌÁö_h - Sage ¿¬±Ý¼ú»ç - Alchemist ¿¬±Ý¼ú»ç_h - Alchemist Å©·ç¼¼ÀÌ´õ - Crusader Å©·ç¼¼ÀÌ´õ_h - Crusader ·Î±× - Rogue ·Î±×_h - Rogue Transcendent 2-1 Jobs: ÇÏÀÌÇÁ¸® - High Priest ¼ºÅõ»ç2 - High Priest ½º³ªÀÌÆÛ - Sniper ÇÏÀÌÀ§Àúµå - High Wizard È­ÀÌÆ®½º¹Ì½º - Whitesmith ·Îµå³ªÀÌÆ® - Lord Knight ¾î½Ø½ÅÅ©·Î½º - Assassin Cross Transcendent 2-2 Jobs: èÇÇ¿Â - Champion Ŭ¶ó¿î - Clown Áý½Ã - Gypsy ÇÁ·ÎÆä¼­ - Professor Å©¸®¿¡ÀÌÅÍ - Creator Æȶóµò - Paladin ½ºÅäÄ¿ - Stalker 3-1 Jobs: ¾ÆÅ©ºñ¼ó - Archbishop ·¹ÀÎÁ® - Ranger ¿ö·Ï - Warlock ¹ÌÄÉ´Ð - Mechanic ·é³ªÀÌÆ® - Rune Knight ±æ·Îƾũ·Î½º - Guillotine Cross 3-2 Jobs: ½´¶ó - Sura ¹Î½ºÆ®·² - Minstrel ¿ø´õ·¯ - Wanderer ¼Ò¼­·¯ - Sorcerer Á¦³×¸¯ - Genetic °¡µå - Royal Guard ½¦µµ¿ìüÀ̼­ - Shadow Chaser Expanded Jobs: °Ç³Ê - Gunslinger ´ÑÀÚ - Ninja űǼҳâ - Taekwon ±Ç¼º - Star Gladiator ¼Ò¿ï¸µÄ¿ - Soul Linker ¼ºÁ¦ - Star Emperor ¼Ò¿ï¸®ÆÛ - Soul Reaper -------------------------------------------------- Cash Mounts Novices: ³ëºñ½ºÆ÷¸µ - Poring Novice ½´ÆÛ³ëºñ½ºÆ÷¸µ - Poring Super Novice / Expanded Super Novice 1st: º¹»ç¾ËÆÄÄ« - Alpaca Acolyte ŸÁ¶±Ã¼ö - Ostrich Archer ¿©¿ì¸¶¹ý»ç - Nine Tail Magician »óÀθäµÅÁö - Savage Merchant ÆäÄÚ°Ë»ç - Peco Peco Swordsman Ä̺£·Î½ºµµµÏ - Galleon Thief 2-1: ÇÁ¸®½ºÆ®¾ËÆÄÄ« - Alpaca Priest ŸÁ¶ÇåÅÍ - Ostrich Hunter ¿©¿ìÀ§Àúµå - Nine Tail Wizard Á¦Ã¶°ø¸äµÅÁö - Savage Blacksmith »çÀÚ±â»ç - King Lion Knight Ä̺£·Î½º¾î½ê½Å - Galleon Assassin 2-2: ¸ùÅ©¾ËÆÄÄ« - Alpaca Monk ŸÁ¶¹Ùµå - Ostrich Bard ŸÁ¶¹«Èñ - Ostrich Dancer ¿©¿ì¼¼ÀÌÁö - Nine Tail Sage ¿¬±Ý¼ú»ç¸äµÅÁö - Savage Alchemist »çÀÚÅ©·ç¼¼ÀÌ´õ - King Lion Crusader Ä̺£·Î½º·Î±× - Galleon Rogue T2-1: ÇÏÀÌÇÁ¸®½ºÆ®¾ËÆÄÄ« - Alpaca High Priest ŸÁ¶½º³ªÀÌÆÛ - Ostrich Sniper ¿©¿ìÇÏÀÌÀ§Àúµå - Nine Tail High Wizard È­ÀÌÆ®½º¹Ì½º¸äµÅÁö - Savage Whitesmith »çÀڷε峪ÀÌÆ® - King Lion Lord Knight Ä̺£·Î½º¾î½ê½ÅÅ©·Î½º - Galleon Assassin Cross T2-2: èÇǿ¾ËÆÄÄ« - Alpaca Champion ŸÁ¶Å©¶ó¿î - Ostrich Clown ŸÁ¶Â¤½Ã - Ostrich Gypsy ¿©¿ìÇÁ·ÎÆä¼­ - Nine Tail Professor Å©¸®¿¡ÀÌÅ͸äµÅÁö - Savage Creator »çÀÚÆȶóµò - King Lion Paladin Ä̺£·Î½º½ºÅäÄ¿ - Galleon Stalker 3-1: ¾ÆÅ©ºñ¼ó¾ËÆÄÄ« - Alpaca Archbishop ŸÁ¶·¹ÀÎÁ® - Ostrich Ranger ¿©¿ì¿ö·Ï - Nine Tail Warlock ¹ÌÄɴиäµÅÁö - Savage Mechanic »çÀڷ鳪ÀÌÆ® - King Lion Rune Knight Ä̺£·Î½º±æ·Îƾũ·Î½º - Galleon Guillotine Cross 3-2: ½´¶ó¾ËÆÄÄ« - Alpaca Sura ŸÁ¶¹Î½ºÆ®·² - Ostrich Minstrel ŸÁ¶¿ø´õ·¯ - Ostrich Wanderer ¿©¿ì¼Ò¼­·¯ - Nine Tail Sorcerer Á¦³×¸¯¸äµÅÁö - Savage Genetic »çÀڷξⰡµå - King Lion Royal Guard Ä̺£·Î½º½¦µµ¿ìüÀ̼­ - Galleon Shadow Chaser Expanded: űǼҳâÆ÷¸µ - Poring Taekwon µÎ²¨ºñ´ÑÀÚ - Poison Toad Ninja ÆäÄÚ°Ç³Ê - Bike Gunslinger (Peco Peco in older version) ±Ç¼ºÆ÷¸µ - Poring Star Gladiator µÎ²¨ºñ¼Ò¿ï¸µÄ¿ - Poison Toad Soul Linker ÇØżºÁ¦ - Haetae Star Emperor ÇØżҿ︮ÆÛ - Haetae Soul Reaper -------------------------------------------------- Skill/Combat Mounts ÆäÄÚÆäÄÚ_±â»ç - Peco Peco Knight ÆäÄÚÆäÄÚ_±â»ç_h - Peco Peco Knight ·ÎµåÆäÄÚ - Armored Peco Peco Lord Knight ·é³ªÀÌÆ®»Ú¶ì - Ferus Rune Knight ·é³ªÀÌÆ®»Ú¶ì2 - Black Ferus Rune Knight ·é³ªÀÌÆ®»Ú¶ì3 - White Ferus Rune Knight ·é³ªÀÌÆ®»Ú¶ì4 - Blue Ferus Rune Knight ·é³ªÀÌÆ®»Ú¶ì5 - Red Ferus Rune Knight ·¹ÀÎÁ®´Á´ë - Warg Ranger ¸¶µµ±â¾î - Magic Gear Mechanic ¸¶µµ¾Æ¸Ó - Magic Gear Mechanic (jRO) ±¸ÆäÄÚÅ©·ç¼¼ÀÌ´õ - Peco Peco Crusader ½ÅÆäÄÚÅ©·ç¼¼ÀÌ´õ - Grand Peco Crusader ½ÅÆäÄÚÅ©·ç¼¼ÀÌ´õ_h - Grand Peco Crusader ÆäÄÚÆȶóµò - Armored Grand Peco Paladin ±×¸®Æù°¡µå - Gryphon Royal Guard -------------------------------------------------- Others: ¹«Èñ_¿©_¹ÙÁö - Pants Dancer ±Ç¼ºÀ¶ÇÕ - Floating Star Gladiator ¼ºÁ¦À¶ÇÕ - Floating Star Emperor Costumes: »êŸ - Christmas ¿©¸§ - Summer ¿©¸§2 - Summer 2 °áÈ¥ - Wedding Åνõµ - Wedding ÇѺ¹ - Hanbok ¿ÁÅä¹öÆнºÆ® - Oktoberfest GMs: ¿î¿µÀÚ - Gamemaster ¿î¿µÀÚ2 - Gamemaster 2 Mercenaries: °Ë¿ëº´ - Mercenary Fencer (Male) â¿ëº´ - Mercenary Spearman (Male) È°¿ëº´ - Mercenary Bowman (Female) ================================================== Hairstyles Path (Norman): data.grf > data > sprite > Àΰ£Á· > ¸Ó¸®Åë Doram Path (Classes): data.grf > data > sprite > µµ¶÷Á· > ¸öÅë Doram Path (Hairstyles): data.grf > data > sprite > µµ¶÷Á· > ¸Ó¸®Åë
  24. I had to make a number of changes to the script, otherwise it didn't work correctly. src/map/map.cpp Change @@ -2829,6 +2835,27 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type) if (map_getmapflag(m, MF_MOBITEMADDER)) { for (const auto& it : mapdata->mobitemadder_droplist) { if (it.mob_id == md->mob_id) { struct s_mob_drop mobdrop; drop_rate = it.item_per; mobdrop.nameid = it.item_id; if (rand() % 10000 > drop_rate) continue; - if (!ditem || !itemdb_exists(it.item_id)) + if (!itemdb_exists(it.item_id)) continue; ditem = mob_setdropitem(&mobdrop, 1, it.mob_id); mob_item_drop(md, dlist, ditem, 0, it.item_per, homkillonly); } } } src/map/npc.cpp new code case MF_MOBITEMADDER: { if (state) { // Copy the string so as not to modify the original string char* droplist = strdup(w4); if (droplist) { char* checkdroplist = strtok(droplist, ", "); if (checkdroplist) { union u_mapflag_args args = {}; args.mobitemadder.mob_id = atoi(checkdroplist); // Clearing the current item data of a mob before adding new ones map_setmapflag(m, MF_MOBITEMADDER, false); // Create a temporary array to store added items int added_items[50]; // Assume no more than 50 items per monster int num_added_items = 0; // Number of items added // Process the string and add the items while ((checkdroplist = strtok(NULL, ", "))) { args.mobitemadder.item_id = atoi(checkdroplist); if ((checkdroplist = strtok(NULL, ", "))) { args.mobitemadder.item_per = atoi(checkdroplist); // Check to see if the mob already has the item. bool already_added = false; for (int i = 0; i < num_added_items; ++i) { if (added_items[i] == args.mobitemadder.item_id) { already_added = true; break; } } // If the item is not already present on the mob, add it if (!already_added) { map_setmapflag_sub(m, MF_MOBITEMADDER, true, &args); added_items[num_added_items++] = args.mobitemadder.item_id; } } } } free(droplist); // Freeing the allocated memory } } else { map_setmapflag(m, MF_MOBITEMADDER, false); } break; } The only problem I have not been able to solve is the duplicate drop if @reloadscript is produced on the server That is, if you did reloadscript 10 times, the drop will drop in 10 instances.
  25. So I heard that in kRO, 3rd jobs from non-trans 2nd job cannot change to 4th job. They would need to change from a non-trans 3rd job to a transcendent 3rd job to be able to change to a 4th job as 4th jobs has access to trans stats and skills. I also heard that there is an NPC or option in kRO to change reg 3rd to trans 3rd. I guess my question is how to change from non-trans 3rd to trans 3rd so that you can change to 4th job? Like what are the requirements and process? Thank you for answering and God Bless =>
  1. Load more activity
×
×
  • Create New...