Jump to content

pajodex

Members
  • Posts

    439
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by pajodex

  1. Still the same. Script only works at moc_pryd06. @Azrael-
  2. 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; }
  3. 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
  4. I downloaded that too, still, no hope. Is the hell fly sprite removed from data.grf? Or did I messed something up???
  5. Hi, I'm wondering how is it possible for my files to go missing. I'm missing a Hell Fly (1872) sprite in my client.. Any *FULL and UPDATED client hanging around? I'm using kRO Ragnarok Online Client [2017.02.26] SOLVED: Seemed that my lua files are messed up. Redid my grf and used Notepad++ with encoding mode to ASCII
  6. Thanks! Maybe some guides on how to set this up would really be cool.
  7. There is a problem at patching to custom aura set. Client crashes if patch is applied. Thanks
  8. @GodKnows Jhomz Hi, I was able to do it my self. Working fine I guess? Can you check it for optimization? I will still clean this up in a while prontera,140,160,4 script Black Market NPC 10044,{ mes "[^995050Black Market NPC^000000]"; mes "Hi, "+strcharinfo(0)+"!"; mes "What can I do for you?"; next; switch(select(" > Information: > Trade in cards: > Leave")) { // : > Point shop (^0055FF"+getd(.Points$)+"^000000) case 1: mes "[^995050Black Market NPC^000000]"; mes "Do you find that you've got"; mes "useless cards lying around?"; mes "I'll be glad to take them off"; mes "your hands!"; next; mes "[^995050Black Market NPC^000000]"; mes "I'll give you ^0055FF"+.Points[0]+" Point"+((.Points[0] == 1)?"":"s")+"^000000 for each"; mes "card you give me, and"; mes "^0055FF"+.Points[1]+" Points^000000 for MVP cards."; mes "You can trade those points"; mes "for items later on."; mes "How does that sound?"; emotion e_cash; close; case 2: mes "[^995050Black Market NPC^000000]"; mes "Select the cards you"; mes "want to trade in."; if (.Level) { mes " "; mes "They must be dropped"; mes "by monsters of level"; mes .Level+" and above."; } deletearray @sold_nameid[0],getarraysize(@sold_nameid); callshop "card_shop",2; npcshopattach "card_shop"; end; // case 3: // mes "[^995050Black Market NPC^000000]"; // mes "You have ^0055FF"+getd(.Points$)+"^000000 Point"+((getd(.Points$) == 1)?".":"s."); // callshop "card_shop",1; // npcshopattach "card_shop"; // end; case 3: mes "[^995050Black Market NPC^000000]"; mes "*yawn*"; mes "See you later!"; emotion e_yawn; close; } OnSellItem: mes "Cards to sell:"; mes "-----------------------------------"; for(set .@i,0; .@i<getarraysize(@sold_nameid); set .@i,.@i+1) if (@sold_nameid[.@i] > 4000 && @sold_nameid[.@i] < 4700 | @sold_nameid[.@i] > 33000 && @sold_nameid[.@i] < 33006) { if (.Level) { query_sql("SELECT `LV` FROM `mob_db` WHERE `DropCardid` = "+@sold_nameid[.@i],.@lv); if (.@lv < .Level) { dispbottom getitemname(@sold_nameid[.@i])+" is under the minimum level."; continue; } } set .@card_id[getarraysize(.@card_id)], @sold_nameid[.@i]; set .@card_amt[getarraysize(.@card_amt)], @sold_quantity[.@i]; set .@class2, compare(.class2$,""+@sold_nameid[.@i]); set .@class3, compare(.class3$,""+@sold_nameid[.@i]); set .@class4, compare(.class4$,""+@sold_nameid[.@i]); mes ((.@class2 || .@class3 || .@class4)?" ^FF0000":" ^777777")+@sold_quantity[.@i]+"x "+getitemname(@sold_nameid[.@i])+"^000000"; if(.@class2) { .@class=1; } else if(.@class3) { .@class=2; } else if(.@class4) { .@class=3; } else { .@class=0; mes "DONT SELL ME CRAP I WILL TEAR THIS DOWN!"; close2; end; } set .@card_total, .@card_total+ ( @sold_quantity[.@i]* .Points[.@class] ); } deletearray @sold_nameid[0], getarraysize(@sold_nameid); deletearray @sold_quantity[0], getarraysize(@sold_quantity); if (!.@card_id) { mes " ^777777(none)^000000"; emotion e_swt; close; } //mes " "; mes "-----------------------------------"; mes "---------- Total: ^0055FF"+.@card_total+" pt.^000000 -------"; next; if(select(" > ^0055FFComplete trade...^000000: > ^777777Cancel^000000") == 2) { mes "[^995050Black Market NPC^000000]"; mes "Oh, okay..."; emotion e_hmm; close; } for(set .@i,0; .@i<getarraysize(.@card_id); set .@i,.@i+1) delitem .@card_id[.@i],.@card_amt[.@i]; //setd .Points$, getd(.Points$)+.@card_total; getitem 501, getd(.Points$)+.@card_total; mes "[^995050Black Market NPC^000000]"; mes "All done!"; emotion e_ho; close; OnBuyItem: for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) for(set .@j,0; .@j<getarraysize(.Shop); set .@j,.@j+2) if (@bought_nameid[.@i] == .Shop[.@j]) { set .@cost, .@cost+(.Shop[.@j+1]*@bought_quantity[.@i]); break; } if (.@cost > getd(.Points$)) { mes "[^995050Black Market NPC^000000]"; mes "You don't have enough Points."; emotion e_omg; } else { mes "Items purchased:"; mes "-----------------------------------"; for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) { getitem @bought_nameid[.@i], @bought_quantity[.@i]; mes " ^777777"+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+"^000000"; } mes " "; mes "---------- Total: ^0055FF"+.@cost+" pt.^000000 -------"; setd .Points$, getd(.Points$)-.@cost; emotion e_cash; } deletearray @bought_nameid[0], getarraysize(@bought_nameid); deletearray @bought_quantity[0], getarraysize(@bought_quantity); close; OnInit: set .Level,0; // Minimum monster level to trade corresponding cards. set .Points$,"#TESTPOINTS"; // Variable to store points. setarray .Shop[0], // Card Shop items: <ID>,<point cost> 5027,10, 18505,10, 5176,10, 5305,20; //setarray .Points[0],5,100; // Points per <normal card>,<MVP card> setarray .Points[0],0,rand(5,11),rand(1,3),rand(8,20); // Points per <Class 1>,<Class 2>,<Class 3>,<Class 4> set .class2$, "4441,4408,4263,4168,4430,4342,4318,4407,4399,4302,4560,4561,4562,4563,4564,4565,4566,4324,4386,4276,4334,4174"; set .class3$, "4121,4123,4128,4131,4132,4134,4135,4137,4142,4143,4144,4145,4146,4147,4148,"+ "4236,4305,4330,4357,4359,4361,4363,4365,4403"; set .class4$, "33000,33001,33002,33003,33004,33005,33006"; npcshopdelitem "card_shop",909; for(set .@i,0; .@i<getarraysize(.Shop); set .@i,.@i+2) npcshopadditem "card_shop",.Shop[.@i],.Shop[.@i+1]; end; } - shop card_shop -1,909:-1
  9. Thanks! Its a big help! I'm having trouble with it for a while now.
  10. Hi, thank you but you missed this part: class 1 cards : npc wont give any iem and will say "I wont accept trash" class 2 cards : npc will give item (501) for random amount 1 -3 class 3 cards : npc will give item (501) for random amount 3-5 class 4 cards : npc will give item (501) for random amount 5-10 I'm currently using the v1.1
  11. Hi, I'm having problem in modifying Euphy's Card Trader NPC Download: Card Trader v1.1 I want to modify it to this: instead of points, npc will give an item (ex: 501) class 1 cards : npc wont give any iem and will say "I wont accept trash" class 2 cards : npc will give item (501) for random amount 1 -3 class 3 cards : npc will give item (501) for random amount 3-5 class 4 cards : npc will give item (501) for random amount 5-10 I can carry out other modifications. Thanks
  12. Do the 2nd option I gave you. PS: Your really not going to 'replace' your grf. It's basically fixing your problem. Try doing everything step by step and don't forget to make back ups.
  13. Hi, I just wanna ask if custom aura limit in nemo patch is unstable? Cuz it crashes my client everytime I diff it. I'm using 2017-05-17 client Thanks in advance
  14. Hi, I'm not really sure but try adding 2 in this part sc_timer_next2(45000+tick,status_change_timer,bl->id, data);
  15. Hi, let me explain further what @BrOgBr meant: Before proceeding to these steps, make sure you already know how to use GRF Builder, Client hexing, and Notepad. 1. Extract your main.grf to a folder where you can easily find. 2. go to that extracted grf folder and find data/idnum2itemdesctable.txt and rename it to idnum2itemdesctable_backup.txt (this is for back up purposes incase you need this again) 3. copy the new idnum2itemdesctable.txt from here idnum2itemdesctable.rar (extract this first) 4. paste it inside your extracted grf folder. it should appear that you have idnum2itemdesctable.txt and idnum2itemdesctable_backup.txt inside the folder. 5. a. If your client is hexed to read data folder first, you can copy > past the extracted grf data folder directly to your client files to test if it is working. b. If not, you have to make a new main grf and replace your old one. Make sure you make back ups too. ~ done Another step is to simply use GRF Builder. 1. Open your main grf 2. go to data folder, look for idnum2itemdesctable.txt and rename it to idnum2itemdesctable_backup.txt 3. add a new idnum2itemdesctable.txt from idnum2itemdesctable.rar (extract this first) 4. save your main grf.
  16. try this explode(.@opcoes$,getd(".@"+"enchantgroup"+(atoi(getarg(1))+1)+"$"),[(rand(1,getarraysize(getd(".@"+"enchantgroup"+(atoi(getarg(1))+1)+"$")))-1)]);
  17. Hi, You could try searching at trunk/doc/script_command.txt --------------------------------------- *getd("<variable name>") Returns a reference to a variable, the name can be constructed dynamically. Refer to 'setd' for usage. This can also be used to set an array dynamically: setarray getd(".array[0]"), 1, 2, 3, 4, 5; Examples: set getd("$varRefence"), 1; set @i, getd("$" + "pikachu"); ---------------------------------------
  18. Sweet! Thanks working now! @sader1992 maybe you can post this on script release or something, so ppl who wants this modification can see this. Better yet, apply this at current trunk rev
  19. My bad.. change that part to this: set .@warp_block,@warp_block;
  20. Check line 91. Set. @warp then Add ; at the end
  21. I understand that. But if that is the case, then it is nearly impossible to adjust the breaking chance alone. If I increase the success rate, ppl might not use the refiner ever again
  22. Just replace the values to KvM points or any points in your server. There are a lot of scripts similar to your request. Just use the search engine
  23. //===== rAthena Script ======================================= //= Warper //===== Description: ========================================= //= A complete - but very condensed - warper script. //===== Additional Comments: ================================= //= 1.0 Initial script By [Euphy]. //= 1.1 Added missing duplicates and fixed coordinates. //= Some coordinates written by [Tekno-Kanix] and [ToastOfDoom]. //= 1.2 Added new episodes and simplified functions. //= 1.3 Added Renewal checks and Instances menu. //= Aligned coordinates with @go. //= 1.4 Added new Guild Dungeons. //= 1.4a Slight edits. //= 1.4b Added Wolfchev's Laboratory warp. //= 1.5 Added Lasagna ,Para Market ,WOE TE ,Instances and settings [sader1992]. //= 1.5a Fix Bifrost Tower //============================================================ - script Warper -1,{ function Go; function Disp; function Pick; function Restrict; // -------------------------------------------------- // Main Menu: // -------------------------------------------------- menu "Last Warp ^777777["+lastwarp$+"]^000000",-, " ~ Towns",Towns, " ~ Fields",Fields, " ~ Dungeons",Dungeons, " ~ Guild Castles",Castles, " ~ Guild Dungeons",Guild_Dungeons, " ~ Instances",Instances, " ~ Special Areas",Special; if (lastwarp$ == "") message strcharinfo(0),"You haven't warped anywhere yet."; else set .@r,callfunc("no_warp_maps",lastwarp$); if(.@r == 1) warp lastwarp$,lastwarpx,lastwarpy; else message strcharinfo(0),"A special power is blocking my ability to warp you in this map."; end; // ------------------- Functions ------------------- // * Go("<map>",<x>,<y>); // ~ Warps directly to a map. // // * Disp("<Menu Option>",<first option>,<last option>); // * Pick("<map_prefix>"{,<index offset>}); // ~ Dynamic menu and map selection (auto-numbered). // ~ Fields and Dungeons must use Disp and Pick Functions. // // * Disp("<Option 1>:<Option 2>:<etc.>"); // * Pick("","<map1>","<map2>","<etc.>"); // ~ Manual menu and map selection (listed). // // * Restrict("<RE | Pre-RE>"{,<menu option numbers>}); // ~ Only allows map for Renewal or Pre-Renewal modes. // If menu option numbers are given, only those maps // will be restricted (i.e. not for "Go"). // // Other notes: // ~ Array @c[] holds all (x,y) coordinates. // ~ Use @c[2] EXCEPT when maps begin dynamically // at 0: use @c[0] and Pick() offset 1. // -------------------------------------------------- function Go { set lastwarp$, getarg(0); set lastwarpx, getarg(1,0); set lastwarpy, getarg(2,0); set .@r,callfunc("no_warp_maps",lastwarp$); if(.@r == 1) warp getarg(0),getarg(1,0),getarg(2,0); else message strcharinfo(0),"A special power is blocking my ability to warp you in this map."; end; } function Disp { if (getargcount() < 3) set @menu$, getarg(0); else { set @menu$,""; for (set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1) set @menu$, @menu$+getarg(0)+" "+.@i+":"; } return; } function Pick { set .@warp_block,@warp_block; set @warp_block,0; if((@f && .OnlyFirstFld) || (@d && .OnlyFirstDun)){ set .@select,1; if(.@warp_block){ while(.@warp_block & (1<<.@select)){ .@select += 1; } } }else{ set .@select, select(@menu$); } if (getarg(0) == "") { set .@i, .@select; set .@map$, getarg(.@i); } else { set .@i, .@select-getarg(1,0); set .@map$, getarg(0)+((.@i<10)?"0":"")+.@i; } if (.@warp_block & (1<<.@select)) { message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal."; end; } set .@x, @c[.@i*2]; set .@y, @c[.@i*2+1]; deletearray @c[0],getarraysize(@c); @f = false; @d = false; Go(.@map$,.@x,.@y); } function Restrict { if ((getarg(0) == "RE" && !checkre(0)) || (getarg(0) == "Pre-RE" && checkre(0))) { if (getarg(1,0)) { set @warp_block,0; for (set .@i,1; .@i<getargcount(); set .@i,.@i+1) set @warp_block, @warp_block | (1<<getarg(.@i)); } else { message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal."; end; } } return; } // -------------------------------------------------- Towns: // -------------------------------------------------- menu "Prontera",T1, "Alberta",T2, "Aldebaran",T3, "Amatsu",T4, "Ayothaya",T5, "Brasilis",T6, "Comodo",T7, "Dewata",T8, "Eclage",T9, "Einbech",T10, "Einbroch",T11, "El Dicastes",T12, "Geffen",T13, "Gonryun",T14, "Hugel",T15, "Izlude",T16, "Jawaii",T17, "Lasagna",T18, "Lighthalzen",T19, "Louyang",T20, "Lutie",T21, "Malangdo",T22, "Malaya",T23, "Manuk",T24, "Midgarts Expedition Camp",T25, "Mora",T26, "Morroc",T27, "Moscovia",T28, "Nameless Island",T29, "Niflheim",T30, "Payon",T31, "Rachel",T32, "Splendide",T33, "Thor Camp",T34, "Umbala",T35, "Veins",T36, "Yuno",T37; T1: Go("prontera",155,183); T2: Go("alberta",28,234); T3: Go("aldebaran",140,131); T4: Go("amatsu",198,84); T5: Go("ayothaya",208,166); T6: Restrict("RE"); Go("brasilis",196,217); T7: Go("comodo",209,143); T8: Restrict("RE"); Go("dewata",200,180); T9: Restrict("RE"); Go("ecl_in01",48,53); T10: Go("einbech",63,35); T11: Go("einbroch",64,200); T12: Restrict("RE"); Go("dicastes01",198,187); T13: Go("geffen",119,59); T14: Go("gonryun",160,120); T15: Go("hugel",96,145); T16: Go("izlude",128,(checkre(3)?146:114)); T17: Go("jawaii",251,132); T18: Restrict("RE"); Go("lasagna",193,182); T19: Go("lighthalzen",158,92); T20: Go("louyang",217,100); T21: Go("xmas",147,134); T22: Restrict("RE"); Go("malangdo",140,114); T23: Restrict("RE"); Go("malaya",231,200); T24: Go("manuk",282,138); T25: Go("mid_camp",210,288); T26: Restrict("RE"); Go("mora",55,146); T27: Go("morocc",156,93); T28: Go("moscovia",223,184); T29: Go("nameless_n",256,215); T30: Go("niflheim",202,174); T31: Go("payon",179,100); T32: Go("rachel",130,110); T33: Go("splendide",201,147); T34: Go("thor_camp",246,68); T35: Go("umbala",97,153); T36: Go("veins",216,123); T37: Go("yuno",157,51); // -------------------------------------------------- Fields: // -------------------------------------------------- @f = true; menu "Amatsu Fields",F1, "Ayothaya Fields",F2, "Bifrost Fields", F3, "Brasilis Fields",F4, "Comodo Fields",F5, "Dewata Fields",F6, "Eclage Fields",F7, "Einbroch Fields",F8, "El Dicastes Fields",F9, "Geffen Fields",F10, "Gonryun Fields",F11, "Hugel Fields",F12, "Lasagna Fields",F13, "Lighthalzen Fields",F14, "Louyang Field",F15, "Lutie Field",F16, "Malaya Fields",F17, "Manuk Fields",F18, "Mjolnir Fields",F19, "Moscovia Fields",F20, "Niflheim Fields",F21, "Payon Forests",F22, "Prontera Fields",F23, "Rachel Fields",F24, "Sograt Deserts",F25, "Splendide Fields",F26, "Umbala Fields",F27, "Veins Fields",F28, "Yuno Fields",F29; F1: setarray @c[2],190,197; Disp("Amatsu Field",1,1); Pick("ama_fild"); F2: setarray @c[2],173,134,212,150; Disp("Ayothaya Field",1,2); Pick("ayo_fild"); F3: Restrict("RE"); setarray @c[2],193,220,220,187; Disp("Bifrost Field",1,2); Pick("bif_fild"); F4: Restrict("RE"); setarray @c[2],74,32; Disp("Brasilis Field",1,1); Pick("bra_fild"); F5: Restrict("Pre-RE",5); setarray @c[2],180,178,231,160,191,172,228,194,224,203,190,223,234,177,194,175,172,172; Disp("Comodo Field",1,9); Pick("cmd_fild"); F6: Restrict("RE"); setarray @c[2],371,212; Disp("Dewata Field",1,1); Pick("dew_fild"); F7: Restrict("RE"); setarray @c[2],97,314; Disp("Eclage Field",1,1); Pick("ecl_fild"); F8: Restrict("Pre-RE",2,10); setarray @c[2],142,225,182,141,187,228,185,173,216,173,195,148,272,220,173,214,207,174,196,200; Disp("Einbroch Field",1,10); Pick("ein_fild"); F9: Restrict("RE"); setarray @c[2],143,132,143,217; Disp("El Dicastes Field",1,2); Pick("dic_fild"); F10: Restrict("Pre-RE",13,15); setarray @c[0],46,199,213,204,195,212,257,192,188,171,166,263,248,158,195,191,186,183,221,117,178,218,136,328,240,181,235,235,211,185; Disp("Geffen Field",0,14); Pick("gef_fild",1); F11: setarray @c[2],220,227; Disp("Gonryun Field",1,1); Pick("gon_fild"); F12: Restrict("Pre-RE",3,7); setarray @c[2],268,101,222,193,232,185,252,189,196,106,216,220,227,197; Disp("Hugel Field",1,7); Pick("hu_fild"); F13: Restrict("RE"); setarray @c[2],344,371,20,98; Disp("Lasagna Field",1,2); Pick("lasa_fild"); F14: setarray @c[2],240,179,185,235,240,226; Disp("Lighthalzen Field",1,3); Pick("lhz_fild"); F15: setarray @c[2],229,187; Disp("Louyang Field",1,1); Pick("lou_fild"); F16: setarray @c[2],115,145; Disp("Lutie Field",1,1); Pick("xmas_fild"); F17: Restrict("RE"); setarray @c[2],40,272,207,180; Disp("Malaya Field",1,2); Pick("ma_fild"); F18: setarray @c[2],35,236,35,262,84,365; Disp("Manuk Field",1,3); Pick("man_fild"); F19: setarray @c[2],204,120,175,193,208,213,179,180,181,240,195,270,235,202,188,215,205,144,245,223,180,206,196,208; Disp("Mjolnir Field",1,12); Pick("mjolnir_"); F20: setarray @c[2],82,104,131,147; Disp("Moscovia Field",1,2); Pick("mosk_fild"); F21: setarray @c[2],215,229,167,234; Disp("Niflheim Field",1,2); Pick("nif_fild"); F22: Restrict("Pre-RE",5,11); setarray @c[2],158,206,151,219,205,148,186,247,134,204,193,235,200,177,137,189,201,224,160,205,194,150; Disp("Payon Forest",1,11); Pick("pay_fild"); F23: setarray @c[0],208,227,190,206,240,206,190,143,307,252,239,213,185,188,193,194,187,218,210,183,195,149,198,164; Disp("Prontera Field",0,11); Pick("prt_fild",1); F24: Restrict("Pre-RE",2,7,9,10,11,13); setarray @c[2],192,162,235,166,202,206,202,208,225,202,202,214,263,196,217,201,87,121,277,181,221,185,175,200,174,197; Disp("Rachel Field",1,13); Pick("ra_fild"); F25: if(.Satan_Morroc){ setarray @c[2],219,205,177,206,194,182,224,170,198,216,156,187,185,263,206,228,208,238,209,223,85,97,207,202,31,195,38,195; Disp("Sograt Desert 1:Sograt Desert 2:Sograt Desert 3:Sograt Desert 7:Sograt Desert 11:Sograt Desert 12:Sograt Desert 13:Sograt Desert 16:Sograt Desert 17:Sograt Desert 18:Sograt Desert 19:Sograt Desert 20:Sograt Desert 21:Sograt Desert 22"); Pick("","moc_fild01","moc_fild02","moc_fild03","moc_fild07","moc_fild11","moc_fild12","moc_fild13","moc_fild16","moc_fild17","moc_fild18","moc_fild19","moc_fild20","moc_fild21","moc_fild22"); }else{ setarray @c[2],219,205,177,206,194,182,146,297,204,197,275,302,224,170,139,123,101,110,341,39,198,216,156,187,185,263,223,222,170,257,206,228,208,238,209,223,85,97; Disp("Sograt Desert",1,19); Pick("moc_fild"); } F26: setarray @c[2],175,186,236,184,188,204; Disp("Splendide Field",1,3); Pick("spl_fild"); F27: setarray @c[2],217,206,223,221,237,215,202,197; Disp("Umbala Field",1,4); Pick("um_fild"); F28: Restrict("Pre-RE",5); setarray @c[2],186,175,196,370,222,45,51,250,202,324,150,223,149,307; Disp("Veins Field",1,7); Pick("ve_fild"); F29: Restrict("Pre-RE",5,10); setarray @c[2],189,224,192,207,221,157,226,199,223,177,187,232,231,174,196,203,183,214,200,124,195,226,210,304; Disp("Yuno Field",1,12); Pick("yuno_fild"); // -------------------------------------------------- Dungeons: // -------------------------------------------------- @d = true; menu "Abyss Lakes",D1, "Amatsu Dungeon",D2, "Anthell",D3, "Ayothaya Dungeon",D4, "Beach Dungeon",D5, "Bifrost Tower",D42, "Bio Labs",D6, "Brasilis Dungeon",D7, "Byalan Dungeon",D8, "Clock Tower",D9, "Coal Mines",D10, "Culvert",D11, "Cursed Abbey",D12, "Dewata Dungeon",D13, "Einbroch Dungeon",D14, "Gefenia",D15, "Geffen Dungeon",D16, "Glast Heim",D17, "Gonryun Dungeon",D18, "Hidden Dungeon",D19, "Ice Dungeon",D20, "Juperos",D21, "Kiel Dungeon",D22, "Lasagna Dungeon",D23, "Louyang Dungeon",D24, "Magma Dungeon",D25, "Malangdo Dungeon",D26, "Moscovia Dungeon",D27, "Nidhogg's Dungeon",D28, "Odin Temple",D29, "Orc Dungeon",D30, "Payon Dungeon",D31, "Pyramids",D32, "Rachel Sanctuary",D33, "Scaraba Hole",D34, "Sphinx",D35, "Sunken Ship",D36, "Thanatos Tower",D37, "Thor Volcano",D38, "Toy Factory",D39, "Turtle Dungeon",D40, "Umbala Dungeon",D41; D1: setarray @c[2],261,272,275,270,116,27; Disp("Abyss Lakes",1,3); Pick("abyss_"); D2: setarray @c[2],228,11,34,41,119,14; Disp("Amatsu Dungeon",1,3); Pick("ama_dun"); D3: setarray @c[2],35,262,168,170; Disp("Anthell",1,2); Pick("anthell"); D4: setarray @c[2],275,19,24,26; Disp("Ancient Shrine Maze:Inside Ancient Shrine"); Pick("ayo_dun"); D5: setarray @c[2],266,67,255,244,23,260; Disp("Beach Dungeon",1,3); Pick("","beach_dun","beach_dun2","beach_dun3"); D6: Restrict("RE",4); setarray @c[2],150,288,150,18,140,134,244,52; Disp("Bio Lab",1,4); Pick("lhz_dun"); D7: Restrict("RE"); setarray @c[2],87,47,262,262; Disp("Brasilis Dungeon",1,2); Pick("bra_dun"); D8: Restrict("RE",6); setarray @c[0],168,168,253,252,236,204,32,63,26,27,141,187; Disp("Byalan Dungeon",1,6); Pick("iz_dun",1); D9: setarray @c[2],199,159,148,283,65,147,56,155,297,25,127,169,277,178,268,74; Disp("Clock Tower 1:Clock Tower 2:Clock Tower 3:Clock Tower 4:Basement 1:Basement 2:Basement 3:Basement 4"); Pick("","c_tower1","c_tower2","c_tower3","c_tower4","alde_dun01","alde_dun02","alde_dun03","alde_dun04"); D10: setarray @c[2],52,17,381,343,302,262; Disp("Coal Mines",1,3); Pick("mjo_dun"); D11: setarray @c[2],131,247,19,19,180,169,100,92; Disp("Culvert",1,4); Pick("","prt_sewb1","prt_sewb2","prt_sewb3","prt_sewb4"); D12: setarray @c[2],51,14,150,11,120,10; Disp("Cursed Abbey",1,3); Pick("abbey"); D13: Restrict("RE"); setarray @c[2],285,160,299,29; Disp("Dewata Dungeon",1,2); Pick("dew_dun"); D14: setarray @c[2],22,14,292,290; Disp("Einbroch Dungeon",1,2); Pick("ein_dun"); D15: setarray @c[2],40,103,203,34,266,168,130,272; Disp("Gefenia",1,4); Pick("gefenia",0); D16: setarray @c[0],104,99,115,236,106,132,203,200; Disp("Geffen Dungeon",1,4); Pick("gef_dun",1); D17: setarray @c[2],370,304,199,29,104,25,150,15,157,287,147,15,258,255,108,291,171,283,68,277,156,7,12,7,133,271,224,274,14,70,150,14; Disp("Entrance:Castle 1:Castle 2:Chivalry 1:Chivalry 2:Churchyard:Culvert 1:Culvert 2:Culvert 3:Culvert 4:St. Abbey:Staircase Dungeon:Underground Cave 1:Underground Cave 2:Underground Prison 1:Underground Prison 2"); Pick("","glast_01","gl_cas01","gl_cas02","gl_knt01","gl_knt02","gl_chyard","gl_sew01","gl_sew02","gl_sew03","gl_sew04","gl_church","gl_step","gl_dun01","gl_dun02","gl_prison","gl_prison1"); D18: setarray @c[2],153,53,28,113,68,16; Disp("Gonryun Dungeon",1,3); Pick("gon_dun"); D19: setarray @c[2],176,7,93,20,23,8; Disp("Hidden Dungeon",1,3); Pick("prt_maze"); D20: setarray @c[2],157,14,151,155,149,22,33,158; Disp("Ice Dungeon",1,4); Pick("ice_dun"); D21: setarray @c[2],140,51,53,247,37,63,150,285; Disp("Entrance:Juperos 1:Juperos 2:Core"); Pick("","jupe_cave","juperos_01","juperos_02","jupe_core"); D22: setarray @c[2],28,226,41,198; Disp("Kiel Dungeon",1,2); Pick("kh_dun"); D23: Restrict("RE"); setarray @c[2],24,143,22,171,190,18; Disp("Lasagna Dungeon",1,3); Pick("lasa_dun"); D24: setarray @c[2],218,196,282,20,165,38; Disp("The Royal Tomb:Inside the Royal Tomb:Suei Long Gon"); Pick("lou_dun"); D25: setarray @c[2],126,68,47,30; Disp("Magma Dungeon",1,2); Pick("mag_dun"); D26: Restrict("RE"); setarray @c[2],33,230; Disp("Malangdo Dungeon",1,1); Pick("mal_dun"); D27: setarray @c[2],189,48,165,30,32,135; Disp("Moscovia Dungeon",1,3); Pick("mosk_dun"); D28: setarray @c[2],61,239,60,271; Disp("Nidhogg's Dungeon",1,2); Pick("nyd_dun"); D29: setarray @c[2],298,167,224,149,266,280; Disp("Odin Temple",1,3); Pick("odin_tem"); D30: setarray @c[2],32,170,21,185; Disp("Orc Dungeon",1,2); Pick("orcsdun"); D31: setarray @c[0],21,183,19,33,19,63,155,159,201,204; Disp("Payon Dungeon",1,5); Pick("pay_dun",1); D32: Restrict("RE",7,8); setarray @c[2],192,9,10,192,100,92,181,11,94,96,192,8,94,96,192,8; Disp("Pyramids 1:Pyramids 2:Pyramids 3:Pyramids 4:Basement 1:Basement 2:Basement 1 - Nightmare Mode:Basement 2 - Nightmare Mode"); Pick("","moc_pryd01","moc_pryd02","moc_pryd03","moc_pryd04","moc_pryd05","moc_pryd06","moc_prydn1","moc_prydn2"); D33: setarray @c[2],140,11,32,21,8,149,204,218,150,9; Disp("Rachel Sanctuary",1,5); Pick("ra_san"); D34: Restrict("RE"); setarray @c[2],364,44,101,141; Disp("Scaraba Hole",1,2); Pick("dic_dun"); D35: setarray @c[2],288,9,149,81,210,54,10,222,100,99; Disp("Sphinx",1,5); Pick("","in_sphinx1","in_sphinx2","in_sphinx3","in_sphinx4","in_sphinx5"); D36: setarray @c[2],69,24,102,27; Disp("Sunken Ship",1,2); Pick("treasure"); D37: setarray @c[2],150,39,150,136,220,158,59,143,62,11,89,221,35,166,93,148,29,107,159,138,19,20,130,52; Disp("Thanatos Tower",1,12); Pick("tha_t"); D38: setarray @c[2],21,228,75,205,34,272; Disp("Thor Volcano",1,3); Pick("thor_v"); D39: setarray @c[2],205,15,129,133; Disp("Toy Factory",1,2); Pick("xmas_dun"); D40: setarray @c[2],154,49,148,261,132,189,100,192; Disp("Entrance:Turtle Dungeon 1:Turtle Dungeon 2:Turtle Dungeon 3"); Pick("tur_dun"); D41: Restrict("Pre-RE",1,2); setarray @c[2],42,31,48,30,204,78; Disp("Carpenter's Shop in the Tree:Passage to a Foreign World:Hvergermil's Fountain"); Pick("","um_dun01","um_dun02","yggdrasil01"); D42: Restrict("RE"); setarray @c[2],57,13,64,88,45,14,26,23; Disp("Bifrost Tower",1,4); Pick("ecl_tdun"); // -------------------------------------------------- Castles: // -------------------------------------------------- menu "[FE] Aldebaran Castles",C1, "[FE] Geffen Castles",C2, "[FE] Payon Castles",C3, "[FE] Prontera Castles",C4, "[SE] Arunafeltz Castles",C5, "[SE] Schwaltzvalt Castles",C6, "[TE] Aldebaran Castles",C7, "[TE] Prontera Castles",C8; C1: setarray @c[2],48,83,95,249,142,85,239,242,264,90; Disp("Neuschwanstein:Hohenschwangau:Nuenberg:Wuerzburg:Rothenburg"); Pick("","alde_gld","alde_gld","alde_gld","alde_gld","alde_gld"); C2: setarray @c[2],214,75,308,240,143,240,193,278,305,87; Disp("Repherion:Eeyolbriggar:Yesnelph:Bergel:Mersetzdeitz"); Pick("","gef_fild13","gef_fild13","gef_fild13","gef_fild13","gef_fild13"); C3: setarray @c[2],121,233,295,116,317,293,140,160,204,266; Disp("Bright Arbor:Scarlet Palace:Holy Shadow:Sacred Altar:Bamboo Grove Hill"); Pick("","pay_gld","pay_gld","pay_gld","pay_gld","pay_gld"); C4: setarray @c[2],134,65,240,128,153,137,111,240,208,240; Disp("Kriemhild:Swanhild:Fadhgridh:Skoegul:Gondul"); Pick("","prt_gld","prt_gld","prt_gld","prt_gld","prt_gld"); C5: setarray @c[2],158,272,83,47,68,155,299,345,292,107; Disp("Mardol:Cyr:Horn:Gefn:Banadis"); Pick("","aru_gld","aru_gld","aru_gld","aru_gld","aru_gld"); C6: setarray @c[2],293,100,288,252,97,196,137,90,71,315; Disp("Himinn:Andlangr:Viblainn:Hljod:Skidbladnir"); Pick("","sch_gld","sch_gld","sch_gld","sch_gld","sch_gld"); C7: Restrict("RE"); setarray @c[2],48,83,95,249,142,85,239,242,264,90; Disp("Kafragarten 1:Kafragarten 2:Kafragarten 3:Kafragarten 4:Kafragarten 5"); Pick("","te_alde_gld","te_alde_gld","te_alde_gld","te_alde_gld","te_alde_gld"); C8: Restrict("RE"); setarray @c[2],134,65,240,128,153,137,111,240,208,240; Disp("Gloria 1:Gloria 2:Gloria 3:Gloria 4:Gloria 5"); Pick("","te_prt_gld","te_prt_gld","te_prt_gld","te_prt_gld","te_prt_gld"); // -------------------------------------------------- Guild_Dungeons: // -------------------------------------------------- menu "Baldur",G1, "Luina",G2, "Valkyrie",G3, "Britoniah",G4, "Arunafeltz",G5, "Schwaltzvalt",G6, "Kafragarten",G7, "Gloria",G8; G1: Restrict("RE",2,3); setarray @c[2],119,93,119,93,120,130; Disp("Baldur F1:Baldur F2:Hall of Abyss"); Pick("","gld_dun01","gld_dun01_2","gld2_pay"); G2: Restrict("RE",2,3); setarray @c[2],39,161,39,161,147,155; Disp("Luina F1:Luina F2:Hall of Abyss"); Pick("","gld_dun02","gld_dun02_2","gld2_ald"); G3: Restrict("RE",2,3); setarray @c[2],50,44,50,44,140,132; Disp("Valkyrie F1:Valkyrie F2:Hall of Abyss"); Pick("","gld_dun03","gld_dun03_2","gld2_prt"); G4: Restrict("RE",2,3); setarray @c[2],116,45,116,45,152,118; Disp("Britoniah F1:Britoniah F2:Hall of Abyss"); Pick("","gld_dun04","gld_dun04_2","gld2_gef"); G5: Go("arug_dun01",199,195); G6: Go("schg_dun01",200,124); G7: Restrict("RE"); Go("teg_dun01",42,36); G8: Restrict("RE"); Go("teg_dun02",26,160); // -------------------------------------------------- Instances: // -------------------------------------------------- menu "Bakonawa Lake",I1, "Bangungot Hospital 2F",I2, "Buwaya Cave",I3, "Devil Tower",I4, "Eclage Interior",I5, "Endless Tower",I6, "Faceworms Nest",I7, "Geffen Magic Tournament",I8, "Ghost Palace",I9, "Hazy Forest",I10, "Horror Toy Factory",I11, "Malangdo Culvert",I12, "Nidhoggur's Nest",I13, "Octopus Cave",I14, "Old Glast Heim",I15, "Orc's Memory",I16, "Sarah and Fenrir",I17, "Sara Memory",I18, "Sealed Shrine",I19, "Wolfchev's Laboratory",I20; I1: Restrict("RE"); Go("ma_scene01",172,175); I2: Restrict("RE"); Go("ma_dun01",151,8); I3: Restrict("RE"); Go("ma_fild02",316,317); I4: Restrict("RE"); Go("dali02",137,115); I5: Restrict("RE"); Go("ecl_hub01",129,12); I6: Go("e_tower",72,112); I7: Restrict("RE"); Go("dali",85,64); I8: Restrict("RE"); Go("dali",94,141); I9: Restrict("RE"); Go("dali02",46,128); I10: Restrict("RE"); Go("bif_fild01",161,334); I11: Restrict("RE"); Go("xmas",234,298); I12: Restrict("RE"); Go("mal_in01",164,21); I13: Go("nyd_dun02",95,193); I14: Restrict("RE"); Go("mal_dun01",152,230); I15: Restrict("RE"); Go("glast_01",204,268); I16: Go("gef_fild10",240,198); I17: Restrict("RE"); Go("dali02",92,141); I18: Restrict("RE"); Go("dali",133,108); I19: Go("monk_test",306,143); I20: Restrict("RE"); Go("lhz_dun04",148,269); // -------------------------------------------------- Special: // -------------------------------------------------- menu "Auction Hall",S1, "Battlegrounds",S2, "Casino",S3, "Dimensional Rift",S4, "Eden Group Headquarters",S5, "Gonryun Arena",S6, "Izlude Arena",S7, "Monster Race Arena",S8, "Para Market",S9, "Turbo Track",S10; S1: Go("auction_01",22,68); S2: Go("bat_room",154,150); S3: Go("cmd_in02",179,129); S4: Restrict("RE"); Go("dali",113,82); S5: Restrict("RE"); Go("moc_para01",31,14); S6: Go("gon_test",48,10); S7: Go("arena_room",100,88); S8: Go("p_track01",62,41); S9: Restrict("RE"); Go("paramk",97,17); S10: Go("turbo_room",99,114); OnInit: .Satan_Morroc = true; // false will enable moc_fild 4,5,6,8,9,10,14,15 while disable moc_fild 20,21,22 Default is true. .OnlyFirstFld = false; // true will teleport to the first level of the Fields Default is false. .OnlyFirstDun = false; // true will teleport to the first level of the Dungeons Default is false. waitingroom "Warper NPC",0; } // -------------------------------------------------- // Duplicates: // -------------------------------------------------- alb2trea,57,70,6 duplicate(Warper) Warper#tre 811 alberta,28,240,4 duplicate(Warper) Warper#alb 811 aldebaran,145,118,4 duplicate(Warper) Warper#alde 811 amatsu,203,87,4 duplicate(Warper) Warper#ama 811 ayothaya,209,169,6 duplicate(Warper) Warper#ayo 811 comodo,194,158,4 duplicate(Warper) Warper#com 811 einbech,59,38,6 duplicate(Warper) Warper#einbe 811 einbroch,69,202,4 duplicate(Warper) Warper#einbr 811 gef_fild10,71,339,4 duplicate(Warper) Warper#orc 811 geffen,124,72,4 duplicate(Warper) Warper#gef 811 glast_01,372,308,4 duplicate(Warper) Warper#glh 811 gonryun,162,122,4 duplicate(Warper) Warper#gon 811 hugel,101,151,4 duplicate(Warper) Warper#hug 811 izlu2dun,110,92,4 duplicate(Warper) Warper#izd 811 izlude,134,150,4 duplicate(Warper) Warper#izl 811 //Pre-RE: (132,120) jawaii,253,138,4 duplicate(Warper) Warper#jaw 811 lighthalzen,162,102,4 duplicate(Warper) Warper#lhz 811 louyang,208,103,6 duplicate(Warper) Warper#lou 811 manuk,274,146,6 duplicate(Warper) Warper#man 811 mid_camp,216,288,4 duplicate(Warper) Warper#mid 811 mjolnir_02,85,364,4 duplicate(Warper) Warper#mjo 811 moc_ruins,64,164,4 duplicate(Warper) Warper#moc 811 morocc,159,97,4 duplicate(Warper) Warper#mor 811 moscovia,229,191,4 duplicate(Warper) Warper#mos 811 nameless_n,259,213,4 duplicate(Warper) Warper#nam 811 niflheim,205,179,4 duplicate(Warper) Warper#nif 811 pay_arche,42,134,4 duplicate(Warper) Warper#arc 811 payon,182,108,4 duplicate(Warper) Warper#pay 811 prontera,159,192,4 duplicate(Warper) Warper#prt 811 prt_fild05,279,223,6 duplicate(Warper) Warper#cul 811 rachel,135,116,4 duplicate(Warper) Warper#rac 811 splendide,205,153,4 duplicate(Warper) Warper#spl 811 thor_camp,249,76,4 duplicate(Warper) Warper#thor 811 umbala,106,150,3 duplicate(Warper) Warper#umb 811 veins,214,123,4 duplicate(Warper) Warper#ve 811 xmas,150,136,6 duplicate(Warper) Warper#xmas 811 yuno,162,47,4 duplicate(Warper) Warper#yuno 811 // -------------------------------------------------- // Duplicates (Renewal): // -------------------------------------------------- brasilis,201,222,4 duplicate(Warper) Warper#bra 811 dewata,204,186,6 duplicate(Warper) Warper#dew 811 dicastes01,194,194,6 duplicate(Warper) Warper#dic 811 ecl_in01,51,60,4 duplicate(Warper) Warper#ecl 811 lasagna,196,187,4 duplicate(Warper) Warper#las 811 malangdo,134,117,6 duplicate(Warper) Warper#mal 811 malaya,231,204,4 duplicate(Warper) Warper#ma 811 mora,57,152,4 duplicate(Warper) Warper#mora 811 // Custom function script no_warp_maps { .@map$ = getarg(0); setarray .@mpv_maps$,"prt_maze02","prt_maze01";//etc for(.@i=0;.@i<getarraysize(.@mvp_maps$);.@i++) if(.@map$ == .@mpv_maps$[.@i]) return 0; return 1; } Here, I'm trying to prevent players from warping at some maps cuz I modified and added some events with it. PS: Haven't modified the warper aside from the one you advised above. Everything else is pretty much the default
  24. Try this https://rathena.org/board/topic/113065-mvp-point-and-shop/?page=0#comment-334926
  25. Hi, @sader1992 I tried your code and modify it a little but I think its not working. I can still warp to map prt_maze01 and prt_maze02. Here is how I did it: if (lastwarp$ == "") message strcharinfo(0),"You haven't warped anywhere yet."; else set .@r,callfunc("no_warp_maps",lastwarp$); if(.@r == 1) warp lastwarp$,lastwarpx,lastwarpy; else message strcharinfo(0),"A special power is blocking my ability to warp you in this map."; end; Then function Go { set lastwarp$, getarg(0); set lastwarpx, getarg(1,0); set lastwarpy, getarg(2,0); set .@r,callfunc("no_warp_maps",lastwarp$); if(.@r == 1) warp getarg(0),getarg(1,0),getarg(2,0); else message strcharinfo(0),"A special power is blocking my ability to warp you in this map."; end; } Also function script no_warp_maps { .@map$ = getarg(0); setarray .@mpv_maps$,"prt_maze02","prt_maze01";//etc for(.@i=0;.@i<getarraysize(.@mvp_maps$);.@i++) if(.@map$ == .@mpv_maps$[.@i]) return 0; return 1; }
×
×
  • Create New...