Jump to content

minx123

Members
  • Content Count

    42
  • Avg. Content Per Day

    0
  • Joined

  • Last visited

Community Reputation

0 Neutral

5 Followers

About minx123

  • Rank
    Drops

Profile Information

  • Gender
    Not Telling
  • Github
    minx123

Recent Profile Visitors

1,021 profile views
  1. maybe u can try this one. function script Time2Str { set [email protected]_Left, getarg(0) - gettimetick(2); set [email protected], [email protected]_Left / 86400; set [email protected]_Left, [email protected]_Left - ([email protected] * 86400); set [email protected], [email protected]_Left / 3600; set [email protected]_Left, [email protected]_Left - ([email protected] * 3600); set [email protected], [email protected]_Left / 60; set [email protected]_Left, [email protected]_Left - ([email protected] * 60); set [email protected]$, ""; if( [email protected] > 1 ) set [email protected]$, [email protected]$ + [email protected] + " days, "; else if( [email protected] > 0 ) set [email protected]$, [email protected]$ + [email protected] + " day, "; if( [email protected] > 1 ) set [email protected]$, [email protected]$ + [email protected] + " hours, "; else if( [email protected] > 0 ) set [email protected]$, [email protected]$ + [email protected] + " hour, "; if( [email protected] > 1 ) set [email protected]$, [email protected]$ + [email protected] + " minutes, "; else if( [email protected] > 0 ) set [email protected]$, [email protected]$ + [email protected] + " minute, "; if( [email protected]_Left > 1 || [email protected]_Left == 0 ) set [email protected]$, [email protected]$ + [email protected]_Left + " seconds"; else if( [email protected]_Left == 1 ) set [email protected]$, [email protected]$ + [email protected]_Left + " second"; return [email protected]$; } function script F_InsertComma { set [email protected]$, getarg(0); for (set [email protected],getstrlen([email protected]$)-3; [email protected]>0; set [email protected],[email protected]) set [email protected]$, insertchar([email protected]$,",",[email protected]); return [email protected]$; } function script F_GetPlural { set [email protected]$, getarg(0); if (countstr([email protected]$," ")) { // multiple words explode([email protected]$,[email protected]$," "); set [email protected], getarraysize([email protected]$); // if format is "... of|in|on ...", pluralize preceding word; else pluralize last word if (compare([email protected]$," of ") || compare([email protected]$," in ") || compare([email protected]$," on ")) { for (set [email protected],1; [email protected]<[email protected]; set [email protected],[email protected]+1) { if (getstrlen([email protected]$[[email protected]]) == 2 && compare("of|in|on",[email protected]$[[email protected]])) break; set [email protected], [email protected] + 1; } } else set [email protected], [email protected] - 1; set [email protected]$, [email protected]$[[email protected]]; set [email protected]$[[email protected]],"%s"; set [email protected]$, implode([email protected]$," "); } else set [email protected]$, "%s"; set [email protected], getstrlen([email protected]$); if ([email protected] < 3) // prevent errors return ((getarg(1,0)) ? strtoupper(sprintf([email protected]$,[email protected]$)) : sprintf([email protected]$,[email protected]$)); setarray [email protected]$[0], charat([email protected]$,[email protected] - 1), substr([email protected]$,[email protected] - 2,[email protected] - 1); if (!compare("abcdefghijklmnopqrstuvwxyz",[email protected]$[0])) { // last character is not a letter set [email protected]$, [email protected]$; } // common exceptions --> singular form == plural form else if (compare("fish|glasses|sunglasses|clothes|boots|shoes|greaves|sandals|wings|ears",[email protected]$)) { set [email protected]$, [email protected]$; } // ends in -s, -x, -z, -ch, -sh --> add -es else if ([email protected]$[0] == "s" || [email protected]$[0] == "x" || [email protected]$[0] == "z" || [email protected]$[1] == "ch" || [email protected]$[1] == "sh") { set [email protected]$, [email protected]$ + "es"; } // ends in -f, -fe --> remove -f, -fe --> add -ves else if (([email protected]$[0] == "f" || [email protected]$[1] == "fe") && [email protected]$[1] != "ff") { if (compare("belief|cliff|chief|dwarf|grief|gulf|proof|roof",[email protected]$)) set [email protected]$, [email protected]$ + "s"; // exceptions --> add -s else set [email protected]$, substr([email protected]$,0,[email protected] - 2 - ([email protected]$[1] == "fe")) + "ves"; } // ends in consonant + -y --> remove -y --> add -ies else if ([email protected]$[0] == "y" && !compare("aeiou",charat([email protected]$[1],0))) { set [email protected]$, delchar([email protected]$,[email protected] - 1) + "ies"; } // ends in -o --> exceptions --> add -es else if ([email protected]$[0] == "o" && compare("buffalo|domino|echo|grotto|halo|hero|mango|mosquito|potato|tomato|tornado|torpedo|veto|volcano",[email protected]$)) { set [email protected]$, [email protected]$ + "es"; } // default --> add -s else { set [email protected]$, [email protected]$ + "s"; } return ((getarg(1,0)) ? strtoupper(sprintf([email protected]$,[email protected]$)) : sprintf([email protected]$,[email protected]$)); } function script F_InsertPlural { return sprintf(getarg(3,"%d %s"), getarg(0), ((getarg(0) == 1) ? getarg(1) : callfunc("F_GetPlural",getarg(1),getarg(2,0)))); } //===== rAthena Script ======================================= //= Private MVP & Branch Room //===== By: ================================================== //= AnnieRuru //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Allows players to rent an MVP room for personal use, //= or for a party or guild. //===== Additional Comments: ================================= //= 1.0 First version, edited. [Euphy] //============================================================ prontera,148,174,5 script Private MVP Room 100,{ mes "[Private MVP Room]"; mes "Please select a private MVP room."; if ( getvariableofnpc( .rentcost, "MVP Summoner" ) ) mes "The cost to rent a room for "+ getvariableofnpc( .timeout, "MVP Summoner" ) +" minutes is "+ callfunc("F_InsertComma", getvariableofnpc( .rentcost, "MVP Summoner" ) ) +" zeny."; else mes "You can only use the room for only "+ getvariableofnpc( .timeout, "MVP Summoner" ) +" minutes."; mes " "; for ( [email protected] = 1; [email protected] <= 8; [email protected]++ ) if ( getvariableofnpc( .renttime[[email protected]], "MVP Summoner" ) ) mes "Room #"+ [email protected] +" = "+ .color$[ .type[[email protected]] ] + .whoinuse$[[email protected]] +"^000000"; next; [email protected] = select( "MVP Room 1 ["+ getmapusers("06guild_01") +"]", "MVP Room 2 ["+ getmapusers("06guild_02") +"]", "MVP Room 3 ["+ getmapusers("06guild_03") +"]", "MVP Room 4 ["+ getmapusers("06guild_04") +"]", "MVP Room 5 ["+ getmapusers("06guild_05") +"]", "MVP Room 6 ["+ getmapusers("06guild_06") +"]", "MVP Room 7 ["+ getmapusers("06guild_07") +"]", "MVP Room 8 ["+ getmapusers("06guild_08") +"]"); if ( getvariableofnpc( .renttime[[email protected]], "MVP Summoner" ) ) { if ( .inuseid[[email protected]] == getcharid( .type[[email protected]] ) ) { warp "06guild_0"+ [email protected], 0,0; close; } else { mes "[Private MVP Room]"; mes "This room is reserved for "; mes .color$[ .type[[email protected]] ] + .whoinuse$[[email protected]] +"^000000."; mes "Please select another."; close; } } mes "[Private MVP Room]"; mes "Reserve this room for..."; next; set [email protected], select( "For my party members", "For my guild members", "For personal account use" ); if ( !getcharid([email protected]) ) { mes "[Private MVP Room]"; mes "You do not own a "+( ( [email protected] == 1 )? "Party" : "Guild" )+"."; close; } else if ( Zeny < getvariableofnpc( .rentcost, "MVP Summoner" ) ) { mes "You don't have enough zeny to rent a room."; close; } else if ( getvariableofnpc( .renttime[[email protected]], "MVP Summoner" ) ) { mes "[Private MVP Room]"; mes "I'm sorry, somebody else has already registered this room faster than you."; close; } for ( [email protected] = 1; [email protected] <= 8; [email protected]++ ) { if ( ( getvariableofnpc( .renttime[[email protected]], "MVP Summoner" ) ) && [email protected] == .type[[email protected]] && getcharid([email protected]) == .inuseid[[email protected]] ) { mes "[Private MVP Room]"; mes "You already rented Room#"+ [email protected] +". Use that room instead."; close; } } set .type[[email protected]], [email protected]; set .inuseid[[email protected]], getcharid([email protected]); set .whoinuse$[[email protected]], strcharinfo( ( [email protected] == 3 )? 0 : [email protected] ); Zeny -= getvariableofnpc( .rentcost, "MVP Summoner" ); warp "06guild_0"+ [email protected], 0,0; killmonsterall "06guild_0"+ [email protected]; donpcevent "MVP Summoner#"+ [email protected] +"::OnEnterMap"; close; OnInit: .color$[1] = "^EE8800"; // party color .color$[2] = "^70CC11"; // guild color .color$[3] = "^0000FF"; // account color end; } - script MVP Summoner -1,{ mes "[MVP Summoner]"; mes "Time left: " + callfunc( "Time2Str", .renttime[ atoi( strnpcinfo(2) ) ] + .timeout * 60 ); mes "Hi, what can I do for you?"; next; switch ( select(.menu$) ) { case 1: mes "[MVP Summoner]"; if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { mes "I cannot offer heal service when there are monsters around."; close; } sc_end SC_STONE; sc_end SC_SLOWDOWN; sc_end SC_FREEZE; sc_end SC_SLEEP; sc_end SC_CURSE; sc_end SC_SILENCE; sc_end SC_CONFUSION; sc_end SC_BLIND; sc_end SC_BLEEDING; sc_end SC_DECREASEAGI; sc_end SC_POISON; sc_end SC_HALLUCINATION; sc_end SC_STRIPWEAPON; sc_end SC_STRIPARMOR; sc_end SC_STRIPHELM; sc_end SC_STRIPSHIELD; sc_end SC_CHANGEUNDEAD; sc_end SC_ORCISH; sc_end SC_BERSERK; sc_end SC_SKE; sc_end SC_SWOO; sc_end SC_SKA; percentheal 100,100; specialeffect2 EF_HEAL; mes "You are completely healed."; close; case 2: if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { mes "[MVP Summoner]"; mes "I cannot summon another MVP when there are monsters around."; close; } else if ( .mvpcost ) { mes "[MVP Summoner]"; mes "The cost to summon an MVP is "+ callfunc( "F_InsertComma", .mvpcost ) +" zeny."; next; set [email protected], select(.mvpid_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .mvpcost ) { mes "You don't have enough zeny to summon an MVP."; close; } } else { set [email protected], select(.mvpid_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .mvpcost ) end; Zeny -= .mvpcost; monster "this", 0, 0, "--ja--", .mvpid[[email protected]], 1, strnpcinfo(3)+"::OnMobDead"; end; case 3: if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { mes "[MVP Summoner]"; mes "I cannot summon another mini-boss when there are monsters around."; close; } else if ( .bosscost ) { mes "[MVP Summoner]"; mes "The cost to summon a mini-boss is "+ callfunc( "F_InsertComma", .bosscost ) +" zeny."; next; set [email protected], select(.bossid_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .bosscost ) { mes "You doesn't have enough zeny to summon a mini-boss."; close; } } else { set [email protected], select(.bossid_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .bosscost ) end; Zeny -= .bosscost; monster "this", 0, 0, "--ja--", .bossid[[email protected]], 1, strnpcinfo(3)+"::OnMobDead"; end; case 4: if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) > 0 ) { mes "[MVP Summoner]"; mes "I cannot offer this service when there are monsters around."; close; } close2; callshop "MVP room#branch", 1; end; case 5: mes "[MVP Summoner]"; mes "Are you sure you want to leave this room?"; next; if ( select( "Yes:No") == 1 ) warp .respawnmap$, .respawnx, .respawny; close; case 6: mes "[MVP Summoner]"; if ( getmapusers( strcharinfo(3) ) > 1 ) { mes "There are still some players in this room. Make sure you are the last member in this room to use this option."; close; } mes "Are you sure you want to give up this room?"; if ( .rentcost ) mes "You will need to pay again to enter this room."; next; if ( select( "Yes", "No" ) == 2 ) close; awake strnpcinfo(0); end; } close; OnMobDead: end; OnEnterMap: [email protected] = atoi( strnpcinfo(2) ); .renttime[[email protected]] = gettimetick(2); sleep .timeout * 60000; mapwarp strnpcinfo(4), .respawnmap$, .respawnx, .respawny; .renttime[[email protected]] = 0; killmonsterall strnpcinfo(4); end; OnInit: if ( !getstrlen( strnpcinfo(2) ) ) { // Config --------------------------------------------------------------------------------------- // Room rental time, in minutes. // When time runs out, all players inside the room will be kicked out. // Do NOT set this to zero! set .timeout, 60; set .rentcost, 100000; // Zeny cost for renting a room (0 = free) set .mvpcost, 100000; // Zeny cost to summon an MVP (0 = free) set .bosscost, 50000; // Zeny cost to summon a boss monster (0 = free) // Options setting inside MVP room set [email protected][1], 1; // Turn Heal option On/Off set [email protected][2], 1; // Turn MVP Summoning On/Off set [email protected][3], 1; // Turn Mini boss Summoning On/Off set [email protected][4], 0; // Sell items (branches) On/Off (see shop below, before the mapflags) // Respawn point when players leave the room set .respawnmap$, "prontera"; set .respawnx, 150; set .respawny, 174; setarray .mvpid[0], 1511,// Amon Ra 1647,// Assassin Cross Eremes 1785,// Atroce 1630,// Bacsojin 1039,// Baphomet 1874,// Beelzebub 1272,// Dark Lord 1719,// Datale 1046,// Doppelgangger 1389,// Dracula 1112,// Drake 1115,// Eddga 1418,// Evil Snake Lord 1871,// Fallen Bishop 1252,// Garm 1768,// Gloom Under Night 1086,// Golden Thief Bug 1885,// Gopinich 1649,// High Priest Magaleta 1651,// High Wizard Katrinn 1832,// Ifrit 1492,// Incantation Samurai 1734,// Kiel D-01 1251,// Knight of Windstorm 1779,// Ktullanux 1688,// Lady Tanee 1646,// Lord Knight Seyren 1373,// Lord of Death 1147,// Maya 1059,// Mistress 1150,// Moonlight Flower 1087,// Orc Hero 1190,// Orc Lord 1038,// Osiris 1157,// Pharaoh 1159,// Phreeoni 1623,// RSX 0806 1650,// Sniper Shecil 1583,// Tao Gunka 1708,// Thanatos 1312,// Turtle General 1751,// Valkyrie Randgris 1685,// Vesper 1648,// Whitesmith Harword 1917,// Wounded Morroc 1658;// Ygnizem setarray .bossid[0], 1096,// Angeling 1388,// Archangeling 1795,// Bloody Knight 1830,// Bow Guardian 1839,// Byorgue 1309,// Cat O' Nine Tail 1283,// Chimera 1302,// Dark Illusion 1198,// Dark Priest 1582,// Deviling 1091,// Dragon Fly 1093,// Eclipse 1205,// Executioner 1783,// Galion 1592,// Gangster 1120,// Ghostring 1259,// Gryphon 1720,// Hydro 1090,// Mastering 1289,// Maya Purple 1262,// Mutant Dragon 1203,// Mysteltainn 1870,// Necromancer 1295,// Owl Baron 1829,// Sword Guardian 1204,// Tirfing 1089,// Toad 1092,// Vagabond Wolf 1765;// Valkyrie // Config Ends ------------------------------------------------------------------------ if ( !.timeout ) set .timeout, 60; .menu$ = ( [email protected][1] ? "Heal" : "" ) +":" ; .menu$ = .menu$ + ( [email protected][2] ? "Summon MVP" : "" ) +":"; .menu$ = .menu$ + ( [email protected][3] ? "Summon Mini-boss" : "" ) +":"; .menu$ = .menu$ + ( [email protected][4] ? "Buy branches" : "" ) +":"; .menu$ = .menu$ + "Leave this room:Give up this room"; if ( [email protected][2] ) { [email protected] = getarraysize( .mvpid ); for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) .mvpid_menu$ = .mvpid_menu$ + getmonsterinfo( .mvpid[[email protected]], MOB_NAME ) +":"; } if ( [email protected][3] ) { [email protected] = getarraysize( .bossid ); for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) .bossid_menu$ = .bossid_menu$ + getmonsterinfo( .bossid[[email protected]], MOB_NAME ) +":"; } } else { mapannounce strnpcinfo(4), "An administrator has refreshed the server. Please re-register this room.", bc_map; mapwarp strnpcinfo(4), .respawnmap$, .respawnx, .respawny; } end; } - shop MVP room#branch -1,604:100000,12103:1000000 06guild_01,49,49,4 duplicate(MVP Summoner) MVP Summoner#1 116 06guild_02,49,49,4 duplicate(MVP Summoner) MVP Summoner#2 116 06guild_03,49,49,4 duplicate(MVP Summoner) MVP Summoner#3 116 06guild_04,49,49,4 duplicate(MVP Summoner) MVP Summoner#4 116 06guild_05,49,49,4 duplicate(MVP Summoner) MVP Summoner#5 116 06guild_06,49,49,4 duplicate(MVP Summoner) MVP Summoner#6 116 06guild_07,49,49,4 duplicate(MVP Summoner) MVP Summoner#7 116 06guild_08,49,49,4 duplicate(MVP Summoner) MVP Summoner#8 116 06guild_01 mapflag nowarpto 06guild_02 mapflag nowarpto 06guild_03 mapflag nowarpto 06guild_04 mapflag nowarpto 06guild_05 mapflag nowarpto 06guild_06 mapflag nowarpto 06guild_07 mapflag nowarpto 06guild_08 mapflag nowarpto 06guild_01 mapflag nomemo 06guild_02 mapflag nomemo 06guild_03 mapflag nomemo 06guild_04 mapflag nomemo 06guild_05 mapflag nomemo 06guild_06 mapflag nomemo 06guild_07 mapflag nomemo 06guild_08 mapflag nomemo 06guild_01 mapflag noteleport 06guild_02 mapflag noteleport 06guild_03 mapflag noteleport 06guild_04 mapflag noteleport 06guild_05 mapflag noteleport 06guild_06 mapflag noteleport 06guild_07 mapflag noteleport 06guild_08 mapflag noteleport 06guild_01 mapflag nosave SavePoint 06guild_02 mapflag nosave SavePoint 06guild_03 mapflag nosave SavePoint 06guild_04 mapflag nosave SavePoint 06guild_05 mapflag nosave SavePoint 06guild_06 mapflag nosave SavePoint 06guild_07 mapflag nosave SavePoint 06guild_08 mapflag nosave SavePoint 06guild_01 mapflag nopenalty 06guild_02 mapflag nopenalty 06guild_03 mapflag nopenalty 06guild_04 mapflag nopenalty 06guild_05 mapflag nopenalty 06guild_06 mapflag nopenalty 06guild_07 mapflag nopenalty 06guild_08 mapflag nopenalty 06guild_01 mapflag monster_noteleport 06guild_02 mapflag monster_noteleport 06guild_03 mapflag monster_noteleport 06guild_04 mapflag monster_noteleport 06guild_05 mapflag monster_noteleport 06guild_06 mapflag monster_noteleport 06guild_07 mapflag monster_noteleport 06guild_08 mapflag monster_noteleport
  2. hi. i need some help to change this script 1 - player can enter twice a day to gold room lock by ID not char. 2- player can farm with time limit 15min. //********************************************************************************************************************************************************************************* //***--Topic Link : ***\( ^ ~ ^ )/*** //*** //*** //********************************************************************************************************************************************************************************* //***-- Script by : ***\( ^ ~ ^ )/*** //***-- Emistry //*** //********************************************************************************************************************************************************************************* //***-- Contact Info : ***\( ^ ~ ^ )/*** //***-- My Email : [email protected] //*** //********************************************************************************************************************************************************************************* //***-- Messages : ***\( ^ ~ ^ )/*** //***-- Drop me a private message or email if you are looking for my helps ^^. //***-- Beside that, I am looking for a Server to work with ^^ . //***-- I will do my best to help you ^^. //***-- More Details ? PM Me ^^. //*** //********************************************************************************************************************************************************************************* //***Although these scripts might not suit or follow with what you have requested completely. But i still wish you can give it a try before reject the works. //*** //********************************************************************************************************************************************************************************* //-------------------------NPC [ Warper + Exchanger ] -------------------------------------------------------------------- prontera,150,164,3 script Gold Room Manager 100,{ mes "[ Gold Room Manager ]"; mes "How may I serve for you ?"; mes "I can warp you to a Gold Mine."; next; mes "[ Gold Room Manager ]"; mes "I need you to give me"; mes "100,000 Zeny to Enter."; next; switch(select("Enter to Gold Room:Cancel")) { case 1: if(Zeny < 10000) goto nomoney; set [email protected],rand(50); set [email protected],rand(50); mes "[Gold Room]"; mes "Before you enter, you need to answer the question "; mes "for security check."; mes "If A = "[email protected]+" B = "[email protected]; switch( rand(1) ){ set [email protected],[email protected] + [email protected]; mes "How many is A + B ?"; next; input [email protected]; next; if( [email protected][email protected] ) { atcommand "@kick " + strcharinfo(0); close; break; } else if ([email protected][email protected]) { set Zeny,Zeny-10000; warp "ordeal_3-2",0,0; close; } end; } case 2: mes "[ Gold Room Manager ]"; mes "Owh...."; mes "Nevermind..since it is your decision."; mes "It is all up to you."; mes "Come back to me if you changed your mind."; close; } nomoney: mes "[Gold Room Manager]"; mes "Sorry you need 100,000z to enter"; close; } //-------------------------MONSTER SPAWN-------------------------------------------------------------------- // Duplicados Warps v1.0 ordeal_3-2.gat,130,193,0 warp goldroomwrp#1 3,3,ordeal_3-2.gat,154,154 ordeal_3-2.gat,106,154,0 warp goldroomwrp#2 3,3,ordeal_3-2.gat,154,154 ordeal_3-2.gat,201,129,0 warp goldroomwrp#3 3,3,ordeal_3-2.gat,154,154 ordeal_3-2.gat,177,193,0 warp goldroomwrp#4 3,3,ordeal_3-2.gat,154,154 //ordeal_3-2,24,228,0 warp prontera 1,1,prontera,156,172; //ordeal_3-2,25,58,0 warp prontera 1,1,prontera,156,172; //ordeal_3-2,289,130,0 warp prontera 1,1,prontera,156,172; //ordeal_3-2,283,230,0 warp prontera 1,1,prontera,156,172; //ordeal_3-2,210,203,0 warp prontera 1,1,prontera,156,172; // Natural Monsters v1.0 ordeal_3-2,154,154,0,0 monster Gold Savage 1840,15,0,0,0 ordeal_3-2,0,0,0,0 monster Gold Savage 1840,50,0,0,0 ordeal_3-2,0,0,0,0 monster Gold Savage 1840,50,0,0,0 ordeal_3-2,0,0,0,0 monster Gold Savage 1840,50,0,0,0 // Map Flags v1.0 ordeal_3-2 mapflag nowarp ordeal_3-2 mapflag nobranch ordeal_3-2 mapflag nomemo ordeal_3-2 mapflag nowarpto ordeal_3-2 mapflag nopenalty ordeal_3-2 mapflag pvp_noparty ordeal_3-2 mapflag noskill ordeal_3-2 mapflag nosave ordeal_3-2 mapflag novending ordeal_3-2 mapflag noteleport
  3. I having some problem to clone Repository in my vps.
  4. have u check at paypal transaction under cp log? u can check over there if the crdt already get or not
  5. Update Hexed im not sure if can or not but u can read at guide in hashield website. location to update hashield in plist.txt 138 patch_2-4-2016-11-11-35-PM.gpf => adata.grf NumberUpdate namefile.gpf => yourname.grf if i not mistake, if u grf update or data.grf update is more than 3mb or something u need add manual at location Hashield/Patch /public_html/HashieldPublicPatches
  6. //===== Hercules Script =========================================== //= King of Emperium Hill //===== By: ======================================================= //= AnnieRuru //===== Current Version: ========================================== //= 1.1 //===== Compatible With: ========================================== //= hercules 2015-12-19 //===== Description: ============================================== //= defends the emperium in the middle of the map until times up //===== Topic ===================================================== //= http://hercules.ws/board/topic/4495-gvg-king-of-emperium-hill/ //===== Additional Comments: ====================================== //= Finally there is a topic for this ! //================================================================= - script KoE FAKE_NPC,{ OnInit: disablenpc "The King#KoE"; disablenpc "Exit#KoE"; bindatcmd "koe", strnpcinfo(0)+"::OnCommand", 99,100; end; OnCommand: if ( compare( [email protected]_parameters$, "on" ) ) goto L_Start; else if ( compare( [email protected]_parameters$, "off" ) ) goto L_End; else { dispbottom "type - '@koe on' to start the event"; dispbottom "type - '@koe off' to end the event"; } end; L_Start: OnClock2015: // everyday 8pm starts if ( .start ) end; gvgon "guild_vs1"; announce "The King of Emperium Hill has begun!", bc_all; .start = true; enablenpc "The King#KoE"; disablenpc "Exit#KoE"; $koegid = 0; donpcevent "::OnRevKoE"; maprespawnguildid "guild_vs1", $koegid, 3; killmonster "guild_vs1", "KoE::OnEmpDead"; monster "guild_vs1",49,49, "EMPERIUM", EMPELIUM, 1, "KoE::OnEmpDead"; end; L_End: OnClock2045: // everyday 8:30pm ends gvgoff "guild_vs1"; announce "The King of Emperium Hill is over!", bc_all; .start = 0; enablenpc "Exit#KoE"; disablenpc "The King#KoE"; killmonster "guild_vs1", "KoE::OnEmpDead"; // maprespawnguildid "guild_vs1", $koegid, 2; // uncomment this line to kick non-owner off the map when event ends end; OnEmpDead: $koegid = getcharid(2); announce "The current King of Emperium Hill is the ["+ strcharinfo(2) +"] guild.", bc_all; donpcevent "::OnRevKoE"; maprespawnguildid "guild_vs1", $koegid, 2; killmonster "guild_vs1", "KoE::OnEmpDead"; sleep 500; if ( .start ) monster "guild_vs1",49,49, "EMPERIUM", EMPELIUM, 1, "KoE::OnEmpDead"; end; } // KoE Entrance doubrius,86,112,4 script The King#KoE 4_M_CHNGENERL,{ mes "[The King]"; if ( !getcharid(2) ) { mes "You must have a guild to participate in the ^FF0000King of Emperium Hill Tournament^000000."; close; } mes "Hello."; mes "Would you like to participate in the ^FF0000King of Emperium Hill Tournament^000000?"; if ( select ( "Yes", "No" ) == 2 ) close; if ( !getvariableofnpc( .start, "KoE" ) ) close; switch( rand(1,4) ){ case 1: warp "guild_vs1", 50, 88; end; case 2: warp "guild_vs1", 88, 50; end; case 3: warp "guild_vs1", 50, 11; end; case 4: warp "guild_vs1", 11, 50; end; } } // KoE Exit guild_vs1,49,56,5 script Exit#KoE 1_M_BARD,{ mes "[Exit]"; mes "See ya."; if ( getcharid(2) == $koegid ) getitem 20032,2; getitem 14232,3; getitem 20033,1; getitem 20034,3; getitem 7227,10; // configure prize here close2; warp "Save",0,0; end; } // Flags doubrius,77,108,5 script King of Emperium Hill#1::koe_flag GUILD_FLAG,{ if ( !$koegid ) end; mes "[King of Emperium Hill]"; mes "The Current King of Emperium Hill is the ["+ getguildname($koegid) +"] guild."; close; //OnInit: // Uncomment this line to make the emblem stay after @reloadscript OnRevKoE: flagemblem $koegid; end; } guild_vs1,61,49,6 duplicate(koe_flag) King of Emperium Hill#2 GUILD_FLAG guild_vs1,38,49,2 duplicate(koe_flag) King of Emperium Hill#3 GUILD_FLAG guild_vs1,49,61,0 duplicate(koe_flag) King of Emperium Hill#4 GUILD_FLAG guild_vs1 mapflag nobranch guild_vs1 mapflag nomemo guild_vs1 mapflag nopenalty guild_vs1 mapflag noreturn guild_vs1 mapflag nosave SavePoint guild_vs1 mapflag noteleport guild_vs1 mapflag gvg_noparty guild_vs1 mapflag nowarp guild_vs1 mapflag nowarpto guild_vs1 mapflag guildlock here my script koe
  7. hello.. i need some help to change script from woe auto reward to koe auto reward. script from this link https://rathena.org/board/topic/97753-annierurus-koe-script/?p=267586 script autoreward here - script Sample -1,{ OnAgitEnd: query_sql "SELECT `account_id`, `char_id` FROM `guild_member` WHERE `guild_id` = '" + getcastledata( "prtg_cas01", 1 ) + "'",[email protected],[email protected]; for ( [email protected] = 0; [email protected] < getarraysize( [email protected] ); [email protected]++ ) { if ( isloggedin( [email protected][ [email protected] ], [email protected][ [email protected] ] ) ) { if ( attachrid( [email protected][ [email protected] ] ) ) { if ( !checkvending() ) { for ( [email protected] = 0; [email protected] < getarraysize( .Items ); [email protected]+=2 ) getitem .Items[ [email protected] ], .Items[ [email protected] + 1 ]; } } } if ( .include_offline ) { for ( [email protected] = 0; [email protected] < getarraysize( .Items ); [email protected]+=2 ) { if ( query_sql( "SELECT `nameid` FROM `inventory` WHERE `char_id` = '" + [email protected][ [email protected] ] + "' AND `nameid` = '" +.Items[ [email protected] ]+ "'" ) ) query_sql "UPDATE `inventory` SET `amount` = `amount` + " + .Items[ [email protected] + 1 ] + " WHERE `char_id` = '" + [email protected][ [email protected] ] + "' AND `nameid` = '" +.Items[ [email protected] ]+ "'"; else query_sql "INSERT INTO `inventory` ( `char_id`, `nameid`, `amount`, `identify` ) VALUES ( '" [email protected][ [email protected] ]+ "' , '" +.Items[ [email protected] ]+ "', '" +.Items[ [email protected] + 1 ]+ "', '1')"; } } } end; OnInit: .include_offline = 0; // Include offline guild members? ( 1 = Enabled | 0 = Disabled ) setarray .Items[0],7779,1; // Item Id, Item Amount end; } Up
  8. //===== rAthena Script ======================================= //= Monster Invasion //===== By =================================================== //= llchrisll //===== Version ============================================== //= 1.0 - Initial Release //===== Compatible With ====================================== //= Every Athena SQL SVN //===== Tested With ========================================== //= rAthena 17267 SQL Trunk //===== Description ========================================== //= There are 2 Invasion Types: // - Single // - Multiply //= Each can be seperatly customized, but can not be switched via ingame. //= Changing settings means to restart/reload the server for them to become active //= Also there is an "Invasion Rewarder" available after the Invasion, // which can be turned on or off // To change the reward itself, scroll down to the bottom of the file // where the NPC is located. There are extra settings. //= See "OnInit:" for the main settings //===== Comments ============================================= //= None yet... //===== ToDo List ============================================ //= Adding an Custom Shop for the Invasion Points in the Invasion Rewarder //=========================================================== - script MobInvaInit -1,{ function DELAY; OnTimer1000: // Every Second stopnpctimer; set .s,.s + 1; if(.debug) // Showing Debug every minute only. if(.s%60 == 0) debugmes .n$+": Delay Timer: "+.s+" seconds (Minutes: "+(.s/60)+"), Delay Function returns: "+DELAY(.delay_type,.delay_pos,1)+", Invasion Re-/Starts: "+.time[.delay_pos]+" (in seconds), Force End: "+.inva_fend+" (in seconds)"; if(.delay == 1 && .s == DELAY(.delay_type,.delay_pos,1) ) donpcevent strnpcinfo(0)+"::OnInvaInit"; else if( .s == .inva_fend && .inva_status) donpcevent strnpcinfo(0)+"::OnInvaForceEnd"; initnpctimer; end; OnClock1300: // 1 p.m. if(.delay == 1) // Delay Usage active end; OnInvaInit: if(.inva_status) end; if(getvariableofnpc(.rew_type,"Invasion Rewarder") > 0) disablenpc "Invasion Rewarder"; switch(.inva_type) { // Single Town Invasion case 1: if(!.s_inva_spec) { // No Map Specification > Random if(rand(1,10) <= 5) { // 50% chance to use either a big city or a small one set .t,rand(getarraysize(.map_b$)); set .map_use,1; // Use big Maps } else { set .t,rand(getarraysize(.map_s$)); set .map_use,2; // Use small Maps } } else { set .map_use,.s_inva_spec; set .t,.s_inva_pos; } if(.map_use == 1) { for ( set [email protected],0; [email protected] < getarraysize(getd(".mob_"+.map_post_b$[.t])); set [email protected],[email protected] + 1) { monster .map_b$[.t],0,0,""+getmonsterinfo(getd(".mob_"+.map_post_b$[.t]+"["[email protected]+"]"),0),getd(".mob_"+.map_post_b$[.t]+"["[email protected]+"]"),getd(".mam_"+.map_post_b$),strnpcinfo(0)+"::OnMobSingleKilled"; set .MobSKilled,.MobSKilled + getd(".mam_"+.map_post_b$); } announce .n$+": The town "+.map_b$[.t]+" is being invaded by "+.MobSKilled+" monsters, please help use to defend it.",0; } else if(.map_use == 2) { for ( set [email protected],0; [email protected] < getarraysize(getd(".mob_"+.map_post_s$[.t])); set [email protected],[email protected] + 1) { monster .map_s$[.t],0,0,""+getmonsterinfo(getd(".mob_"+.map_post_s$[.t]+"["[email protected]+"]"),0),getd(".mob_"+.map_post_s$[.t]+"["[email protected]+"]"),getd(".mam_"+.map_post_s$),strnpcinfo(0)+"::OnMobSingleKilled"; set .MobSKilled,.MobSKilled + getd(".mam_"+.map_post_s$); } announce .n$+": The town "+.map_s$[.t]+" is being invaded by "+.MobSKilled+" monsters, please help use to defend it.",0; } break; // Multiply Town Invasion case 2: if( .inva_spawn == 1) { for ( set [email protected],0; [email protected] < getarraysize(.map_b$); set [email protected],[email protected] + 1) { for ( set [email protected],0; [email protected] < getarraysize(getd(".mob_"+.map_post_b$[[email protected]])); set [email protected],[email protected] + 1) { monster .map_b$[[email protected]],0,0,""+getmonsterinfo(getd(".mob_"+.map_post_b$[[email protected]]+"["[email protected]+"]"),0),getd(".mob_"+.map_post_b$[[email protected]]+"["[email protected]+"]"),getd(".mam_"+.map_post_b$[[email protected]]),strnpcinfo(0)+"::OnMobMultiKilled"; setd(".Mob_"+.map_post_b$[[email protected]]+"_Killed"),getd(".Mob_"+.map_post_b$[[email protected]]+"_Killed") + getd(".mam_"+.map_post_b$[[email protected]]); } announce .n$+": The town "+.map_b$[[email protected]]+" is being invaded by "+getd(".Mob_"+.map_post_b$[[email protected]]+"_Killed")+" monsters, please help use to defend it.",0; } sleep 500; for ( set [email protected],0; [email protected] < getarraysize(.map_s$); set [email protected],[email protected] + 1) { for ( set [email protected],0; [email protected] < getarraysize(getd(".mob_"+.map_post_s$[[email protected]])); set [email protected],[email protected] + 1) { monster .map_s$[[email protected]],0,0,""+getmonsterinfo(getd(".mob_"+.map_post_s$[[email protected]]+"["[email protected]+"]"),0),getd(".mob_"+.map_post_s$[[email protected]]+"["[email protected]+"]"),getd(".mam_"+.map_post_s$[[email protected]]),strnpcinfo(0)+"::OnMobMultiKilled"; setd(".Mob_"+.map_post_s$[[email protected]]+"_Killed"),getd(".Mob_"+.map_post_s$[[email protected]]+"_Killed") + getd(".mam_"+.map_post_s$[[email protected]]); } announce .n$+": The town "+.map_s$[[email protected]]+" is being invaded by "+getd(".Mob_"+.map_post_s$[[email protected]]+"_Killed")+" monsters, please help use to defend it.",0; } // * Spawn Option - Specific Maps } else if( .inva_spawn == 2) { set [email protected]_am,.inva_maps; // Copying Map Quantity if(.debug) debugmes .n$+": Map Quantity - .inva_maps: "+.inva_maps+" > [email protected]_am"; // * Map Size - Big Maps if( .inva_size == 1) { // - Checking if .map_am exceeds the size of the map array, or is 0 if( [email protected]_am > getarraysize(.map_b$) || [email protected]_am == 0) set [email protected]_am,getarraysize(.map_b$); if(.debug) debugmes .n$+": Map Quantity - Check: [email protected]_am: "[email protected]_am; // * Map Randomness - Yes if( .inva_rand == 1) { if(.debug) debugmes .n$+": Map Randomness: Yes"; while ( [email protected] < [email protected]_am ) { if(.debug) debugmes .n$+": Big Maps - Counter: "[email protected]+", Map Index: "[email protected]; set [email protected],rand([email protected]_am); set [email protected],0; for ( set [email protected],0; [email protected] < getarraysize([email protected]_c); set [email protected],[email protected] + 1) if(([email protected]+1) == [email protected]_c[[email protected]]) { set [email protected],1; break; } if([email protected] == 1) continue; if(.debug) { debugmes .n$+": Big Maps - Map Index: "[email protected]+", Map Name: "+.map_b$[[email protected]]; debugmes .n$+": Big Maps - Mob Array Size: "+getarraysize(getd(".mob_"+.map_post_b$[[email protected]])); } for ( set [email protected],0; [email protected] < getarraysize(getd(".mob_"+.map_post_b$[[email protected]])); set [email protected],[email protected] + 1) { monster .map_b$[[email protected]],0,0,""+getmonsterinfo(getd(".mob_"+.map_post_b$[[email protected]]+"["[email protected]+"]"),0),getd(".mob_"+.map_post_b$[[email protected]]+"["[email protected]+"]"),getd(".mam_"+.map_post_b$[[email protected]]),strnpcinfo(0)+"::OnMobMultiKilled"; setd(".Mob_"+.map_post_b$[[email protected]]+"_Killed"),getd(".Mob_"+.map_post_b$[[email protected]]+"_Killed") + getd(".mam_"+.map_post_b$[[email protected]]); if(.debug) { debugmes .n$+": Big Maps - Map Index: "[email protected]t+", Mob Index: "[email protected]+", Map Name: "+.map_b$[[email protected]]+", Mob ID + Name: "+getd(".mob_"+.map_post_b$[[email protected]]+"["[email protected]+"]")+"; "+getmonsterinfo(getd(".mob_"+.map_post_b$[[email protected]]+"["[email protected]+"]"),0); debugmes .n$+": Total Mob Amount - Map Index: "[email protected]+": "+getd(".Mob_"+.map_post_b$[[email protected]]+"_Killed")+", Spawn Amount per Mob: "+getd(".mam_"+.map_post_b$[[email protected]]); } } announce .n$+": The town "+.map_b$[[email protected]]+" is being invaded by "+getd(".Mob_"+.map_post_b$[[email protected]]+"_Killed")+" monsters, please help use to defend it.",0; setarray [email protected]_c[getarraysize([email protected]_c)],([email protected]+1); // Copying already use maps. set [email protected],[email protected] + 1; } // * Map Randomness - No } else if( .inva_rand == 0) { if(.debug) debugmes .n$+": Map Randomness: No"; for ( set [email protected],0; [email protected] < [email protected]_am; set [email protected],[email protected] + 1) { if(.debug) { debugmes .n$+": Big Maps - Map Index: "[email protected]+", Map Name: "+.map_b$[[email protected]]; debugmes .n$+": Big Maps - Mob Array Size: "+getarraysize(getd(".mob_"+.map_post_b$[[email protected]])); } for ( set [email protected],0; [email protected] < getarraysize(getd(".mob_"+.map_post_b$[[email protected]])); set [email protected],[email protected] + 1) { monster .map_b$[[email protected]],0,0,""+getmonsterinfo(getd(".mob_"+.map_post_b$[[email protected]]+"["[email protected]+"]"),0),getd(".mob_"+.map_post_b$[[email protected]]+"["[email protected]+"]"),getd(".mam_"+.map_post_b$[[email protected]]),strnpcinfo(0)+"::OnMobMultiKilled"; setd(".Mob_"+.map_post_b$[[email protected]]+"_Killed"),getd(".Mob_"+.map_post_b$[[email protected]]+"_Killed") + getd(".mam_"+.map_post_b$[[email protected]]); if(.debug) { debugmes .n$+": Big Maps - Map Index: "[email protected]+", Mob Index: "[email protected]+", Map Name: "+.map_b$[[email protected]]+", Mob ID + Name: "+getd(".mob_"+.map_post_b$[[email protected]]+"["[email protected]+"]")+"; "+getmonsterinfo(getd(".mob_"+.map_post_b$[[email protected]]+"["[email protected]+"]"),0); debugmes .n$+": Total Mob Amount - Map Index: "[email protected]+": "+getd(".Mob_"+.map_post_b$[[email protected]]+"_Killed")+", Spawn Amount per Mob: "+getd(".mam_"+.map_post_b$[[email protected]]); } } announce .n$+": The town "+.map_b$[[email protected]]+" is being invaded by "+getd(".Mob_"+.map_post_b$[[email protected]]+"_Killed")+" monsters, please help use to defend it.",0; } } // * Map Size - Small Maps } else if( .inva_size == 2) { // - Checking if .map_am exceeds the size of the map array, or is 0 if( [email protected]_am > getarraysize(.map_s$) || [email protected]_am == 0) set [email protected]_am,getarraysize(.map_s$); if(.debug) debugmes .n$+": Map Quantity - Check: [email protected]_am: "[email protected]_am; // * Map Randomness - Yes if( .inva_rand == 1) { while ( [email protected] < [email protected]_am ) { set [email protected],rand([email protected]_am); set [email protected],0; for ( set [email protected],0; [email protected] < getarraysize([email protected]_c); set [email protected],[email protected] + 1) if([email protected] == [email protected]_c[[email protected]]) { set [email protected],1; break; } if([email protected] == 1) continue; if(.debug) { debugmes .n$+": Small Maps - Map Index: "[email protected]+", Map Name: "+.map_s$[[email protected]]; debugmes .n$+": Small Maps - Mob Array Size: "+getarraysize(getd(".mob_"+.map_post_s$[[email protected]])); } for ( set [email protected],0; [email protected] < getarraysize(getd(".mob_"+.map_post_s$[[email protected]])); set [email protected],[email protected] + 1) { monster .map_s$[[email protected]],0,0,""+getmonsterinfo(getd(".mob_"+.map_post_s$[[email protected]]+"["[email protected]+"]"),0),getd(".mob_"+.map_post_s$[[email protected]]+"["[email protected]+"]"),getd(".mam_"+.map_post_s$),strnpcinfo(0)+"::OnMobMultiKilled"; setd(".Mob_"+.map_post_s$[[email protected]]+"_Killed"),getd(".Mob_"+.map_post_s$[[email protected]]+"_Killed") + getd(".mam_"+.map_post_s$[[email protected]]); if(.debug) { debugmes .n$+": Small Maps - Map Index: "[email protected]+", Mob Index: "[email protected]+", Map Name: "+.map_s$[[email protected]]+", Mob ID + Name: "+getd(".mob_"+.map_post_s$[[email protected]]+"["[email protected]+"]")+"; "+getmonsterinfo(getd(".mob_"+.map_post_s$[[email protected]]+"["[email protected]+"]"),0); debugmes .n$+": Total Mob Amount - Map Index: "[email protected]+": "+getd(".Mob_"+.map_post_s$[[email protected]]+"_Killed")+", Spawn Amount per Mob: "+getd(".mam_"+.map_post_s$[[email protected]]); } } announce .n$+": The town "+.map_s$[[email protected]]+" is being invaded by "+getd(".Mob_"+.map_post_s$[[email protected]]+"_Killed")+" monsters, please help use to defend it.",0; setarray [email protected]_c[getarraysize([email protected]_c)],[email protected]; // Copying already use maps. } // * Map Randomness - No } else if( .inva_rand == 0) { if(.debug) debugmes .n$+": Map Randomness: No"; for ( set [email protected],0; [email protected] < .map_am; set [email protected],[email protected] + 1) { if(.debug) { debugmes .n$+": Small Maps - Map Index: "[email protected]+", Map Name: "+.map_s$[[email protected]]; debugmes .n$+": Small Maps - Mob Array Size: "+getarraysize(getd(".mob_"+.map_post_s$[[email protected]])); } for ( set [email protected],0; [email protected] < getarraysize(getd(".mob_"+.map_post_s$[[email protected]])); set [email protected],[email protected] + 1) { monster .map_s$[[email protected]],0,0,""+getmonsterinfo(getd(".mob_"+.map_post_s$[[email protected]]+"["[email protected]+"]"),0),getd(".mob_"+.map_post_s$[[email protected]]+"["[email protected]+"]"),getd(".mam_"+.map_post_s$[[email protected]]),strnpcinfo(0)+"::OnMobMultiKilled"; setd(".Mob_"+.map_post_s$[[email protected]]+"_Killed"),getd(".Mob_"+.map_post_s$[[email protected]]+"_Killed") + getd(".mam_"+.map_post_s$[[email protected]]); if(.debug) { debugmes .n$+": Small Maps - Map Index: "[email protected]+", Mob Index: "[email protected]+", Map Name: "+.map_s$[[email protected]]+", Mob ID + Name: "+getd(".mob_"+.map_post_s$[[email protected]]+"["[email protected]+"]")+"; "+getmonsterinfo(getd(".mob_"+.map_post_s$[[email protected]]+"["[email protected]+"]"),0); debugmes .n$+": Total Mob Amount - Map Index: "[email protected]+": "+getd(".Mob_"+.map_post_s$[[email protected]]+"_Killed")+", Spawn Amount per Mob: "+getd(".mam_"+.map_post_s$[[email protected]]); } } announce .n$+": The town "+.map_s$[[email protected]]+" is being invaded by "+getd(".Mob_"+.map_post_s$[[email protected]]+"_Killed")+" monsters, please help use to defend it.",0; } } } } break; } set .inva_status,1; end; OnMobSingleKilled: if(!.inva_status) end; // Shouldn't be possible if(getvariableofnpc(.rew_type,"Invasion Rewarder") > 0) set InvaKill,InvaKill + 1; // Kill Counter for Reward set .MobSKilled,.MobSKilled - 1; switch(.MobSKilled) { case 0: announce .n$+": Congratulation to ["+strcharinfo(0)+"] who delivered the final blow!!! Nicely Done!!!",0; if(.inva_final) { announce .n$+": You also get an \"Final Kill Reward\", just take a look in the Chat Box. See ya next time *g*",bc_self; dispbottom .n$+": You have been rewarded with:"; if(.inva_f_id == 1) { set Zeny,Zeny + .inva_f_am; dispbottom .n$+": "+.inva_f_am+" Zeny."; } else if(.inva_f_id == 2) { set #CASHPOINTS,#CASHPOINTS + .inva_f_am; dispbottom .n$+": "+.inva_f_am+" Cash Points. New Balance is "+#CASHPOINTS+"."; } else if(.inva_f_id >= 512) { getitem .inva_f_id,.inva_f_am; dispbottom .n$+": "+.inva_f_am+"x "+getitemname(.inva_f_id)+"."; } } sleep 10000; donpcevent strnpcinfo(0)+"::OnInvaEnd"; break; case 1: mapannounce strcharinfo(3),.n$+": JUST "+.MobSKilled+" MONSTER is left!!!! FINAL BLOW, GO GO!!!",bc_yellow; break; case 2: case 3: case 4: mapannounce strcharinfo(3),.n$+": Only "+.MobSKilled+" monsters are left!!!! We can do it!!!",bc_yellow; break; case 5: mapannounce strcharinfo(3),.n$+": LAST "+.MobSKilled+"!!!! We can do it!!!",bc_yellow; break; default: mapannounce strcharinfo(3),.n$+": "+.MobSKilled+" monsters are left!!!! Good work !!!",bc_yellow; break; } end; OnMobMultiKilled: if(!.inva_status) end; // Shouldn't be possible if(getvariableofnpc(.rew_type,"Invasion Rewarder") > 0) set InvaKill,InvaKill + 1; // Kill Counter for Reward set @loc,0; for ( set [email protected],0; [email protected] < getarraysize(.map_b$); set [email protected],[email protected] + 1) if(strcharinfo(3) == .map_b$[[email protected]]) { set @loc,1; set @map,[email protected]; break; } for ( set [email protected],0; [email protected] < getarraysize(.map_s$); set [email protected],[email protected] + 1) if(strcharinfo(3) == .map_s$[[email protected]]) { set @loc,2; set @map,[email protected]; break; } OnMMobKilled: if(.debug) debugmes .n$+": 2nd Loc Check: @Loc; "[email protected]+", @map: "[email protected]; switch( @loc ) { case 1: setd(".Mob_"+.map_post_b$[@map]+"_Killed"),getd(".Mob_"+.map_post_b$[@map]+"_Killed") - 1; debugmes .n$+": Mobs: "+mobcount(.map_b$[@map],strnpcinfo(0)+"::OnMobMultiKilled")+", Variable: "+getd(".Mob_"+.map_post_b$[@map]+"_Killed"); if(getd(".Mob_"+.map_post_b$[@map]+"_Killed") > 0) mapannounce strcharinfo(3),.n$+": The player ["+strcharinfo(0)+"] has killed another monster, "+getd(".Mob_"+.map_post_b$[@map]+"_Killed")+" monsters are left!!!! Good work !!!",0; else { announce .n$+": Every Monster in "+.map_s$[@map]+" has been defeated, thank you guys!!!",0; donpcevent strnpcinfo(0)+"::OnOtherTown"; } break; case 2: setd(".Mob_"+.map_post_s$[@map]+"_Killed"),getd(".Mob_"+.map_post_s$[@map]+"_Killed") - 1; debugmes .n$+": Mobs: "+mobcount(.map_s$[@map],strnpcinfo(0)+"::OnMobMultiKilled")+", Variable: "+getd(".Mob_"+.map_post_s$[@map]+"_Killed"); if(getd(".Mob_"+.map_post_s$[@map]+"_Killed") > 0) mapannounce strcharinfo(3),.n$+": The player ["+strcharinfo(0)+"] has killed another monster, "+getd(".Mob_"+.map_post_s$[@map]+"_Killed")+" monsters are left!!!! Good work !!!",0; else { announce .n$+": Every Monster in "+.map_s$[@map]+" has been defeated, thank you guys!!!",0; donpcevent strnpcinfo(0)+"::OnOtherTown"; } break; } end; OnOtherTown: for ( set [email protected],0; [email protected] < getarraysize(.map_b$); set [email protected],[email protected] + 1) if(getd(".Mob_"+.map_post_b$[[email protected]]+"_Killed") > 0) set [email protected]_left$,[email protected]_left$ + .map_b$[[email protected]]+ ( (.map_b$[[email protected]+1] != "")?", ":""); for ( set [email protected],0; [email protected] < getarraysize(.map_s$); set [email protected],[email protected] + 1) if(getd(".Mob_"+.map_post_s$[[email protected]]+"_Killed") > 0) set [email protected]_left$,[email protected]_left$ + .map_s$[[email protected]]+ ( (.map_s$[[email protected]+1] != "")?", ":""); if([email protected]_left$ == "" && [email protected]_left$ == "") donpcevent strnpcinfo(0)+"::OnInvaEnd"; announce .n$+": In the "+ ( ([email protected]_left$ != "")?"big towns "[email protected]_left$+ ( ([email protected]_left$ != "")?" and small towns "[email protected]_left$:""):"small towns "[email protected]_left$)+" are still Monsters, please help use to defeat them!!!",0; end; OnInvaEnd: announce .n$+": Thank you guys for your help in defeating the invaders, we will counting on you for the next time as well.",0; donpcevent strnpcinfo(0)+"::OnInvaRestart"; end; OnInvaForceEnd: announce .n$+": NOOOOO!!! The monsters successfully invaded the towns, RETREAT GUARDS!!!",0; sleep 10000; announce .n$+": Brave Fighters, I thank you for your support, but we failed!!",0; sleep 10000; announce .n$+": Let's regroup and let's try again, I will inform you when we are ready!!",0; OnInvaRestart: DELAY(.delay_type,.delay_pos,2); // Removing Mobs which kinda survived if(.inva_type == 1) // Single Town if(.map_use == 1) killmonster .map_b$[.t],strnpcinfo(0)+"::OnMobSingleKilled"; else killmonster .map_s$[.t],strnpcinfo(0)+"::OnMobSingleKilled"; else if(.inva_type == 2) { // Multi Town for ( set [email protected],0; [email protected] < getarraysize(.map_b$); set [email protected],[email protected] + 1) killmonster .map_b$[[email protected]],strnpcinfo(0)+"::OnMobMultiKilled"; for ( set [email protected],0; [email protected] < getarraysize(.map_s$); set [email protected],[email protected] + 1) killmonster .map_s$[[email protected]],strnpcinfo(0)+"::OnMobMultiKilled"; } set .inva_status,0; if(.delay == 1) set .s,0; // Reseting Delay Counter if(getvariableofnpc(.rew_type,"Invasion Rewarder") > 0) { enablenpc "Invasion Rewarder"; announce .n$+": Visit the \"Invasion Rewarder\" to recieve rewards for your kills. But hurry, he will disappear in "+getvariableofnpc(.rew_dis,"Invasion Rewarder")+" minutes.",0; donpcevent strnpcinfo(0)+"::OnRewardDisable"; } end; // Auto Disable Reward NPC OnRewardDisable: while( .m < getvariableofnpc(.rew_dis,"Invasion Rewarder") ) { switch(.m) { case 1: announce .n$+": The \"Invasion Rewarder\" will disappear in 4 minutes.",0; break; case 2: announce .n$+": The \"Invasion Rewarder\" will disappear in 3 minutes.",0; break; case 3: announce .n$+": The \"Invasion Rewarder\" will disappear in 2 minutes.",0; break; case 4: announce .n$+": HURRY, the \"Invasion Rewarder\" will disappear in 1 minute.",0; break; } set .m,.m + 1; sleep 60000; } announce "Invasion Rewarder: Okay, I'm done here. See ya next time!!!",0; set .m,0; disablenpc "Invasion Rewarder"; end; OnPCLoginEvent: if(.inva_status == 0) end; announce .n$+": The Monster Invasion Event is currently running, please hurry and help us!!",bc_self; sleep2 2000; if(.inva_type == 1) set [email protected]_left$,( (.map_use == 1) ? .map_b$[.t]:.map_s$[.t]); else if(.inva_type == 2) { for ( set [email protected],0; [email protected] < getarraysize(.map_b$); set [email protected],[email protected] + 1) if(getd(".Mob_"+.map_post_b$[[email protected]]+"_Killed") > 0) set [email protected]_left$,[email protected]_left$ + .map_b$[[email protected]]+ ( (.map_b$[[email protected]+1] != "")?", ":""); for ( set [email protected],0; [email protected] < getarraysize(.map_s$); set [email protected],[email protected] + 1) if(getd(".Mob_"+.map_post_s$[[email protected]]+"_Killed") > 0) set [email protected]_left$,[email protected]_left$ +" and "+ .map_s$[[email protected]]+ ( (.map_s$[[email protected]+1] != "")?", ":""); } announce .n$+": We are defending at "+ [email protected]_left$+"!!!",bc_self; end; OnInit: set .n$,"[Ragnarok Guard]"; // Debug Mode - See Map Server Console for Debug messages set .debug,0; // ======= Invasion Type ======= // - 1: Single // - 2: Multiply set .inva_type,1; // ====== Single Invasion Settings ========= if(.inva_type == 1) { // * Specific Map Usage // - 0 = Random // - 1 = Big Maps // - 2 = Small Maps set .s_inva_spec,1; if(.s_inva_spec > 0) { // * Map Index // X = Array Index of the Map Array set .s_inva_pos,0; } // ======= Multiply Invasion Settings ======== } else if(.inva_type == 2) { // * Spawn Option // - 1: All Maps // - 2: Specific Maps set .inva_spawn,2; if(.inva_spawn == 2) { // * Map Usage: // - 1: Big Maps // - 2: Small Maps set .inva_size,1; // * Map Amount: // - 0: All Maps from .inva_size above // - 1+: ... // Note: If this value exceeds the size of the map array, // then it will use all maps of .inva_size. set .inva_maps,0; if(.inva_maps > 0 && .inva_maps < ( (.inva_size == 1)?getarraysize(.map_b$):getarraysize(.map_s$) ) ) // * Map Randoming: // - 0: No // - 1: Yes // Note: Map Randoming is only possible when not all maps are wanted // It would be ineffective to make map randoming when there are all maps active :I set .inva_rand,1; } } // * Invasion on Server Start // - 0: No // - 1: Yes set .inva_statusinit,1; // * Invasion Force End // - 0: Not used // - 1+: ... // Note: The Event will automatically end after this value has passed (in seconds) set .inva_fend,3600; // 1 Hour // =======*======= DELAY SETTINGS =======*======= // * Delay Usage // - 0: Off - OnClockXXXX will be used // - 1: On set .delay,1; // * Delay Type // - 1: Random (Default) // - 2: Fixed Delay // - 3: Ranged Delay set .delay_type,1; // ---- Fixed Delay ---- // Array Position in ".time" if(.delay_type == 2) set .delay_pos,0; // ---- Ranged Delay ---- // Array Position for start index if(.delay_type == 3) set .delay_pos,3; // * Delay Times setarray .time[0], // In Seconds - is equal to - Array Position 10800, // 3 Hours - 0 14400, // 4 Hours - 1 21600, // 6 Hours - 2 86400, // 1 Day - 3 172800, // 2 Days - 4 259200; // 3 Days - 5 // =======*======= MONSTER SETTINGS =======*======= // * Mob Quantity Limit depending on the map size // - Big Maps set .m_limit_b,100; // - Small Maps set .m_limit_s,30; // * Maps List // - Big Maps setarray .map_b$[0],"prontera","geffen","payon","morocc","aldebaran","alberta"; // For every map you have to add an postfix in the same order, // which has been put in the array for the Maps // After this, just set an array with the Mob IDs where the // array name contains the postfix you set-up, see the examples setarray .map_post_b$[0],"pron","gef","pay","mor","alde","alb"; // - Small Maps setarray .map_s$[0],"izlude"; setarray .map_post_s$[0],"izl"; // ======= Monster ID's ======= // ------ Big Maps ------ // * Prontera - Mantis, Thief Bug Male, Argos, Side Winder setarray .mob_pron[0],1139,1054,1100,1037; // * Geffen - Poison Spore, Ghoul, Jakk, High Orc setarray .mob_gef[0],1855,1036,1130,1213; // * Payon - Zombie, Elder Willow, Munak, Nine Tail, Drainliar setarray .mob_pay[0],1015,1033,1026,1180,1111; // * Morocc - Requiem, Isis, Mummy, Minorous setarray .mob_mor[0],1164,1029,1041,1149; // * Aldebaran - Cramp, Penomena, Punk, Orc Archer, Bathory setarray .mob_alde[0],1209,1029,1199,1189,1102; // * Alberta - Pirate Skeleton, Penomena, Poison Spore, Whisper, Mimic setarray .mob_alb[0],1071,1029,1077,1179,1191; // ------ Small Maps ------ // * Izlude - Obeaune, Merman, Swordfish, Strouf setarray .mob_izl[0],1044,1264,1069,1065; // ------ Mob Amount Calculation for Big Maps ------ for ( set [email protected],0; [email protected] < getarraysize(.map_post_b$); set [email protected],[email protected] + 1) setd(".mam_"+.map_post_b$[[email protected]]),( .m_limit_b/getarraysize(getd(".mob_"+.map_post_b$)) ); // ------ Mob Amount Calculation for Small Maps ------ for ( set [email protected],0; [email protected] < getarraysize(.map_post_s$); set [email protected],[email protected] + 1) setd(".mam_"+.map_post_s$[[email protected]]),( .m_limit_s/getarraysize(getd(".mob_"+.map_post_s$)) ); // ======= Final Kill Settings ======= // * Will the player who gets the final kill be rewarded? // Only working during a Single Invasion // - 1: Yes // - 0: No set .inva_final,1; if(.inva_final == 1) { // * Reward Type: // - 1: Zeny // - 2: Cash Points // - 512+: Item ID (the Value is already the Item ID) set .inva_f_id,1; // * Reward Amount: set .inva_f_am,10000; } // =======*======= END of SETTINGS =======*======= // Even if .delay is 0, its required to start the timer for force ending the event :I initnpctimer; if(.debug) { debugmes .n$+": .inva_delay: "+.inva_delay; debugmes .n$+": gettimetick(2): "+gettimetick(2); } if(.delay == 1 && DELAY(.delay_type,.delay_pos,1) < 1) // If the delay value is empty, set it!! DELAY(.delay_type,.delay_pos,2); if(.debug) debugmes .n$+": .inva_delay: "+.inva_delay; if(.inva_statusinit == 1) // Starting Invasion on Server Start donpcevent strnpcinfo(0)+"::OnInvaInit"; end; function DELAY { // Format: DELAY(.delay_type,.delay_pos,1/2); // getarg(0) = Delay Type // * 1: Random // * 2: Fixed Delay // * 3: Ranged Delay // getarg(1) = Array Position if getarg(0) == 2 || 3 // getarg(2): Read/Write // * 1: Read // * 2: Write if(getarg(2) == 1) return (.inva_delay - gettimetick(2)); switch(getarg(0)) { case 1: set [email protected]_inva,.time[rand(getarraysize(.time))]; break; case 2: set [email protected]_inva,.time[getarg(1)]; break; case 3: set [email protected]_inva,.time[rand(getarg(1),getarraysize(.time) - 1)]; break; } set .inva_delay,gettimetick(2) + [email protected]_inva; return [email protected]_inva; } } invek,107,202,4 script Invasion Rewarder 110,{ mes .n$; mes "Hello, "+strcharinfo(0)+"!"; mes "So you want to be rewarded from the Mob Invasion Event, huh?"; mes "Let me take a look at your battle record."; next; mes .n$; if(!InvaKill) { mes "It seems like you didn't participated at all or you got your reward already."; mes "So I can't give you any kind of reward."; mes "Try your best next time."; close; } mes "You haved killed "+InvaKill+" monsters, good job there."; next; mes .n$; set [email protected]_am,InvaKill*.rew_am; set [email protected]_bonus, ( (.rew_bonus > 0)?(InvaKill*.rew_bonus):.rew_bonus); set [email protected],[email protected]_am + [email protected]_bonus; if(.rew_type == 1) { mes "You have recieved "[email protected]+"x "+( (.rew_bonus == 1)?"(Bonus: +"[email protected]_bonus+") ":"") + getitemname(.rew_id)+"."; getitem .rew_id,[email protected]; } else if(.rew_type == 2) { mes "You have recieved "[email protected]+"x "+( (.rew_bonus == 1)?"(Bonus: +"[email protected]_bonus+") ":"") + .rew_vname$+"."; if(.rew_bound == 0) // Character Based setd(""+.rew_var$),getd(""+.rew_var$) + (.rew_am+.rew_bonus); else if(.rew_bound == 1) // Account Based setd("#"+.rew_var$),getd("#"+.rew_var$) + (.rew_am+.rew_bonus); } set InvaKill,0; close; OnInit: set .n$,"["+strnpcinfo(0)+"]"; // =======*======= REWARD SETTINGS =======*======= // * Reward Type: // - 0: None // - 1: Item // - 2: Variable // - 3: Cash Points set .rew_type,1; // * Reward Bonus // - 0: Off // - 1 and higher: On // = This bonus will be given to the kill additionally. set .rew_bonus,0; // ----- Item ----- if(.rew_type == 1) set .rew_id,512; // Item ID // ----- Variable Name ----- else if(.rew_type == 2) { set .rew_var$,"InvaPoints"; set .rew_vname$,"Invasion Points"; // Variable Type: // 0: Character Based // 1: Account Based set .rew_bound,0; } // ----- Reward Quantity ----- set .rew_am,10; // Amount per Kill // ----- NPC Auto Disable ----- // After how many minutes will the NPC be disabled again: set .rew_dis,5; disablenpc strnpcinfo(0); end; } i need to change each 10 mob kill will get 1 7227 item. how to do that?
  9. teach me how to use code to put inside sql? //SQL Table for Ghost's PvP System CREATE TABLE IF NOT EXISTS `pvp_rank` ( `char_id` int(11) NOT NULL, `account_id` int(11) NOT NULL, `char` varchar(30) NOT NULL, `kill` int(11) NOT NULL, `death` int(11) NOT NULL, `kdr` varchar(30) NOT NULL, `killingstreak` int(11) NOT NULL, `multikill` int(11) NOT NULL, `killingspree` int(11) NOT NULL, `dominating` int(11) NOT NULL, `megakill` int(11) NOT NULL, `unstoppable` int(11) NOT NULL, `wickedsick` int(11) NOT NULL, `monsterkill` int(11) NOT NULL, `godlike` int(11) NOT NULL, `beyondgodlike` int(11) NOT NULL, `doublekill` int(11) NOT NULL, `triplekill` int(11) NOT NULL, `ultrakill` int(11) NOT NULL, `rampage` int(11) NOT NULL, `ownage` int(11) NOT NULL, `nemesiskill` int(11) NOT NULL, `feedcount` int(11) NOT NULL, PRIMARY KEY (`char_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  10. its ok.. solve already.. because its should not have "comma" in end line.
  11. does anyone know what i wrong here? i follow description they write but still got error on jobname .lua
  12. ops.. sorry.. i need script like this.. player will farm quest item that i list. after done collect all item.. they can choose any reward in npc reward. same like 1 quest can choose any reward.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.