Jump to content

Hyroshima

Members
  • Posts

    159
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by Hyroshima

  1. Alter: specialeffect(EF_FIREWALL2, AREA, .@cid); To: specialeffect(EF_FIREWALL2, AREA, convertpcinfo(.@cid,CPC_NAME)); And: specialeffect(EF_HEAL, AREA, getcharid(3)); To: specialeffect(EF_HEAL, AREA, strcharinfo(0));
  2. This happens in relation to the standard system for dynamically duplicating npcs that was implemented. I made the update but forgot to share with the guys xD duplicatenpcV3_(2022-12+)_dynamicnpc.diff
  3. Had the same problem with an older revision, I solved it by just displaying the effect if the player is already nocasted (instant skill), as the effect works normally below the nocast cap. in the skill.cpp file look for the function: int skill_castend_damage_id then look for the asura skill: case MO_EXTREMITYFIST: find this function in the asura function case: skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag); add this below it: if(status_get_dex(&sd->bl) >= battle_config.castrate_dex_scale) clif_specialeffect(&sd->bl,328,AREA); Obs: It's not the best solution, but it will work.
  4. Realmente se ele estiver pegando os arquivos do RO oficial estão criptografados, mas muita gente já usa um patch/client com arquivos que já foram decompilados como base. Esses 2 tópicos podem ajudar a decompilar os lub:
  5. According to a need I had, I didn't find another way to check how many items were left in a npc shop like marketshop, so I made this command to return the amount that still exists in the npc. *npcshopstock("<name>",<item_id>); Obs: In case of -1 return the item was not found in the shop. Example: prontera,157,168,5 script Stock View 113,{ if(!npcshopstock("Bugigangas",607)) { mes "Item "+getitemname(607)+" is out of stock."; close; } mes "Item "+getitemname(607)+" has "+npcshopstock("Bugigangas",607)+"x in stock. is out of stock."; if(select("Open Shop:Cancel")==2) close; close2; callshop "Bugigangas",1; end; } - marketshop Bugigangas 112,607:5000:150 I have little experience in src but I can do some things lol ? npcshopstock.diff
  6. @ Rook1es I added the manual fix, you can install the diff and make the fix I left in the post.
  7. which revision are you using? if it is before 2021 you must use the previous versions of the mod here in the topic. @Edit I found the fault related to coins and tcgs, i will make the corrections later and update the previous post with the 9.2 file (Cash and Zeny find themselves normal).
  8. Fixed and available in my archive post.
  9. at the time of uploading I sent the file that still had this warning ? as I ended up deleting the file that I had already fixed, I'll do it again and send it here as 9.1 (fix itemdb_exists()) I will edit the post where I make rev9 available and put 9.1 under it has been tested on client 2017 and 2020
  10. I made some corrections, it was tested on revisions 17687 and 17700. ExtendedVending_Rev9.1.diff @Edit Manual fix for 'You do not have enough items' (diff 9.1) in src/map/vending.cpp search for: if (battle_config.ex_buying_bound) { for (k = 0; k < MAX_INVENTORY; k++) { if (sd->inventory.u.items_inventory[k].nameid == vsd->vend_loot) { if (sd->inventory.u.items_inventory[k].bound) { clif_displaymessage(sd->fd, msg_txt(sd,1604)); return; } loot_count += sd->inventory.u.items_inventory[k].amount; } } } and replace with: for (k = 0; k < MAX_INVENTORY; k++) { if (sd->inventory.u.items_inventory[k].nameid == vsd->vend_loot) { if (sd->inventory.u.items_inventory[k].bound && !battle_config.ex_buying_bound) { clif_displaymessage(sd->fd, msg_txt(sd,1604)); return; } loot_count += sd->inventory.u.items_inventory[k].amount; } } Obs: When I have some time I will update the diff to 9.2 and remove this manual fix.
  11. Hyroshima

    query_sql

    what is the points_system table structure?
  12. That way you just need to adapt it to your instance script, in the simple way you would only need to add the code in the mob death label of your instance. setarray .@Drops[0], 607,5,10000, //5x Ygg 100% 523,10,5000, //10x Holy Water 50% 12090,5,488, //5x Steamed Desert Scorpions 4,88% 5086,1,2200; //1x Alarm Mask 22% getpartymember getcharid(1),1; getpartymember getcharid(1),2; for(set .@i,0; .@i<$@partymembercount; set .@i,.@i+1) { if(isloggedin($@partymemberaid[.@i],$@partymembercid[.@i])) { attachrid($@partymemberaid[.@i]); else if(strcharinfo(3) == instance_mapname("map_instance")) { for(set .@i,0; .@i<getarraysize(.@Drops); set .@i,.@i+3) { set .@rnd,rand(1,10000); if(.@rnd <= .@Drops[.@i+2]) { getitem .@Drops[.@i],.@Drops[.@i+1]; if(.@Drops[.@i+2] <= 500) { set .@calc,(.@Drops[.@i+2]*100); set .@cRess$,(.@calc%10000 ? (.@calc/10000)+","+substr(""+(.@calc%10000),0,1):(.@calc/10000))+"%"; announce "[IN INSTANCE]: "+strcharinfo(0)+" gained "+.@Drops[.@i+1]+"x "+getitemname(.@Drops[.@i])+" ~ "+.@cRess$+"",bc_all; } } } } detachrid; } } end;
  13. I started this idea because rag has a lot of limitations, and for things to get interesting there are a lot of obstacles, I had help from some friends in parts that I don't have enough knowledge in the src part and in the client part. After a long time working on this idea, I'm finalizing it.
  14. maybe many here know mir4 nft (or maybe not lol), but I found their mining system pretty cool and I'm developing it for rag. a lot of problems appeared, a lot of headache lol, I have friends who also help me both on the client and src side. much of it is already functional including @autofarm. I've been running out of time lately but I have several cool projects that I'll bring to the community soon @Edit rarity effect more similar to the original idea
  15. use this: if(strcharinfo(3) == "prt_fild08") end;
  16. then you use to create like this: setarray .@Instance_Name$[0], "gld_dun01", "gld_dun02", "gld_dun03"; switch (select("Create Instance", "Enter Instance", "Exit")) { case 1: set @menu_slt, select("Guild Dungeon 1","Guild Dungeon 2","Guild Dungeon 3"); set @myInstance$,.@Instance_Name$[(@menu_slt-1)]; switch(@menu_slt) { case 1: <create instance for gld01> break; case 2: <create instance for gld02> break; case 3: <create instance for gld03> break; } //NOW AFTER THE PLAYER CREATES INSTANCE THE NPC WILL THEN CLOSE DIALOGUE AND THE PLAYER WILL BE UNATTACHED TO NPC. //THE PROBLEM IS HERE IN CASE 2. MY QUESTION IS.... HOW WILL NPC REGNIZE YOUR CURRENT INSTANCE??? case 2: if(@myInstance$ == ""){ mes "instance not created..."; close; } instance_enter(@myInstance$); set @myInstance$,""; break; } end; that way you can use case 2 on another npc too.
  17. setarray .@Instance_Name$[0], "gld_dun01", "gld_dun02", "gld_dun03"; switch (select("Create Instance", "Enter Instance", "Exit")) { case 1: set @menu_slt, select("Guild Dungeon 1","Guild Dungeon 2","Guild Dungeon 3"); switch(@menu_slt) { case 1: <create instance for gld01> break; case 2: <create instance for gld02> break; case 3: <create instance for gld03> break; } //NOW AFTER THE PLAYER CREATES INSTANCE THE NPC WILL THEN CLOSE DIALOGUE AND THE PLAYER WILL BE UNATTACHED TO NPC. //THE PROBLEM IS HERE IN CASE 2. MY QUESTION IS.... HOW WILL NPC REGNIZE YOUR CURRENT INSTANCE??? case 2: if(!@menu_slt){ mes "instance not created..."; close; } instance_enter(.@Instance_Name$[(@menu_slt-1)]); break; } end; this might solve your problem, but you need to check if the instance was created before teleporting. I did a generic check
  18. hello everyone xD, could someone tell me if it's possible to make the player run an atk on npc? so that the animation appears when the player attacks something? I tried skilleffect 457; it even makes an animation but it's not the attack ;/ or if there is any way to make the player simulate the animation effect when it is attacking a mob but on an npc ;/ grateful for your time ?
  19. are you loading the code correctly in the emulator?
  20. como assim adicionar? você se refere carregar o npc no emulador? se for é só vc abrir um daqueles arquivos q está na pasta npc, vc vai ver q tem vários lá que é direcionado para uma sub-pasta npc, é só fazer o mesmo, cria uma pasta com um nome, bota seus npcs e depois adiciona o apontamento no arquivo onde estão os arquivos.
×
×
  • Create New...