Jump to content

k3u151312

Members
  • Posts

    1
  • Joined

  • Last visited

Profile Information

  • Gender
    Male

k3u151312's Achievements

Poring

Poring (1/15)

0

Reputation

  1. Help please I want this private_mvp entrance fee and summon mobs become coin instead of zeny, and can summon 10 to 30 mobs inside.. please all pro scriptor here help me.. thanks in advance //===== 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,164,172,3 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 ( .@i = 1; .@i <= 8; .@i++ ) if ( getvariableofnpc( .renttime[.@i], "MVP Summoner" ) ) mes "Room #"+ .@i +" = "+ .color$[ .type[.@i] ] + .whoinuse$[.@i] +"^000000"; next; .@room = 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[.@room], "MVP Summoner" ) ) { if ( .inuseid[.@room] == getcharid( .type[.@room] ) ) { warp "06guild_0"+ .@room, 0,0; close; } else { mes "[Private MVP Room]"; mes "This room is reserved for "; mes .color$[ .type[.@room] ] + .whoinuse$[.@room] +"^000000."; mes "Please select another."; close; } } mes "[Private MVP Room]"; mes "Reserve this room for..."; next; set .@type, select( "For my party members", "For my guild members", "For personal account use" ); if ( !getcharid(.@type) ) { mes "[Private MVP Room]"; mes "You do not own a "+( ( .@type == 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[.@room], "MVP Summoner" ) ) { mes "[Private MVP Room]"; mes "I'm sorry, somebody else has already registered this room faster than you."; close; } for ( .@i = 1; .@i <= 8; .@i++ ) { if ( ( getvariableofnpc( .renttime[.@i], "MVP Summoner" ) ) && .@type == .type[.@i] && getcharid(.@type) == .inuseid[.@i] ) { mes "[Private MVP Room]"; mes "You already rented Room#"+ .@i +". Use that room instead."; close; } } set .type[.@room], .@type; set .inuseid[.@room], getcharid(.@type); set .whoinuse$[.@room], strcharinfo( ( .@type == 3 )? 0 : .@type ); Zeny -= getvariableofnpc( .rentcost, "MVP Summoner" ); warp "06guild_0"+ .@room, 0,0; killmonsterall "06guild_0"+ .@room; donpcevent "MVP Summoner#"+ .@room +"::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 ( .mvp1cost ) { mes "[MVP Summoner]"; mes "The cost to summon an MVP is "+ callfunc( "F_InsertComma", .mvp1cost ) +" zeny."; next; set .@menu, select(.mvp1id_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .mvp1cost ) { mes "You don't have enough zeny to summon an MVP."; close; } } else { set .@menu, select(.mvp1id_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .mvp1cost ) end; Zeny -= .mvp1cost; monster "this", 0, 0, "--ja--", .mvp1id[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 3: if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { mes "[MVP Summoner]"; mes "I cannot summon another Special MVP when there are monsters around."; close; } else if ( .mvp2cost ) { mes "[MVP Summoner]"; mes "The cost to summon an Special MVP is "+ callfunc( "F_InsertComma", .mvp2cost ) +" zeny."; next; set .@menu, select(.mvp2id_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .mvp2cost ) { mes "You don't have enough zeny to summon an Special MVP."; close; } } else { set .@menu, select(.mvp2id_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .mvp2cost ) end; Zeny -= .mvp2cost; monster "this", 0, 0, "--ja--", .mvp2id[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 4: if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { mes "[MVP Summoner]"; mes "I cannot summon another MVP when there are monsters around."; close; } else if ( .mvp3cost ) { mes "[MVP Summoner]"; mes "The cost to summon an Hardcore MVP is "+ callfunc( "F_InsertComma", .mvp3cost ) +" zeny."; next; set .@menu, select(.mvp3id_menu$) -1; mes "[MVP Summoner]"; if ( Zeny < .mvp3cost ) { mes "You don't have enough zeny to summon an Hardcore MVP."; close; } } else { set .@menu, select(.mvp3id_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .mvp3cost ) end; Zeny -= .mvp3cost; monster "this", 0, 0, "--ja--", .mvp3id[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 5: 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 .@menu, 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 .@menu, select(.bossid_menu$) -1; mes "[MVP Summoner]"; } mes "Please get ready."; close2; if ( Zeny < .bosscost ) end; Zeny -= .bosscost; monster "this", 0, 0, "--ja--", .bossid[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; end; case 6: 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 7: 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 8: 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: .@id = atoi( strnpcinfo(2) ); .renttime[.@id] = gettimetick(2); sleep .timeout * 60000; mapwarp strnpcinfo(4), .respawnmap$, .respawnx, .respawny; .renttime[.@id] = 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 .mvp1cost, 100000; // Zeny cost to summon an MVP (0 = free) set .mvp2cost, 150000; // Zeny cost to summon an Specail MVP (0 = free) set .mvp3cost, 500000; // Zeny cost to summon an Hardcore MVP (0 = free) set .bosscost, 100000; // Zeny cost to summon a boss monster (0 = free) // Options setting inside MVP room set .@menu[1], 1; // Turn Heal option On/Off set .@menu[2], 1; // Turn MVP Summoning On/Off set .@menu[3], 1; // Turn Special MVP Summoning On/Off set .@menu[4], 1; // Turn Hardcore MVP Summoning On/Off set .@menu[5], 1; // Turn Mini boss Summoning On/Off set .@menu[6], 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 .mvp1id[0], 1511,// Amon Ra 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 1252,// Garm 1086,// Golden Thief Bug 1885,// Gopinich 1492,// Incantation Samurai 1734,// Kiel D-01 1251,// Knight of Windstorm 1779,// Ktullanux 1688,// Lady Tanee 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 1583,// Tao Gunka 1312,// Turtle General 1685,// Vesper 1658;// Ygnizem setarray .mvp2id[0], 1646,// Lord Knight Seyren 1647,// Assassin Cross Eremes 1648,// Whitesmith Harword 1649,// High Priest Magaleta 1650,// Sniper Shecil 1651;// High Wizard Katrinn setarray .mvp3id[0], 1917,// Wounded Morroc 1956,// Naght Sieger 1957,// Entweihen Crothen 2022;// Nidhoggr's Shadow setarray .bossid[0], 1096,// Angeling 1388,// Archangeling 1268,// Bloody Knight 1830,// Bow Guardian 1839,// Byorgue 1307,// 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 1313,// Mobster 1262,// Mutant Dragon 1203,// Mysteltainn 1870,// Necromancer 1295,// Owl Baron 1829,// Sword Guardian 1991,// Tendrillion 1204,// Tirfing 1089,// Toad 1092,// Vagabond Wolf 1765,// Valkyrie 1200;// Zherlthsh // Config Ends ------------------------------------------------------------------------ if ( !.timeout ) set .timeout, 60; .menu$ = ( .@menu[1] ? "Heal" : "" ) +":" ; .menu$ = .menu$ + ( .@menu[2] ? "Summon MVP" : "" ) +":"; .menu$ = .menu$ + ( .@menu[3] ? "Summon Special MVP" : "" ) +":"; .menu$ = .menu$ + ( .@menu[4] ? "Summon Hardcore MVP" : "" ) +":"; .menu$ = .menu$ + ( .@menu[5] ? "Summon Mini-boss" : "" ) +":"; .menu$ = .menu$ + ( .@menu[6] ? "Buy branches" : "" ) +":"; .menu$ = .menu$ + "Leave this room:Give up this room"; if ( .@menu[2] ) { .@size = getarraysize( .mvp1id ); for ( .@i = 0; .@i < .@size; .@i++ ) .mvp1id_menu$ = .mvp1id_menu$ + getmonsterinfo( .mvp1id[.@i], MOB_NAME ) +":"; } if ( .@menu[3] ) { .@size = getarraysize( .mvp2id ); for ( .@i = 0; .@i < .@size; .@i++ ) .mvp2id_menu$ = .mvp2id_menu$ + getmonsterinfo( .mvp2id[.@i], MOB_NAME ) +":"; } if ( .@menu[4] ) { .@size = getarraysize( .mvp3id ); for ( .@i = 0; .@i < .@size; .@i++ ) .mvp3id_menu$ = .mvp3id_menu$ + getmonsterinfo( .mvp3id[.@i], MOB_NAME ) +":"; } if ( .@menu[5] ) { .@size = getarraysize( .bossid ); for ( .@i = 0; .@i < .@size; .@i++ ) .bossid_menu$ = .bossid_menu$ + getmonsterinfo( .bossid[.@i], 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
×
×
  • Create New...