DevMarikuLabsan

Members
  • Content Count

    79
  • Avg. Content Per Day

    0
  • Joined

  • Last visited

Community Reputation

1 Neutral

1 Follower

About DevMarikuLabsan

  • Rank
    Santa Poring
  • Birthday 07/14/2004

Profile Information

  • Gender
    Male

Contact Methods

Recent Profile Visitors

225 profile views
  1. Hi, @WhiteEagle Thankyou!!! I'll try this
  2. WHERE CAN I FIND THIS SCRIPT? THANK YOU!! VENDING SYSTEM??? IF YOU CLICK THE NPC YOU WILL BE ABLE TO VEND. :) WHERE CAN I FIND THIS? I LIKE IT!!
  3. I'm having this error. How to fix this? Thanks.
  4. how can i contact functor fast? hehehe thankyou i want to order gepard shield protected.. and i just want to ask this.. can gepard shield encrypt my own grf file?
  5. My tanscended jobs are set to 255/120 succesful like ( champion, sniper, creator, stalker, paladin, professor, etc) and but why the Job of Gunslinger is set to 255/70? and ninja is 255/70 and expanded i want to set it to 255/120. thank you!!
  6. Hi, @Radian how this works? Thanks? Is this commandable? like @swap to swap the equipment? can you explain hehe
  7. Is this still working on latest rev or rAthena version? Hehehehe Thanks!!!!
  8. Is this still working on Latest? Thank you!
  9. Here's my script. ( can i request, instead of having one of those stone to enchant, can you help me just to add a price to enchant like for example) Requirements to Enchant: 50 War Badge 50 Credits You don't need to have the stone, you just need to bring the requirements and i want it randomize enchant like (str,dex,vit,agi,luk,int random enchant) is this possible rAthena thank you!! //===== rAthena Script ======================================= //= Malangdo Costume Enchant //===== Changelogs: ========================================== //= 1.0 First version. [Slyx] //= 1.1 Enable overlapping enchant (need confirmation). [Slyx] //= 1.2 Optimized and add new costumes //============================================================ prontera,134,172,4 script Aver De Dosh 505,{ disable_items; mes "[Aver De Dosh]"; mes "Hello and welcome to Costume Enchant Shop."; mes "My name is Aver De Dosh and I am here to enchant your costume headgears."; next; mes "[Aver De Dosh]"; mes "Bring me the required enchant stones and the selected costume headgears so that I can complete the upgrade for you!"; next; switch (select ("Apply Ability", "End Conversation")) { case 1: mes "[Aver De Dosh]"; mes "What part of costume headgear do you want to strengthen?"; next; switch (select ("Costume Upper Headgear", "Costume Middle Headgear", "Costume Lower Headgear")) { case 1: [email protected]_id = getequipid(EQI_COSTUME_HEAD_TOP); switch ([email protected]_id) { case 8227: case 19602: case 19608: case 19654: case 19677: case 19712: case 19721: case 19840: case 19876: case 19884: case 19907: case 19915: case 20007: case 20008: case 20009: case 20011: case 20012: case 20018: case 20036: case 20038: case 20113: case 20160: case 20227: case 20266: case 20273: case 20278: case 20377: case 20398: case 20317: case 20449: case 20450: case 20451: case 20491: case 20495: case 20496: case 20498: case 20499: case 31027: case 31028: case 31040: case 31041: case 31042: case 31043: case 31044: case 31045: case 31046: case 31048: case 31062: case 31068: case 31092: case 31123: case 31160: case 31163: case 31165: case 31166: case 31182: case 31185: case 31188: case 31190: case 31119: case 31392: case 31394: case 31396: case 31397: case 31405: case 31448: case 31573: case 31560: case 31562: case 31564: case 31565: break; case -1: mes "[Aver De Dosh]"; mes "Are you wearing the item?"; close; default: mes "[Aver De Dosh]"; mes "This is not the right costume upper headgear."; close; } [email protected]_name$ = getequipname(EQI_COSTUME_HEAD_TOP); setarray [email protected][0], getequipcardid(EQI_COSTUME_HEAD_TOP,0), getequipcardid(EQI_COSTUME_HEAD_TOP,1), getequipcardid(EQI_COSTUME_HEAD_TOP,2), getequipcardid(EQI_COSTUME_HEAD_TOP,3); setarray [email protected][0], 4700, //str +1 4710, //int +1 4730, //agi +1 4720, //dex +1 4740, //vit +1 4750; //luk +1 //6716, //crit +1 //6790, //largesize +1% //6791, //medsize +1% //6792, //smallsize +1% //6943, //atk +1% //6944, //matk +1% //25000, //spdrain +1% //25068; //aspd +1 setarray [email protected][0], 4700, //str +1 4710, //int +1 4730, //agi +1 4720, //dex +1 4740, //vit +1 4750; //luk +1 //4926, //crit +1 //4936, //largesize +1% //4937, //medsize +1% //4938, //smallsize +1% //4882, //atk +1% //4883, //matk +1% //4993, //spdrain +1% //4807; //aspd +1 setarray [email protected]_list$[0], "STR Stone", "INT Stone", "AGI Stone", "DEX Stone", "VIT Stone", "LUK Stone"; //"CRIT Stone", //"Big Stone", //"Medium Stone", //"Small Stone", //"ATK Stone", //"MATK Stone", //"SP Absorption Stone", //"ASPD Stone"; mes "[Aver De Dosh]"; mes "Wow~ This ^0000FF"+getitemname ([email protected]_id)+"^000000 looks perfect on you!!!"; mes "What kind of stone do you want to use for the upgrade?"; next; for ([email protected] = 0; [email protected] < getarraysize([email protected]_list$); [email protected]) [email protected]$ += [email protected]_list$[[email protected]] + " " + "(" + countitem([email protected][[email protected]]) + " " + "Left" + ")" + ":"; [email protected] = select ([email protected]$) - 1; mes "^FF0000[WARNING]^000000"; mes "------------------------"; mes "^FF0000I am going to implement the special effect of "+getitemname ([email protected][[email protected]])+" on your costume upper headgear.^000000"; mes "------------------------"; mes "^FF0000This upgrade has a success rate of 50%.^000000"; mes "------------------------"; mes "^FF0000The costume will not be destroyed upon failure but the enchant stone will be consumed.^000000"; mes "------------------------"; mes "^FF0000Any previous ability on this costume will be removed upon success.^000000"; mes "------------------------"; mes "^FF0000Are you sure about enchanting this costume?^000000"; next; if (select( "Yes", "No" ) == 2) close; if (countitem([email protected][[email protected]]) < 1) { mes "[Aver De Dosh]"; mes "You do not have adequate quantity of ^0000FF"+getitemname ([email protected][[email protected]])+".^000000"; close; } //Need confirmation:Enchants can be overlapped? /* if ([email protected][0] > 0) { mes "[Aver De Dosh]"; mes "Your ^0000FF"+getitemname ([email protected]_id)+"^000000 is already enchanted."; close; } */ delitem [email protected][[email protected]],1; if (rand (1,100) < 50) { mes "[Aver De Dosh]"; mes "Oh No!!! I failed to enchant it!!"; mes "Better luck next time!!"; close; } else { delequip EQI_COSTUME_HEAD_TOP; getitem2 [email protected]_id,1,1,0,0,[email protected][[email protected]],[email protected][1],[email protected][2],[email protected][3]; mes "[Aver De Dosh]"; mes "Wow....Elegance!!"; mes "This is perfect...Wow.."; close; } case 2: [email protected]_id = getequipid(EQI_COSTUME_HEAD_MID); switch ([email protected]_id) { case 19603: case 20005: case 20010: case 20145: case 20146: case 20147: case 20149: case 20314: case 20318: case 20430: case 31047: case 31120: case 31122: case 31146: case 31167: case 31168: case 31183: case 31184: case 31186: case 31187: case 31391: case 31398: case 31399: case 20246: case 31449: case 31463: case 31561: case 31563: case 31574: break; case -1: mes "[Aver De Dosh]"; mes "Are you wearing the item?"; close; default: mes "[Aver De Dosh]"; mes "This is not the right costume middle headgear."; close; } [email protected]_name$ = getequipname(EQI_COSTUME_HEAD_MID); setarray [email protected][0], getequipcardid(EQI_COSTUME_HEAD_MID,0), getequipcardid(EQI_COSTUME_HEAD_MID,1), getequipcardid(EQI_COSTUME_HEAD_MID,2), getequipcardid(EQI_COSTUME_HEAD_MID,3); setarray [email protected][0], 6945, //str +1 6946, //int +1 6947, //agi +1 6948, //dex +1 6949, //vit +1 6950, //luk +1 6642, //atk +1% 6643, //matk +1% 6717, //hp +50 6742, //recoverhp +10 10s 6743, //maxhp +1% 6744; //maxsp +1% setarray [email protected][0], 4700, //str +1 4710, //int +1 4730, //agi +1 4720, //dex +1 4740, //vit +1 4750, //luk +1 4882, //atk +1% 4883, //matk +1% 4927, //hp +50 4931, //recoverhp +10 10s 4861, //maxhp +1% 4929; //maxsp +1% setarray [email protected]_list$[0], "STR Stone", "INT Stone", "AGI Stone", "DEX Stone", "VIT Stone", "LUK Stone", "ATK Stone", "MATK Stone", "HP+50 Stone", "Recovery Stone", "HP+1% Stone", "SP+1% Stone"; mes "[Aver De Dosh]"; mes "Wow~ This ^0000FF"+getitemname ([email protected]_id)+"^000000 looks perfect on you!!!"; mes "What kind of stone do you want to use for the upgrade?"; next; for ([email protected] = 0; [email protected] < getarraysize([email protected]_list$); [email protected]) [email protected]$ += [email protected]_list$[[email protected]] + " " + "(" + countitem([email protected][[email protected]]) + " " + "Left" + ")" + ":"; [email protected] = select ([email protected]$) - 1; mes "^FF0000[WARNING]^000000"; mes "------------------------"; mes "^FF0000I am going to implement the special effect of "+getitemname ([email protected][[email protected]])+" on your costume middle headgear.^000000"; mes "------------------------"; mes "^FF0000This upgrade has a success rate of 50%.^000000"; mes "------------------------"; mes "^FF0000The costume will not be destroyed upon failure but the enchant stone will be consumed.^000000"; mes "------------------------"; mes "^FF0000Any previous ability on this costume will be removed upon success.^000000"; mes "------------------------"; mes "^FF0000Are you sure about enchanting this costume?^000000"; next; if (select( "Yes", "No" ) == 2) close; if (countitem([email protected][[email protected]]) < 1) { mes "[Aver De Dosh]"; mes "You do not have adequate quantity of ^0000FF"+getitemname ([email protected][[email protected]])+".^000000"; close; } //Need confirmation:Enchants can be overlapped? /* if ([email protected][1] > 0) { mes "[Aver De Dosh]"; mes "Your ^0000FF"+getitemname ([email protected]_id)+"^000000 is already enchanted."; close; } */ delitem [email protected][[email protected]],1; if (rand (1,100) < 50) { mes "[Aver De Dosh]"; mes "Oh No!!! I failed to enchant it!!"; mes "Better luck next time!!"; close; } else { delequip EQI_COSTUME_HEAD_MID; getitem2 [email protected]_id,1,1,0,0,[email protected][0],[email protected][[email protected]],[email protected][2],[email protected][3]; mes "[Aver De Dosh]"; mes "Wow....Elegance!!"; mes "This is perfect...Wow.."; close; } case 3: [email protected]_id = getequipid(EQI_COSTUME_HEAD_LOW); switch ([email protected]_id) { /*case 5914:*/ case 19513: case 19514: case 19552: case 19553: case 19584: case 19604: case 19636: case 19764: case 19783: case 19785: case 19952: case 20034: case 20071: case 20132: case 20285: case 20315: case 20363: case 20370: case 20405: case 20407: case 20497: case 31029: case 31055: case 31087: case 31121: case 31162: case 31164: case 31181: case 31189: case 31393: case 31395: case 31399: case 31438: case 31453: case 31572: case 31575: case 31559: case 31566: break; case -1: mes "[Aver De Dosh]"; mes "Are you wearing the item?"; close; default: mes "[Aver De Dosh]"; mes "This is not the right costume lower headgear."; close; } [email protected]_name$ = getequipname(EQI_COSTUME_HEAD_LOW); setarray [email protected][0], getequipcardid(EQI_COSTUME_HEAD_LOW,0), getequipcardid(EQI_COSTUME_HEAD_LOW,1), getequipcardid(EQI_COSTUME_HEAD_LOW,2), getequipcardid(EQI_COSTUME_HEAD_LOW,3); setarray [email protected][0], 6644, //hit +1 6645, //flee +1 6718, //sp +10 6951; //hp +1% setarray [email protected][0], 4884, //hit +1 4859, //flee +1 4928, //sp +10 4861; //hp +1% setarray [email protected]_list$[0], "HIT Stone", "FLEE Stone", "SP+10 Stone", "HP+1% Stone"; mes "[Aver De Dosh]"; mes "Wow~ This ^0000FF"+getitemname ([email protected]_id)+"^000000 looks perfect on you!!!"; mes "What kind of stone do you want to use for the upgrade?"; next; for ([email protected] = 0; [email protected] < getarraysize([email protected]_list$); [email protected]) [email protected]$ += [email protected]_list$[[email protected]] + " " + "(" + countitem([email protected][[email protected]]) + " " + "Left" + ")" + ":"; [email protected] = select ([email protected]$) - 1; mes "^FF0000[WARNING]^000000"; mes "------------------------"; mes "^FF0000I am going to implement the special effect of "+getitemname ([email protected][[email protected]])+" on your costume lower headgear.^000000"; mes "------------------------"; mes "^FF0000This upgrade has a success rate of 50%.^000000"; mes "------------------------"; mes "^FF0000The costume will not be destroyed upon failure but the enchant stone will be consumed.^000000"; mes "------------------------"; mes "^FF0000Any previous ability on this costume will be removed upon success.^000000"; mes "------------------------"; mes "^FF0000Are you sure about enchanting this costume?^000000"; next; if (select( "Yes", "No" ) == 2) close; if (countitem([email protected][[email protected]]) < 1) { mes "[Aver De Dosh]"; mes "You do not have adequate quantity of ^0000FF"+getitemname ([email protected][[email protected]])+".^000000"; close; } //Need confirmation:Enchants can be overlapped? /* if ([email protected][2] > 0) { mes "[Aver De Dosh]"; mes "Your ^0000FF"+getitemname ([email protected]_id)+"^000000 is already enchanted."; close; } */ delitem [email protected][[email protected]],1; if (rand (1,100) < 50) { mes "[Aver De Dosh]"; mes "Oh No!!! I failed to enchant it!!"; mes "Better luck next time!!"; close; } else { delequip EQI_COSTUME_HEAD_LOW; getitem2 [email protected]_id,1,1,0,0,[email protected][0],[email protected][1],[email protected][[email protected]],[email protected][3]; mes "[Aver De Dosh]"; mes "Wow....Elegance!!"; mes "This is perfect...Wow.."; close; } } case 2: mes "[Aver De Dosh]"; mes "Alright, come again when you have changed your mind."; close; } } mal_in01,20,107,2 script Lace La Zard 614,{ disable_items; mes "[Lace La Zard]"; mes "Welcome to Fashion Stone!!"; mes "My name is Lace La Zard who will make your 'Power Shoulder' dream come true."; next; mes "[Lace La Zard]"; mes "Bring your Costume Garment and Garment Stone, I will complete the perfect upgrade for you!"; mes "I found this formula while working on my own humble body upgrading."; next; switch (select ("Apply Ability", "End Conversation")) { case 1: [email protected]_id = getequipid(EQI_COSTUME_GARMENT); switch ([email protected]_id) { case 20500: case 20502: case 20504: case 20507: case 20509: case 20510: case 20511: case 20512: case 20516: case 20600: case 20727: case 20730: case 20737: case 20746: case 20761: case 20762: case 20763: case 20764: break; case -1: mes "[Lace La Zard]"; mes "Are you wearing the item?"; close; default: mes "[Lace La Zard]"; mes "I am sorry. Please wear the proper costume garment."; close; } [email protected]_name$ = getequipname(EQI_COSTUME_GARMENT); [email protected] = getequiprefinerycnt(EQI_COSTUME_GARMENT); setarray [email protected][0], getequipcardid(EQI_COSTUME_GARMENT,0), getequipcardid(EQI_COSTUME_GARMENT,1), getequipcardid(EQI_COSTUME_GARMENT,2), getequipcardid(EQI_COSTUME_GARMENT,3); setarray [email protected][0], 6908, //aspd +1 6963, //hpdrain 1% 6964; //spdrain 1% setarray [email protected][0], 4807, //aspd +1 4992, //hpdrain 1% 4993; //spdrain 1% setarray [email protected]_list$[0], "ASPD Stone", "HP Absorption Stone", "SP Absorption Stone"; mes "[Lace La Zard]"; mes "Wow ^0000FF" + [email protected]_name$ + "!!!^000000. You got some sense there don't you?"; mes "Great!!! I'm fully ready for this upgrade."; next; for ([email protected] = 0; [email protected] < getarraysize([email protected]_list$); [email protected]) [email protected]$ += [email protected]_list$[[email protected]] + " " + "(" + countitem([email protected][[email protected]]) + " " + "Left" + ")" + ":"; [email protected] = select ([email protected]$) - 1; mes "^FF0000[WARNING]^000000"; mes "------------------------"; mes "^FF0000I am going to implement the special effect of "+getitemname ([email protected][[email protected]])+" on your costume garment.^000000"; mes "------------------------"; mes "^FF0000This upgrade has a success rate of 50%.^000000"; mes "------------------------"; mes "^FF0000The costume will not be destroyed upon failure but the enchant stone will be consumed.^000000"; mes "------------------------"; mes "^FF0000Any previous ability on this costume will be removed upon success.^000000"; mes "------------------------"; mes "^FF0000Are you sure about enchanting this costume?^000000"; next; if (select( "Yes", "No" ) == 2) close; if (countitem ([email protected][[email protected]]) < 1) { mes "[Lace La Zard]"; mes "You do not have adequate quantity of ^0000FF"+getitemname ([email protected][[email protected]])+".^000000"; close; } //Need confirmation:Enchants can be overlapped? /* if ([email protected][0] > 1) { mes "[Lace La Zard]"; mes "This costume garment already enchanted. I cannot upgrade it any further."; close; } */ delitem [email protected][[email protected]],1; if (rand (1,100) < 50) { mes "[Lace La Zard]"; mes "Oh No!!! I failed to enchant it!!"; mes "Better luck next time!!"; close; } else { delequip EQI_COSTUME_GARMENT; getitem2 [email protected]_id,1,1,[email protected],0,[email protected][[email protected]],[email protected][1],[email protected][2],[email protected][3]; mes "[Lace La Zard]"; mes "Beautiful!!!"; mes "Did I really made this by myself??!!"; close; } case 2: mes "[Lace La Zard]"; mes "Please come back when you are ready for this great offer!"; close; } }
  10. Here's my script. Still can't get pvp points. PVP LADDER YOUR PVP POINTS SYSTEM SCRIPT @sader1992
  11. i already did that. still having a error and can't get points.
  12. Hi @sader1992 this is the file. where's the error? //===== eAthena Script ======================================================= //= PVP ladder script with dota announcement ( SQL only ) //===== By: ================================================================== //= ~AnnieRuru~ //===== Current Version: ===================================================== //= 2.9 //===== Compatible With: ===================================================== //= eAthena SQL 14279, with MySQL 5.1 //===== Description: ========================================================= //= PVP ladder store in SQL table //= plus anti-sit-killer feature //===== Topic ================================================================ //= http://www.eathena.ws/board/index.php?showtopic=177918 //===== Additional Comments: ================================================= //= still don't have modify value option, will be done ... in next year ... //============================================================================ // add all the maps that you want this script to trigger ... all pvp and event maps perhaps ? // but if you already enable "all" maps, then can comment all these guild_vs1 mapflag loadevent guild_vs2 mapflag loadevent guild_vs3 mapflag loadevent guild_vs4 mapflag loadevent guild_vs5 mapflag loadevent - script DOTAPVP -1,{ OnInit: // Config set .sound, 0; // soundeffect : 0 - disable, 1 - play soundeffect to all players on map, 2 - play soundeffect to an area around the killer, 3 - play soundeffect to killer only set .announce, 0; // announce to : 0 - global, 1 - map set .announcemap, 1; // announce the map name in the announcement ? : 0 - off, 1 - on set .announcekill, 1; // announce who pawn who's head : 0 - off, 1 - on set .msg_die, 0; // show message who kill you when die : 0 - off, 1 - on set .msg_kill, 0; // show message you kill who when killed someone : 0 - off, 1 - on set .gmnokill, 0; // GMs are not suppose to kill players. A GM with <this number> level or higher will do nothing. IF set to 60, GM60 and above kill any player will not get anything : 0 - off set .killingspree, 3; set .dominating, 4; set .megakill, 5; set .unstoppable, 6; set .wickedsick, 7; set .monsterkill, 8; set .godlike, 9; set .holyshit, 10; set .continue, 1; // after beyond-godlike, every <this number> kills will make announcement again set .owned, 5; // how many times the party/guild has to kill to announce ownage set .owncontinue, 1; // after ownage, every <this number> party/guild cumulative kills will make ownage announce again set .min_gm_menu, 90; // minimum level of GM can use the GM menu on ladder npc set .showtotal, 20; // show the length of ladder. Note : Maximum value = 128 set .showpage, 10; // set the views per page. Note : Maximum value = 128 set .loweststreak, 3; // mininum streak count allow to show in highest streak ladder. Default 3 means must at least have killing spree streak to display in ladder set .lowestownage, 5; // mininum ownage count allow to show in longest ownage ladder. Default 5 means must at least have 5 ownage counts to display in ladder setarray .maptrigger$, // only these maps will trigger this script "all", // uncomment this to allow load all maps "guild_vs1", "guild_vs2", "guild_vs3", "guild_vs4", "guild_vs5"; // anti-sit-killer system // a player must kill another player with this minimum <this number> base level to get the announcement and in the ladder. // Otherwise only have streak ended announcement and killed player's streak reset. // Its possible for a level 1 novice to kill a level 99 player and he/she will still get in the ladder // but a level 99 kill a level 1 player will get nothing // 0 - off this system ( default is 55, pk setting ) set .lvltokill, 0; // when a player kill another same player <this number> times in a row, the player is warp back to save point. // and the player's streak, kills, and ownage count will deduct accordingly // 0 - off this system set .counttopunish, 6; // minimum level range to kill another player // eg. when set to 20, player level 99 needs to kill another player with minimum level of 79 to get announcement and increase the kill rank. // but a player with base level 50 kills a level 99 will also get the announcement // higher base level cannot kill lower level, but lower level can kill higher level // 0 - off this system set .minlvlrange, 0; // Config ends ------------------------------------------------------------------------------------------ // to prevent bug happen if ( .announce < 0 || .announce > 1 ) set .announce, 0; if ( .continue < 1 ) set .continue, 1; if ( .owncontinue < 1 ) set .owncontinue, 1; if ( .gmnokill <= 0 ) set .gmnokill, 100; if ( .lvltokill <= 1 ) set .lvltokill, 0; if ( .counttopunish <= 1 ) set .counttopunish, 0; set .maptriggersize, getarraysize(.maptrigger$); end; // script start. OnPCKillEvent: if ( getgmlevel() >= .gmnokill ) end; getmapxy [email protected]$, [email protected], [email protected], 0; if ( .maptrigger$ != "all" ) { for ( set [email protected], 0; [email protected] < .maptriggersize; set [email protected], [email protected] +1 ) { if ( [email protected]$ == .maptrigger$[[email protected]] ) break; } if ( [email protected] == .maptriggersize ) end; } attachrid killedrid; if ( killerrid != getcharid(3) && ( .msg_die || .msg_kill ) ) { if ( .msg_die ) message strcharinfo(0),"You have been killed by "+ rid2name(killerrid); if ( .msg_kill ) message rid2name(killerrid),"You just killed "+ strcharinfo(0); } if ( @PlayersKilledStreak >= .holyshit ) set [email protected]$,"Beyond Godlike"; else if ( @PlayersKilledStreak >= .godlike ) set [email protected]$,"Godlike"; else if ( @PlayersKilledStreak >= .monsterkill ) set [email protected]$,"Monster Kill"; else if ( @PlayersKilledStreak >= .wickedsick ) set [email protected]$,"Wicked Sick"; else if ( @PlayersKilledStreak >= .unstoppable ) set [email protected]$,"Unstoppable"; else if ( @PlayersKilledStreak >= .megakill ) set [email protected]$,"Mega-kill"; else if ( @PlayersKilledStreak >= .dominating ) set [email protected]$,"Dominating"; else if ( @PlayersKilledStreak >= .killingspree ) set [email protected]$,"Killing Spree"; if ( @PlayersKilledStreak >= .killingspree && killerrid == getcharid(3) ) announce strcharinfo(0) +" has ended "+( (sex)?"him":"her" )+" own "+ [email protected]$ +"["+ @PlayersKilledStreak +"] streak "+( (.announcemap)?("at "+ [email protected]$):""),16|.announce; else if ( @PlayersKilledStreak >= .killingspree ) announce rid2name(killerrid) +" has ended "+ strcharinfo(0) +"'s "+ [email protected]$ +"["+ @PlayersKilledStreak +"] streak "+( (.announcemap)?("at "+ [email protected]$):""),16|.announce; else if ( .announcekill && killerrid != getcharid(3) ) announce rid2name(killerrid) +" has pawned "+ strcharinfo(0) +"'s head "+( (.announcemap)?("at "+ [email protected]$):""),16|.announce; set @PlayersKilledStreak,0; set @dota_sql_deaths, @dota_sql_deaths +1; set @dota_multikills,0; query_sql "replace into pvpladder values ( "+ getcharid(0) +", '"+ escape_sql(strcharinfo(0)) +"', "+ @dota_sql_streaks +", "+ @dota_sql_kills +", "+ @dota_sql_deaths +", from_unixtime("+ @dota_sql_streaktime +") )"; set [email protected]_gid, getcharid(2); if ( [email protected]_gid ) { setd ".dota_sql_"+ [email protected]_gid +"_c", 0; if ( getd(".dota_sql_"+ [email protected]_gid +"_h") ) query_sql "replace into ownladder values ( "+ [email protected]_gid +", '"+ escape_sql(getguildname([email protected]_gid)) +"', "+ getd(".dota_sql_"+ [email protected]_gid +"_c") +", "+ getd(".dota_sql_"+ [email protected]_gid +"_h") +", from_unixtime("+ getd(".dota_sql_"+ [email protected]_gid +"_t") +") )"; } if ( killerrid == getcharid(3) || baselevel < .lvltokill ) end; if ( .minlvlrange ) set [email protected], baselevel; attachrid killerrid; if ( .minlvlrange && [email protected] + .minlvlrange < baselevel ) end; if ( .counttopunish ) { if ( @sitkillminute != gettime(2) ) { deletearray @sitkillid, 128; deletearray @sitkilltimes, 128; set @sitkillminute, gettime(2); } set [email protected], getarraysize(@sitkillid); for ( set [email protected],0; [email protected] < [email protected]; set [email protected], [email protected] +1 ) { if ( @sitkillid[[email protected]] != killedrid ) continue; else { set @sitkilltimes[[email protected]], @sitkilltimes[[email protected]] +1 ; if ( @sitkilltimes[[email protected]] >= .counttopunish ) { warp "SavePoint",0,0; announce strcharinfo(0) +" , Stop killing "+ rid2name(killedrid) + " !!!",0; debugmes strcharinfo(0) +" is sit-killing "+ rid2name(killedrid) +" for "+ @sitkilltimes[[email protected]] + " times"; logmes "is sit-killing "+ rid2name(killedrid) +" for "+ @sitkilltimes[[email protected]] +" times"; if ( @PlayersKilledStreak == @dota_sql_streaks ) { set @dota_sql_streaks, @dota_sql_streaks +1 - .counttopunish; set @dota_sql_streaktime, gettimetick(2); } set @PlayersKilledStreak, @PlayersKilledStreak +1 - .counttopunish; set @dota_sql_kills, @dota_sql_kills +1 - .counttopunish; query_sql "replace into pvpladder values ( "+ getcharid(0) +", '"+ escape_sql(strcharinfo(0)) +"', "+ @dota_sql_streaks +", "+ @dota_sql_kills +", "+ @dota_sql_deaths +", from_unixtime("+ @dota_sql_streaktime +") )"; set [email protected]_gid, getcharid(2); if ( [email protected]_gid ) { if ( getd(".dota_sql_"+ [email protected]_gid +"_c") == getd(".dota_sql_"+ [email protected]_gid +"_h") ) { setd ".dota_sql_"+ [email protected]_gid +"_h", getd(".dota_sql_"+ [email protected]_gid +"_h") +1 - .counttopunish; setd ".dota_sql_"+ [email protected]_gid +"_t", gettimetick(2); } setd (".dota_sql_"+ [email protected]_gid +"_c"), getd(".dota_sql_"+ [email protected]_gid +"_c") +1 - .counttopunish; query_sql "replace into ownladder values ( "+ [email protected]_gid +", '"+ escape_sql(getguildname([email protected]_gid)) +"', "+ getd(".dota_sql_"+ [email protected]_gid +"_c") +", "+ getd(".dota_sql_"+ [email protected]_gid +"_h") +", from_unixtime("+ getd(".dota_sql_"+ [email protected]_gid +"_t") +") )"; } end; } break; } } if ( [email protected] == [email protected] ) { set @sitkillid[[email protected]], killedrid; set @sitkilltimes[[email protected]], 1; } } set @PlayersKilledStreak, @PlayersKilledStreak +1 ; set @dota_sql_kills, @dota_sql_kills +1 ; if ( @PlayersKilledStreak > @dota_sql_streaks ) { set @dota_sql_streaks, @PlayersKilledStreak; set @dota_sql_streaktime, gettimetick(2); } query_sql "replace into pvpladder values ( "+ getcharid(0) +", '"+ escape_sql(strcharinfo(0)) +"', "+ @dota_sql_streaks +", "+ @dota_sql_kills +", "+ @dota_sql_deaths +", from_unixtime("+ @dota_sql_streaktime +") )"; if ( @PlayersKilledStreak == .killingspree ) setarray [email protected]$,"killingspree.wav","is on a KILLING SPREE","!"; else if ( @PlayersKilledStreak == .dominating ) setarray [email protected]$,"dominating.wav","is DOMINATING","!"; else if ( @PlayersKilledStreak == .megakill ) setarray [email protected]$,"megakill.wav","has a MEGA KILL","!"; else if ( @PlayersKilledStreak == .unstoppable ) setarray [email protected]$,"unstoppable.wav","is UNSTOPPABLE","!!"; else if ( @PlayersKilledStreak == .wickedsick ) setarray [email protected]$,"wickedsick.wav","is WICKED SICK","!!"; else if ( @PlayersKilledStreak == .monsterkill ) setarray [email protected]$,"monsterkill.wav","has a MONSTER KILL","!!"; else if ( @PlayersKilledStreak == .godlike ) setarray [email protected]$,"godlike.wav","is GODLIKE","!!!"; else if ( @PlayersKilledStreak >= .holyshit && ( (@PlayersKilledStreak - .holyshit) % .continue == 0 ) ) setarray [email protected]$,"holyshit.wav","is BEYOND GODLIKE",". Someone KILL "+( (sex)?"HIM":"HER" ) +"!!!!!!"; if ( [email protected]$[1] != "" ) { announce strcharinfo(0) +" "+ [email protected]$[1] +"["+ @PlayersKilledStreak +"] "+( (.announcemap)?("at "+ [email protected]$):"") + [email protected]$[2],16|.announce; if ( .sound == 1 ) soundeffectall [email protected]$[0],0,[email protected]$; else if ( .sound == 2 ) soundeffectall [email protected]$[0],0; else if ( .sound == 3 ) soundeffect [email protected]$[0],0; } set @dota_multikills, @dota_multikills + 1; deltimer "DOTAPVP::OnStreakReset"; addtimer 18000,"DOTAPVP::OnStreakReset"; set [email protected]_gid, getcharid(2); if ( [email protected]_gid && [email protected]_gid != [email protected]_gid ) { setd ".dota_sql_"+ [email protected]_gid +"_c", getd(".dota_sql_"+ [email protected]_gid +"_c") +1 ; if ( getd(".dota_sql_"+ [email protected]_gid +"_c") > getd(".dota_sql_"+ [email protected]_gid +"_h") ) { setd ".dota_sql_"+ [email protected]_gid +"_h", getd(".dota_sql_"+ [email protected]_gid +"_c"); setd ".dota_sql_"+ [email protected]_gid +"_t", gettimetick(2); } query_sql "replace into ownladder values ( "+ [email protected]_gid +", '"+ escape_sql(getguildname([email protected]_gid)) +"', "+ getd(".dota_sql_"+ [email protected]_gid +"_c") +", "+ getd(".dota_sql_"+ [email protected]_gid +"_h") +", from_unixtime("+ getd(".dota_sql_"+ [email protected]_gid +"_t") +") )"; } set [email protected]_multikills, @dota_multikills; set [email protected], getcharid(3); sleep 1500; if ( [email protected]_gid && [email protected]_gid != [email protected]_gid && getd(".dota_sql_"+ [email protected]_gid +"_c") >= .owned && ( ( getd(".dota_sql_"+ [email protected]_gid +"_c") - .owned ) % .owncontinue == 0 ) ) { if ( .announce ) mapannounce [email protected]$, "The guild ["+ getguildname([email protected]_gid) +"] is OWNING["+ getd(".dota_sql_"+ [email protected]_gid +"_c") +"] !!!",16; else announce "The guild ["+ getguildname([email protected]_gid) +"] is OWNING["+ getd(".dota_sql_"+ [email protected]_gid +"_c") +"] !!!",16; if ( .sound == 1 ) soundeffectall "ownage.wav",0,[email protected]$; else if ( .sound == 2 ) soundeffectall "ownage.wav",0; else if ( .sound == 3 && attachrid([email protected]) ) soundeffect "ownage.wav",0; } sleep 1250; if ( !attachrid([email protected]) ) end; if ( [email protected]_multikills == 2 ) { if ( .announce ) mapannounce [email protected]$, strcharinfo(0) +" just got a Double Kill !",16; else announce strcharinfo(0) +" just got a Double Kill !",16; if ( .sound == 1 ) soundeffectall "doublekill.wav",0,[email protected]$; else if ( .sound == 2 ) soundeffectall "doublekill.wav",0; else if ( .sound == 3 ) soundeffect "doublekill.wav",0; } else if ( [email protected]_multikills == 3 ) { if ( .announce ) mapannounce [email protected]$, strcharinfo(0) +" just got a Triple Kill !!!",16; else announce strcharinfo(0) +" just got a Triple Kill !!!",16; if ( .sound == 1 ) soundeffectall "triplekill.wav",0,[email protected]$; else if ( .sound == 2 ) soundeffectall "triplekill.wav",0; else if ( .sound == 3 ) soundeffect "triplekill.wav",0; } else if ( [email protected]_multikills == 4 ) { if ( .announce ) mapannounce [email protected]$, strcharinfo(0) +" just got a Ultra Kill !!!",16; else announce strcharinfo(0) +" just got a Ultra Kill !!!",16; if ( .sound == 1 ) soundeffectall "ultrakill.wav",0,[email protected]$; else if ( .sound == 2 ) soundeffectall "ultrakill.wav",0; else if ( .sound == 3 ) soundeffect "ultrakill.wav",0; } else if ( [email protected]_multikills >= 5 ) { if ( .announce ) mapannounce [email protected]$, strcharinfo(0) +" is on a Rampage !!!",16; else announce strcharinfo(0) +" is on a Rampage !!!",16; if ( .sound == 1 ) soundeffectall "rampage.wav",0,[email protected]$; else if ( .sound == 2 ) soundeffectall "rampage.wav",0; else if ( .sound == 3 ) soundeffect "rampage.wav",0; } end; OnStreakReset: set @dota_multikills, 0; end; OnWhisperGlobal: if ( @spam_dotapvp + 3 >= gettimetick(2) ) // 3 seconds interval so player don spam this command end; set @spam_dotapvp, gettimetick(2); if ( @dota_sql_kills == 0 && @dota_sql_deaths == 0 ) query_sql "select kills, deaths, streaks, unix_timestamp(streaktime) from pvpladder where char_id = "+ getcharid(0), @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaks, @dota_sql_streaktime; if ( @dota_sql_kills || @dota_sql_deaths ) { dispbottom "Your current Streak : "+ @PlayersKilledStreak; dispbottom "Your total Kills : "+ @dota_sql_kills; dispbottom "Your total Deaths : "+ @dota_sql_deaths; dispbottom "Your highest Streak : "+ @dota_sql_streaks; query_sql "select date_format( from_unixtime("+ @dota_sql_streaktime +"),'%a %e/%c/%y %r')", [email protected]$; dispbottom "Your highest Streak on : "+ [email protected]$; } else dispbottom "You are not in the pvp ladder yet."; if ( getcharid(2) ) { if ( getd(".dota_sql_"+ getcharid(2) +"_h") == 0 ) { query_sql "select currentown, highestown, unix_timestamp(owntime) from ownladder where guild_id = "+ getcharid(2), [email protected], [email protected], [email protected]; setd ".dota_sql_"+ getcharid(2) +"_c", [email protected]; setd ".dota_sql_"+ getcharid(2) +"_h", [email protected]; setd ".dota_sql_"+ getcharid(2) +"_t", [email protected]; } if ( getd(".dota_sql_"+ getcharid(2) +"_h") ) { dispbottom "Your guild current Own : "+ getd(".dota_sql_"+ getcharid(2) +"_c"); dispbottom "Your guild highest Own : "+ getd(".dota_sql_"+ getcharid(2) +"_h"); query_sql "select date_format( from_unixtime("+ getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_t"), "DOTAPVP" ) +"),'%a %e/%c/%y %r')", [email protected]$; dispbottom "Your guild highest Own on : "+ [email protected]$; } else dispbottom "Your guild is not in the ladder yet."; } end; OnPCLoginEvent: if ( .maptrigger$ != "all" ) end; OnPCLoadMapEvent: if ( @dota_sql_kills == 0 && @dota_sql_deaths == 0 ) { if ( .maptrigger$ != "all" ) { getmapxy [email protected]$, [email protected], [email protected], 0; for ( set [email protected], 0; [email protected] < .maptriggersize; set [email protected], [email protected] +1 ) { if ( [email protected]$ == .maptrigger$[[email protected]] ) break; } if ( [email protected] == .maptriggersize ) end; } query_sql "select kills, deaths, streaks, unix_timestamp(streaktime) from pvpladder where char_id = "+ getcharid(0), @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaks, @dota_sql_streaktime; } if ( getcharid(2) && getd(".dota_sql_"+ getcharid(2) +"_h") == 0 ) { query_sql "select currentown, highestown, unix_timestamp(owntime) from ownladder where guild_id = "+ getcharid(2), [email protected], [email protected], [email protected]; setd ".dota_sql_"+ getcharid(2) +"_c", [email protected]; setd ".dota_sql_"+ getcharid(2) +"_h", [email protected]; setd ".dota_sql_"+ getcharid(2) +"_t", [email protected]; } end; } prontera,167,190,4 script PvP Ladder 833,{ OnInit: waitingroom "PvP Ladder",0; set [email protected]$, strnpcinfo(0); while (1) { mes "["+ [email protected]$ +"]"; mes "Hello "+ strcharinfo(0) +"..."; mes "If you want to I can show you your PVP stats."; next; switch ( select ( "Most Kills","Highest Streak","Longest Ownage","Own Information","Explanation" ) ) { case 1: set [email protected], query_sql("select name, kills, deaths from pvpladder order by kills desc limit "+ getvariableofnpc(.showtotal,"DOTAPVP"), [email protected]$, [email protected], [email protected]); if ( [email protected] == 0 ) { mes "["+ [email protected]$ +"]"; mes "The ladder currently is empty."; next; } for ( set [email protected],0; [email protected] < [email protected]; set [email protected], [email protected] + getvariableofnpc(.showpage,"DOTAPVP") ) { mes "["+ [email protected]$ +"]"; for ( set [email protected], [email protected]; [email protected] < (getvariableofnpc(.showpage,"DOTAPVP") + [email protected]) && [email protected] < [email protected]; set [email protected], [email protected] + 1 ) { mes "^996600"+ ([email protected]+1) +": ^006699"+ [email protected]$[[email protected]] +" ^00AA00["+ [email protected][[email protected]] +"] ^FF0000<"+ [email protected][[email protected]] +">^000000"; } next; } break; case 2: set [email protected], query_sql("select name, streaks, date_format(streaktime,'%a %e/%c/%y %r') from pvpladder where streaks >= "+ getvariableofnpc(.loweststreak,"DOTAPVP") +" order by streaks desc limit "+ getvariableofnpc(.showtotal,"DOTAPVP"), [email protected]$, [email protected], [email protected]$); if ( [email protected] == 0 ) { mes "["+ [email protected]$ +"]"; mes "The ladder currently is empty."; next; } for ( set [email protected],0; [email protected] < [email protected]; set [email protected], [email protected] + getvariableofnpc(.showpage,"DOTAPVP") ) { mes "["+ [email protected]$ +"]"; for ( set [email protected], [email protected]; [email protected] < (getvariableofnpc(.showpage,"DOTAPVP") + [email protected]) && [email protected] < [email protected]; set [email protected], [email protected] + 1 ) { mes "^996600"+ ([email protected]+1) +": ^006699"+ [email protected]$[[email protected]] +" ^70AC11{"+ [email protected][[email protected]] +"} ^000000on :"; mes " ^EE8800"+ [email protected]$[[email protected]] +"^000000"; } next; } break; case 3: set [email protected], query_sql("select name, highestown, date_format(owntime,'%a %e/%c/%y %r') from ownladder where highestown >= "+ getvariableofnpc(.lowestownage,"DOTAPVP") +" order by highestown desc limit "+ getvariableofnpc(.showtotal,"DOTAPVP"), [email protected]$, [email protected], [email protected]$); if ( [email protected] == 0 ) { mes "["+ [email protected]$ +"]"; mes "The ladder currently is empty."; next; } for ( set [email protected],0; [email protected] < [email protected]; set [email protected], [email protected] + getvariableofnpc(.showpage,"DOTAPVP") ) { mes "["+ [email protected]$ +"]"; for ( set [email protected], [email protected]; [email protected] < (getvariableofnpc(.showpage,"DOTAPVP") + [email protected]) && [email protected] < [email protected]; set [email protected], [email protected] + 1 ) { mes "^996600"+ ([email protected]+1) +": ^006699"+ [email protected]$[[email protected]] +" ^00AAAA("+ [email protected][[email protected]] +") ^000000on :"; mes " ^EE8800"+ [email protected]$[[email protected]] +"^000000"; } next; } break; case 4: if ( @dota_sql_kills == 0 && @dota_sql_deaths == 0 ) query_sql "select kills, deaths, streaks, unix_timestamp(streaktime), date_format(streaktime,'%a %e/%c/%y %r') from pvpladder where char_id = "+ getcharid(0), @dota_sql_kills, @dota_sql_deaths, @dota_sql_streaks, @dota_sql_streaktime, [email protected]$; mes "["+ [email protected]$ +"]"; if ( @dota_sql_kills == 0 && @dota_sql_deaths == 0 ) mes "You not yet kill any player."; else { mes "Your Current Streak : ^70AC11{"+ @PlayersKilledStreak +"}^000000"; mes "Your Total Kills : ^00AA00["+ @dota_sql_kills +"]^000000"; mes "Your Death Counts : ^FF0000<"+ @dota_sql_deaths +">^000000"; if ( @dota_sql_kills || @dota_sql_streaks ) { mes "Highest Streak was ^70AC11{"+ @dota_sql_streaks +"}^000000 on :"; query_sql "select date_format( from_unixtime("+ @dota_sql_streaktime +"),'%a %e/%c/%y %r')", [email protected]$; mes " ^EE8800"+ [email protected]$ +"^000000"; } } next; if ( getcharid(2) ) { if ( getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_h"), "DOTAPVP" ) == 0 ) { query_sql "select currentown, highestown, unix_timestamp(owntime) from ownladder where guild_id = "+ getcharid(2), [email protected], [email protected], [email protected]; set getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_c"), "DOTAPVP" ), [email protected]; set getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_h"), "DOTAPVP" ), [email protected]; set getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_t"), "DOTAPVP" ), [email protected]; } mes "["+ [email protected]$ +"]"; if ( getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_h"), "DOTAPVP" ) == 0 ) { mes "Your guild not yet kill any player."; } else { mes "Your guild name : ^006699"+ strcharinfo(2) +"^000000"; mes "Current Owning : ^00AAAA("+ getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_c"), "DOTAPVP" ) +")^000000"; mes "Longest Ownage was ^00AAAA("+ getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_h"), "DOTAPVP" ) + ")^000000 on :"; query_sql "select date_format( from_unixtime("+ getvariableofnpc( getd(".dota_sql_"+ getcharid(2) +"_t"), "DOTAPVP" ) +"),'%a %e/%c/%y %r')", [email protected]$; mes " ^EE8800"+ [email protected]$ +"^000000"; } next; } break; case 5: mes "["+ [email protected]$ +"]"; mes "Explanation for Most Kills:"; mes " "; mes "^996600Rank. ^006699NAME ^00AA00[Total Kills] ^FF0000<Deaths>^000000"; mes " "; mes "--------------------------------"; mes " "; mes "The ^00AA00Kills^000000 added when a player kills another player."; mes " "; mes "^FF0000Deaths^000000 count increase when a player killed by another player, or suicide (eg: Grand Cross)."; mes " "; mes "A player killed by monsters, homunculus or pets will not add the kills or deaths count."; next; mes "["+ [email protected]$ +"]"; mes "Explanation for Highest Streak:"; mes " "; mes "^996600Rank. ^006699NAME ^70AC11{Highest Streak} ^000000on :"; mes " ^EE8800TIME^000000"; mes " "; mes "--------------------------------"; mes " "; mes "The ^70AC11Streak^000000 are added every time a player kills another player. It will reset upon log out, killed by another player, or suicide (eg: Sacrifice)."; mes " "; mes "Then it record in the server the ^EE8800TIME^000000 when that player got that highest streak."; mes " "; mes "A player killed by monsters, homunculus or pets will not reset the streak."; mes " "; mes "--------------------------------"; mes " "; mes "The numbers of straight kills to get these announcements are :"; mes "^70AC11"+ getvariableofnpc(.killingspree,"DOTAPVP") +"^000000 : Killing Spree"; mes "^70AC11"+ getvariableofnpc(.dominating,"DOTAPVP") +"^000000 : Dominating"; mes "^70AC11"+ getvariableofnpc(.megakill,"DOTAPVP") +"^000000 : Mega Kill"; mes "^70AC11"+ getvariableofnpc(.unstoppable,"DOTAPVP") +"^000000 : Unstoppable"; mes "^70AC11"+ getvariableofnpc(.wickedsick,"DOTAPVP") +"^000000 : Wicked Sick"; mes "^70AC11"+ getvariableofnpc(.monsterkill,"DOTAPVP") +"^000000 : Monster Kill"; mes "^70AC11"+ getvariableofnpc(.godlike,"DOTAPVP") +"^000000 : Godlike"; mes "^70AC11"+ getvariableofnpc(.holyshit,"DOTAPVP") +"^000000 : Beyond Godlike"; next; mes "["+ [email protected]$ +"]"; mes "Explanation for Longest Ownage:"; mes " "; mes "^996600Rank. ^006699NAME ^00AAAA(Longest Ownage) ^000000on :"; mes " ^EE8800TIME^000000"; mes " "; mes "--------------------------------"; mes " "; mes "The ^00AAAAOwnage^000000 added every time any guild members killed another player that doesn't belong to his/her guild. It will reset when any of the guild member was killed by ANY player, including his/her guild member."; mes " "; mes "Then it record in the server the ^EE8800TIME^000000 when the guild got that longest ownage."; mes " "; mes "If the server went under maintainance, the current ownage will survive after the server restart."; mes " "; mes "Any guild member killed by monster, homunculus or pets will not reset the ownage count."; next; if ( getvariableofnpc(.lvltokill,"DOTAPVP") ) { mes "["+ [email protected]$ +"]"; mes "You must kill another player with minimum base level of "+ getvariableofnpc(.lvltokill,"DOTAPVP") +", in order to get an announcement or get in the ladder."; mes " "; mes "It's possible for a base level 1 novice kills a base level 99 player and still can get in the ladder."; mes "However when a player level 99 kills a level 1 novice will get nothing."; next; } if ( getvariableofnpc(.counttopunish,"DOTAPVP") ) { mes "["+ [email protected]$ +"]"; mes "Some noob players try to kill the same person over and over again in hope of getting his/her name appear in the ladder."; mes "However if you trying to do the same thing on this ladder, your name will announce to the public, and your action will be recorded into the server to notify the GMs."; next; } if ( getvariableofnpc(.minlvlrange,"DOTAPVP") ) { mes "["+ [email protected]$ +"]"; mes "When you kill another player thats lower base level than you, the base level gap between you and that player must not more than "+ getvariableofnpc(.minlvlrange,"DOTAPVP") +"."; mes " "; if ( getvariableofnpc(.minlvlrange,"DOTAPVP") >= 200) mes "In other words, if your base level is 500, the player you killed must be at least level "+( 500 - getvariableofnpc(.minlvlrange,"DOTAPVP") )+" then only you will get the announcement and in the ladder."; else if ( getvariableofnpc(.minlvlrange,"DOTAPVP") >= 70) mes "In other words, if your base level is 255, the player you killed must be at least level "+( 255 - getvariableofnpc(.minlvlrange,"DOTAPVP") )+" then only you will get the announcement and in the ladder."; else mes "In other words, if your base level is 99, the player you killed must be at least level "+( 99 - getvariableofnpc(.minlvlrange,"DOTAPVP") )+" then only you will get the announcement and in the ladder."; mes "Higher base level kills lower level gets nothing, however lower level player kills higher level will get the announcement."; next; } break; } } }
  13. [email protected] I don't know what are you talking about to this. How? Can you explain step by step thanks
  14. I think. Hehehe. But i already have the file but i think the texture and models.
  15. I already King of Emperium as you can see the first picture map. I already have that map. But i put it on my GRF and i have error.