Jump to content

pajodex

Members
  • Posts

    436
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by pajodex

  1. Hi, Can somebody explain this error to me? [Error]: map_freeblock_timer: block_free_lock(1) is invalid. [Error]: map_freeblock_timer: block_free_lock(2) is invalid. [Error]: map_freeblock_timer: block_free_lock(5) is invalid. I'm getting those error 'sometimes' after I summon my clones using a custom clone skill. Is this error somehow dangerous? or what? I'm not really good at this stuff.
  2. Hi, So I was able to manage to make a custom skill that creates a slave clone, However, It doesn't use any skills, just basic attack. What mode should I put to make it use skills too? I tried MD_AGGRESSIVE/MD_ANGRY But it makes them idle like rock (see image 1). I'm using MD_NONE because it makes them move like clones but doesn't do any skills. (image 2) I also tried Flag 1 but it crashes the client. mob_clone_spawn(pl_sd, sd->bl.m, x, y, "", master, MD_NONE, 2, 20000); image 1 Image 2
  3. Try not putting break and put it in a {}. I don't guarantee that it will not affect other skills
  4. Also for attack. But only monsters if possible. Evil clones are the ones who attacks players, right?
  5. Hi, Is it possible to script that an Npc will summon a slave clone a random online male player to the female character who talked to the npc? Limit only to one clone per character. Once character is dead, clone needs to be resummoned.
  6. Hi, Anyone who got Annieruru's latest dota pvp ladder? I tried searching for one but it seems that they're mostly not updated. I wanted to have a clean working copy. Thanks
  7. Goto db/pre-re(re) /item_combo.txt
  8. Works, however, the loop wont stop in 1 occurrence. It loads again and again therefore causing high load and eventually server crash I used this updated patched of aura mod of Zyphrus by @razmux and works fine.
  9. Hi, How do I add a custom aura to an item when worn? I manage to do it with this code: {},{misceffect 757;}, {} But it disappears when I use "@ go/ warp" command and its only visible to the wearer and the players around the wearer. Thanks in advance
  10. So, I was planning on adding some NPC_Skills in my server, however some skills doesn't have skill effects such as the ff: case NPC_ACIDBREATH: case NPC_DARKNESSBREATH: case NPC_FIREBREATH: case NPC_ICEBREATH: case NPC_THUNDERBREATH: Where can I add this code: clif_specialeffect(bl, <EF_ID>, AREA); for each of those skills listed? Thanks in advance~ Edit SOLVED: Thanks to @Stolao (discord) for suggesting to put it on where it defines the damage.
  11. Edit your packet.h find: #ifndef PACKETVER Edit: #define PACKETVER <YOUR2015CLIENT>
  12. Try to uncomment the Renewal_aspd and compare the difference.
  13. Totally clean rdata.grf. I separated my customs on another grf. did you try to download this? https://github.com/zackdreaver/ROenglishRE
  14. - script command#freebies -1,{ OnInit: // This part binds "freebies" as atcommand. bindatcmd("freebies",strnpcinfo(0)+"::OnCommand"); end; OnCommand: // This part tells your players that he got his freebies If(GetFree) { mes "You have received your rewards"; close; } else { // This part if players didnt get his freebies yet mes "Welcome! Here are your freebies"; close2: set GetFree,1; // To avoid abuse, Set GetFree variable to 1 getitem 501,1; // Items received by the player in this case, 1 red potion (ItemID 501) you can add more by adding getitem <ITEMID>,<AMOUNT>; below end; } } Do the same for gpack and costumeitem(if it means to get a free costume item)
  15. change it to something like this if (@sold_nameid[.@i] > 4000 && @sold_nameid[.@i] < 4700 | @sold_nameid[.@i] > 32999 && @sold_nameid[.@i] < 33006) { I added a " | " mark for npc to skip data from 4701 -> 32999 I guess you get my point My item numbers 33000 - 33006 are all custom cards. Well, it works for me at least
  16. 1. Removed 1 lhz_dun03 2. Where can I see the labels of those MVPs? Just wanna check it out. Or should I just completely remove OnNPCKillEvent on both lhz_dun03 and lhz_dun04 off the list to avoid conflicts Here is my new code, its working as I wanted it to be. Thanks to @Secrets and @Nitrous(via discord) for the help - script #mvp_kill -1,{ OnInit: setarray .t_maps$[0],"moc_pryd06","lhz_dun03","gld2_prt","abbey02","ayo_dun02","lhz_dun04","ra_fild02","xmas_fild01","dic_dun02","beach_dun","iz_dun05","tur_dun04","lhz_dun02","jupe_core","moc_fild22","anthell02","odin_tem03","gon_dun03","gef_fild02","thana_boss","gef_fild10","ein_dun02","gef_fild14","moc_pryd04","dew_dun01","in_sphinx5","niflheim","moc_fild17","xmas_dun02","ice_dun03","kh_dun02","treasure02","moc_prydn2","pay_dun04","ra_san05","mosk_dun03","ama_dun03","thor_v03","gef_dun01","mjolnir_04","abyss_03","dic_dun03","prt_sewb4","pay_fild11","gef_dun02","gl_chyard","ra_fild03","ra_fild04","ve_fild01","ve_fild02","lou_dun03","prt_maze03","bra_dun02"; end; OnNPCKillEvent: if ( getmonsterinfo( killedrid, MOB_MVPEXP )) { for (.@a = 0; .@a < getarraysize(.t_maps$); .@a++) { if ( strcharinfo(3) == instance_mapname("06guild_01") ) end; if ( strcharinfo(3) == instance_mapname("force_1-1") ) end; if ( strcharinfo(3) == .t_maps$[.@a] && rand(100) < 90 ) { if ( getcharid(1) ) { getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { .@partymemberaid[.@c] = $@partymemberaid[.@i]; .@c++; } } getitem 30017, 1, .@partymemberaid[ rand( .@c ) ]; //dispbottom "You got an MVP Badge!"; } else { getitem 30017, 1; //dispbottom "You got an MVP Badge!"; } } } if ( getcharid(1) ) { announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all; } else { announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" alone at "+ strcharinfo(3), bc_all; } end; } }
  17. @Secrets I modified my script and added the `loop thing` - script #mvp_kill -1,{ OnInit: setarray .t_maps$[0],"moc_pryd06","lhz_dun03","gld2_prt","abbey02","ayo_dun02","lhz_dun04","ra_fild02","xmas_fild01","dic_dun02","beach_dun","iz_dun05","tur_dun04","lhz_dun02","jupe_core","moc_fild22","anthell02","odin_tem03","lhz_dun03","gon_dun03","gef_fild02","thana_boss","gef_fild10","ein_dun02","gef_fild14","moc_pryd04","dew_dun01","in_sphinx5","niflheim","moc_fild17","xmas_dun02","ice_dun03","kh_dun02","treasure02","moc_prydn2","pay_dun04","ra_san05","mosk_dun03","ama_dun03","thor_v03","gef_dun01","mjolnir_04","abyss_03","dic_dun03","prt_sewb4","pay_fild11","gef_dun02","gl_chyard","ra_fild03","ra_fild04","ve_fild01","ve_fild02","lou_dun03","prt_maze03","bra_dun02"; .@j = 0; end; OnNPCKillEvent: if ( getmonsterinfo( killedrid, MOB_MVPEXP )) { for (.@a = 0; .@a < getarraysize(.t_maps$); .@a++) { if ( strcharinfo(3) == .t_maps$[.@a] && rand(100) < 90 ) { if ( getcharid(1) ) { getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { .@partymemberaid[.@c] = $@partymemberaid[.@i]; .@c++; } } getitem 30017, 1, .@partymemberaid[ rand( .@c ) ]; announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" and got reward at "+ strcharinfo(3), bc_all; } else { getitem 30017, 1; announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" and got an MVP Badge at "+ strcharinfo(3), bc_all; } } else { if ( strcharinfo(3) == instance_mapname("06guild_01") ) end; if ( getcharid(1) ) { announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all; } else { announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" alone at "+ strcharinfo(3), bc_all; } } } end; } } Works now, however, the announce part does this: XD Sorry, I'm still learning
  18. I changed it to if ( strcharinfo(3) == .t_maps$[0] && rand(100) < 90 ) { Still the same :\ Sorry I tried reading in script_commands but it barely helped.
  19. Still the same. Script only works at moc_pryd06. @Azrael-
  20. Hi, Can I get some help with my script. I wanted it to be that players will get some 'special item' at all maps listed in my array. Problem is, it only reads the first list in array which is 'moc_pryd06' Here is my *noob* script: - script #mvp_kill -1,{ OnNPCKillEvent: setarray .@t_maps$[0],"moc_pryd06","lhz_dun03","gld2_prt","abbey02","ayo_dun02","lhz_dun04","ra_fild02","xmas_fild01","dic_dun02","beach_dun","iz_dun05","tur_dun04","lhz_dun02","jupe_core","moc_fild22","anthell02","odin_tem03","lhz_dun03","gon_dun03","gef_fild02","thana_boss","gef_fild10","ein_dun02","gef_fild14","moc_pryd04","dew_dun01","in_sphinx5","niflheim","moc_fild17","xmas_dun02","ice_dun03","kh_dun02","treasure02","moc_prydn2","pay_dun04","ra_san05","mosk_dun03","ama_dun03","thor_v03","gef_dun01","mjolnir_04","abyss_03","dic_dun03","prt_sewb4","pay_fild11","gef_dun02","gl_chyard","ra_fild03","ra_fild04","ve_fild01","ve_fild02","lou_dun03","prt_maze03","bra_dun02"; if ( getmonsterinfo( killedrid, MOB_MVPEXP )) { if ( strcharinfo(3) == .@t_maps$[.@a] && rand(100) < 90 ) { if ( getcharid(1) ) { getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { .@partymemberaid[.@c] = $@partymemberaid[.@i]; .@c++; } } getitem 30017, 1, .@partymemberaid[ rand( .@c ) ]; announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" and got reward at "+ strcharinfo(3), bc_all; } else { getitem 30017, 1; announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" and got an MVP Badge at "+ strcharinfo(3), bc_all; } } else { if ( strcharinfo(3) == instance_mapname("06guild_01") ) end; if ( getcharid(1) ) { announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all; } else { announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" alone at "+ strcharinfo(3), bc_all; } } } end; }
  21. Hi, Anyone who can help me with this? I'm using custom mobs and custom item rewards. I get error when I try to kill the mob in console [Error]: get_val_: fatal error ! player not attached! [Debug]: Function: getmonsterinfo (2 parameters): [Debug]: Data: param name='killedrid' type=122 [Debug]: Data: number value=3000 [Debug]: Source (NPC): #summon_mpv at 1#force_1-1 (0,0) [Warning]: script:get_val: cannot access player variable 'killedrid', defaulting to 0 [Info]: [Instance] Destroyed 1. [Error]: Memory manager: args of aFree 0x274B79E4 is invalid pointer h:\dxro\rathena\src\map\map.cpp line 241 This is the part of the script when mob is summoned and killed force_1-1,0,0,0 script #summon_mpv -1,{ end; OnEnable1: .@map$ = instance_mapname("force_1-1"); .@label_g$ = instance_npcname(strnpcinfo(0))+"::OnDeathGr"; monster .@map$,26,174,"--ja--",3000,1,.@label_g$; OnDeathGr: if ( getmonsterinfo( killedrid, 3000 )) { if ( getcharid(1) ) { getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { // what happens if someone in the party member is offline =/ .@partymemberaid[.@c] = $@partymemberaid[.@i]; .@c++; } } getitem 33001, 1, .@partymemberaid[ rand( .@c ) ]; warp "prontera",156,191; instance_destroy(); announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" and got reward at "+ strcharinfo(3), bc_all; } else { getitem 33001, 1; instance_destroy(); warp "prontera",156,191; announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" and got reward alone at "+ strcharinfo(3), bc_all; } //getitem 33001,1; end; } } The code works well if it's not in instance. But when I put it in instance, I get this error. Thanks UPDATE: Forgot to add "end;" OnEnable1: .@map$ = instance_mapname("force_1-1"); .@label_g$ = instance_npcname(strnpcinfo(0))+"::OnDeathGr"; monster .@map$,26,174,"--ja--",3000,1,.@label_g$; **end;** Now only thing left is when I kill the mob, I get this error: [Error]: Memory manager: args of aFree 0x20CC3684 is invalid pointer h:\dxro\rathena\src\map\map.cpp line 241
×
×
  • Create New...