

mjonrest
Members-
Posts
20 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by mjonrest
-
I use Drawmove theme for my custom theme, installed properly and should work fine but this error message happen i have search google for solution and i got nothing.. hope someone can help me with this issue...
-
Mage Class attack count as range and matk base
mjonrest replied to mjonrest's question in Source Requests
@Start_ aye sir -
Mage Class attack count as range and matk base
mjonrest replied to mjonrest's question in Source Requests
@Start_ thanks for your help - i mean normal attack with range animation just like archer class but it works for mage class... or may i should adjust it here db\re\item_db.txt (weapon range) - like this? -
I am looking for this kind of source modification sorry for bad english hopefully someone can help me with this.. thanks
-
Dear all, i have search for entire rathena and cant find to solve this problem, could we catch many mob by using one taming item? ex: unripe apple can catch poring,drops, or poporing however i have try to use this kind of script: function script tame { setarray .@poke[0],1002,1003,1011; for( .@i = 0; .@i < getarraysize(.@tame); .@i++) { pet .@tame; end; } } but it can only catch mob id "3671" and i try to use this too still nothing can help. any idea how to create a new script command just like thanks
-
bro elu msh jadi develop? gw dulu mantan costumer battle ro apa dulu..
-
Mini Pokemon ! 1st generation, cards and mini monsters !
mjonrest replied to Tanos-Varguen's topic in Other Graphics Showcase
@Tanos92 the link is dead, can i get another link sir.. thanks -
@Cyro thanks to reply, im sorry but may i know which file should i change or replace with? thanks
-
Hello guys, just want to know, if it is possible to use simplify aura permanently for 3rd job (yellow aura) because, i want to activate special effect continously for part of game thanks
-
I Have trying to check out this kind of script but i dont get it at all i want to make an animated cuttin like spinning a wheel or something else. if someone have or know how to make it. i will be so thankful and please share with me or us(who want to know too). thanks /* ============================================================= /* Slot Machine - Triple Slot Machine /* ============================================================= /* Version: v0.7 /* v0.1 - Original Script Created. /* v0.2 - Added Option for Triple Slot Machine with animations. /* v0.3 - Added support for item pricing &/or zeny pricing. /* v0.4 - Cleaned up script variables for easy editing. /* v0.5 - Tested out some new scripting methods with IF(THEN). /* v0.6 - Added option to change slot machine modes ingame. /* v0.7 - Added optional sound effects to slot machines. - NOTE /* ============================================================= /* Description /* ============================================================= /* This script will allow users to spend zeny &/or an item for a /* chance to win a prize from the slot machine. Currently there /* are 2 versions. First is a Single Slot Machine, where only 1 /* slot is rolled. Second is the Triple Slot machine, where 3 /* slots are rolled. For either version, SUCCESS must be the /* only thing displayed in order to win. /* ============================================================= /* NOTE - If using soundeffects you must add the ".wav" files /* provided in the ".rar" file to your: data/wav folder located /* in either your: ( Ragnarok folder ) OR ( .grf file ) /* ============================================================= /* Created By: GmOcean /* ===========================================================*/ prontera,152,176,4 script SlotMachine::1slot 563,{ if( getgmlevel() == 99 ) { mes "Welcome Administrator.","What would you like to do?"; menu "Play Game",-,"Change Slot Machine Mode",iMode; next; } switch( getd(".mode"+strnpcinfo(3)+"") ){ case 0: // Single Slot machine mode. mes "Do you want to play a game?"; if( !.payment ) { mes "It costs: "+ .ssm_payment_message$[0] +" to play."; } else if ( .payment == 1 ) { mes "It costs: "+ .ssm_payment_message$[1] +" to play."; } else if ( .payment == 2 ) { mes "It costs: "+ .ssm_payment_message$[0] +" & "+ .payment_message$[1] +" to play."; } if( select("YES:NO") == 2 || Zeny < .ssm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.ssm_payment[1]) < .ssm_payment[2] && .payment ){ close; } while( @menu == 1 ){ if( !.payment || .payment == 2 ) { Zeny -= .ssm_payment[0]; } if( .payment ) { delitem( .ssm_payment[1], .ssm_payment[2] ); } if( .soundeffects ) { soundeffect "se_cash_provider.wav",0; } .@a = rand(1,100); if( .@a < atoi(.ssm_animate$[0]) ){ .@a = 1; } else { .@a = 2; } .@b = 1; while( .@b < atoi(.ssm_animate$[.@a]) ) { cutin .ssm_animate$[3] + .@b,4; sleep2 ( ( atoi(.ssm_animate$[4]) * 1000 ) / atoi(.ssm_animate$[.@a]) ); .@b++; } if( .@a == 1 ){ cutin .ssm_animate$[3] + atoi(.ssm_animate$[.@a]),4; dispbottom "Failed"; } else { cutin .ssm_animate$[3] + atoi(.ssm_animate$[.@a]),4; if( !.prize || .prize == 2 ) { Zeny += .ssm_prize[0]; } if( .prize ) { getitem .ssm_prize[1], .ssm_prize[2]; } if( .soundeffects ){ soundeffect "rog_steal coin.wav",0; } } if( select("Another Round:I'm done") == 2 || Zeny < .ssm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.ssm_payment[1]) < .ssm_payment[2] && .payment ){ cutin "",255; close; } } end; case 1: // Triple Slot machine mode. mes "Do you want to play a game?"; if( !.payment ) { mes "It costs: "+ .tsm_payment_message$[0] +" to play."; } else if ( .payment == 1 ) { mes "It costs: "+ .tsm_payment_message$[1] +" to play."; } else if ( .payment == 2 ) { mes "It costs: "+ .tsm_payment_message$[0] +" & "+ .tsm_payment_message$[1] +" to play."; } if( select("YES:NO") == 2 || Zeny < .tsm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.tsm_payment[1]) < .tsm_payment[2] && .payment ){ close; } while( @menu == 1 ){ if( !.payment || .payment == 2 ) { Zeny -= .tsm_payment[0]; } if( .payment ) { delitem( .tsm_payment[1], .tsm_payment[2] ); } if( .soundeffects ) { soundeffect "se_cash_provider.wav",0; } // Slot 1 = 100% Chance for success. (Because I didn't make a fail animation for it. .@2 = rand(1,100); //Rolls dice for Slot 2 .@3 = rand(1,100); //Rolls dice for Slot 3 if( .@2 <= atoi(.tsm_animate$[0]) && .@3 <= atoi(.tsm_animate$[1]) ){ .@a = 8; } else if( .@2 <= atoi(.tsm_animate$[0]) && .@3 > atoi(.tsm_animate$[1]) ){ .@a = 6; } else if( .@2 > atoi(.tsm_animate$[0]) && .@3 <= atoi(.tsm_animate$[1]) ){ .@a = 4; } else { .@a = 2; } .@b = 1; while( .@b < atoi(.tsm_animate$[.@a+1]) ) { cutin .tsm_animate$[.@a] + .@b,4; sleep2 ( ( atoi(.tsm_animate$[10]) * 1000 ) / atoi(.tsm_animate$[.@a+1]) ); .@b++; } cutin .tsm_animate$[.@a] + atoi(.tsm_animate$[.@a+1]),4; if( .@a == 2 ){ if( !.prize || .prize == 2 ) { Zeny += .tsm_prize[0]; } if( .prize ) { getitem .tsm_prize[1], .tsm_prize[2]; } if( .soundeffects ){ soundeffect "rog_steal_coin.wav",1; } } else { dispbottom "Failed"; } if( select("Another Round:I'm done") == 2 || Zeny < .tsm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.tsm_payment[1]) < .tsm_payment[2] && .payment ){ cutin "",255; close; } } end; } OnSingleSlot: setd ".mode"+strnpcinfo(3)+"",0; end; OnTripleSlot: setd ".mode"+strnpcinfo(3)+"",1; end; iMode: next; mes "Which did you want to do?"; menu "Change THIS machine's mode:Change ALL machine's mode",-; if( @menu == 1 ) { next; mes "What mode would you like this machine to have?"; menu "Single Slot Machine Mode:Triple Slot Machine Mode",-; if( @menu == 1 ) { setd ".mode"+strnpcinfo(3)+"",0; } else { setd ".mode"+strnpcinfo(3)+"",1; } close; } else { next; mes "What mode would you like to change all slot machines to?"; menu "Single Slot Machine Mode:Triple Slot Machine Mode",-; if( @menu == 1 ) { donpcevent "::OnSingleSlot"; } else { donpcevent "::OnTripleSlot"; } close; } OnInit: // 0 = Disabled, 1 = Enabled. .soundeffects = 1; //[ 0 = Single Slot Machine Mode ]_[ 1 = Triple Slot Machine Mode ] setd ".mode"+strnpcinfo(3)+"",0; //[0] = Fail Rate //[1] = Fail (Do not change) //[2] = Success (Do not change) //[3] = File Name (Do not change) //[4] = Animation Time (Do not change, for best results :D) setarray .ssm_animate$[0],"30","29","33","slot_","3"; //[0] = Fail Rate "Slot 2" //[1] = Fail Rate "Slot 3" //[2] = SSS (Do not change) //[3] = SSS_Count (Do not change) //[4] = SSF (Do not change) //[5] = SSF_Count (Do not change) //[6] = SFS (Do not change) //[7] = SFS_Count (Do not change) //[8] = SFF (Do not change) //[9] = SFF_Count (Do not change) //[10] = Animation Time (Do not change, for best results :D) setarray .tsm_animate$[0],"30","30","SSS_","41","SSF_","37","SFS_","41","SFF_","45","3"; // Prize Settings // Prize Type // 0 = Zeny, 1 = Item, 2 = Zeny&Item .prize = 2; // [0] = Zeny, [1] = Item ID, [2] = Item Amount; setarray .ssm_prize[0],125,501,10; setarray .tsm_prize[0],450,501,30; // Payment Settings // Payment Type // 0 = Zeny, 1 = Item, 2 = Zeny&Item .payment = 2; // [0] = Zeny, [1] = Item ID, [2] = Item Amount; setarray .ssm_payment[0],100,501,1; // Single Slot Machine Payment Price setarray .tsm_payment[0],300,501,3; // Triple Slot Machine Payment Price // DO NOT CHANGE BELOW // Payment Text Syntax setarray .ssm_payment_message$[0],""+ .ssm_payment[0] +" zeny",""+ getitemname(.ssm_payment[1]) +" x"+ .ssm_payment[2] +""; setarray .tsm_payment_message$[0],""+ .tsm_payment[0] +" zeny",""+ getitemname(.tsm_payment[1]) +" x"+ .tsm_payment[2] +""; end; } //Duplicates prontera,154,176,4 duplicate(1slot) SlotMachine#2slot 563 prontera,156,176,4 duplicate(1slot) SlotMachine#3slot 563
-
I try to mix annieruru pvp script (dota sound) and terces pvp script (pvp ladder) , its seems ok when i look at putty it said no errors, but when i try it in game, its comes with error, when player kill player, the announce start with "Beyond Godlike" instead of "killing spree". and i try to fix it myself, still got that error unsolved here is my script code //===== eAthena Script ======================================= //= eAthena PVP-Ladder //===== By: ================================================== //= Terces //===== Current Version: ===================================== //= 1.7.2 //===== Compatible With: ===================================== //= Any Athena Version that has "for" implemented //===== Credits: ============================================= //= The whole eAthena Board and the eAthena Chat //===== Notes: =============================================== //= Note 1: //= Experience gain works like this formula: //= ($@LadderLength-(<new position>-1))*$@LadderExp //= so if someone gets the first place he'll get //= $@LadderLength*$@LadderExp experience points. //============================================================ //= Fixxed by Dante //= V1.7.2 //= Hosted by Dant3 aka Dante // HAFE FUN! READ THE TOPIC! IT DONT WORKS MAYBE ON OLDER REV // // // LAST UPDATE: 12th,February.2008 // // Main Script - Terces (Main Thanks to Terces ) // V1.7.0 - Dant3 // v1.7.1 - AnnieRuRu // v1.7.2 - Dant3 // THIS SCRIPT WORKS ONLY ON THE NEW EATHENA REVISIONS! ENJOY! - script PVPLADDEROPTIONS -1,{ end; OnInit: // 0 = Disabled (NO) // 1 = Enable (YES) set $@languageselect, 0; //Enable/Disable language selection [English/German] (Default: 1) set $@LadderAnnounce, 1; //Enable/Disable the announcement when a char reaches a new position in the ladder (Default: 1) set $@LadderLength, 30; //Set the length of the Ladder [!Not higher than 128!] (Default: 30) set $@LadderSteps, 10; //Set the views per page (Default: 10) set $@LadderExpGain, 0; //Enable/Disable experience gain when reaching a new position in the ladder (*Note1) set $@LadderExp, 0; //Set Experience gain value (*Note1) // Update v1.7.0 set $@LadderZenyGain, 0; //Enable/Disable zeny gain when reaching a new position in the ladder set $@LadderZeny, 0; //Set Zeny gain value set $@LadderChatRoom, 1; //Enable/Disable an Chat Room over the NPC with the message "PvP Ladder" (Users can not enter the Chat room) } - script DOTAPVP -1,{ // Update v1.7.1 (Thanks to AnnieRuRu) // Added GM PvP Ladder Reset Function // Update v1.7.2 // Thanks to for the Feedback set $@LadderAskLogin, 1; //Enable/Disable that the NPC asks about the Broadcast when a Player logins / or with the Npc Chat (0 = Login Ask , 1 = Npc Chat) Related: 0 set .sound, 1; // 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 .ownage, 2; // ownage announcement : 0 - disable, 1 - party owns, 2 - guild owns set .announce, 1; // make 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, 1; // 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 //setarray .maptrigger$, // only these maps will trigger this script // "all", // comment this line to only trigger this script on these listed 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> 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 55 player and he/she will still get in the ladder // but a level 55 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 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 ( .ownage < 0 || .ownage > 2 ) set .ownage, 0; 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 PVPLADDERS -1,{ OnPCKillEvent: //if (killerrid != getcharid(3)){ // announce strcharinfo(0)+" killed "+rid2name(killedrid),0; // } if (terces_PVP_resets != $terces_PVP_resets) { dispbottom "Please relog your character, in order to get the correct kills for you in the PVP ladder."; dispbottom "Because a GM just reset the ladder."; end; } if ( killedrid == getcharid(3) ) { set PVPDeaths, PVPDeaths +1; set #PVPDeathsAccount, #PVPDeathsAccount +1; set @PVPDeathstoday, @PVPDeathstoday +1; end; } set $@PVPcounter,$@PVPcounter+1; set getd("$@PVPKill"+$@PVPcounter),getcharid(3); //getd to avoid errors when more than 1 people kill someone attachrid(killedrid); set PVPDeaths,PVPDeaths+1; set @PVPDeathstoday,@PVPDeathstoday+1; set #PVPDeathsAccount,#PVPDeathsAccount+1; set getd("$@PVPkilledplayer"+$@PVPcounter+"$"), strcharinfo(0); //again, getd to avoid possible glitches detachrid; attachrid(getd("$@PVPKill"+$@PVPcounter)); CountKills: set PVPKills,PVPKills+1; set @PVPKillstoday,@PVPKillstoday+1; set #PVPKillsAccount,#PVPKillsAccount+1; setarray @playerstats[0],@PVPKillstoday,@PVPDeathstoday,PVPKills,PVPDeaths,#PVPKillsAccount,#PVPDeathsAccount; 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 .@streakname$,"Beyond Godlike"; else if ( @PlayersKilledStreak >= .godlike ) set .@streakname$,"Godlike"; else if ( @PlayersKilledStreak >= .monsterkill ) set .@streakname$,"Monster Kill"; else if ( @PlayersKilledStreak >= .wickedsick ) set .@streakname$,"Wicked Sick"; else if ( @PlayersKilledStreak >= .unstoppable ) set .@streakname$,"Unstoppable"; else if ( @PlayersKilledStreak >= .megakill ) set .@streakname$,"Mega-kill"; else if ( @PlayersKilledStreak >= .dominating ) set .@streakname$,"Dominating"; else if ( @PlayersKilledStreak >= .killingspree ) set .@streakname$,"Killing Spree"; if ( @PlayersKilledStreak >= .killingspree && killerrid == getcharid(3) ) announce strcharinfo(0) +" has ended "+( (sex)?"him":"her" )+" own "+ .@streakname$ +"["+ @PlayersKilledStreak +"] streak "+( (.announcemap)?("at "+ .@map$):""),16|.announce; else if ( @PlayersKilledStreak >= .killingspree ) announce rid2name(killerrid) +" has ended "+ strcharinfo(0) +"'s "+ .@streakname$ +"["+ @PlayersKilledStreak +"] streak "+( (.announcemap)?("at "+ .@map$):""),16|.announce; else if ( .announcekill && killerrid != getcharid(3) ) announce rid2name(killerrid) +" has pawned "+ strcharinfo(0) +"'s head "+( (.announcemap)?("at "+ .@map$):""),16|.announce; set @PlayersKilledStreak,0; set @dota_multikills,0; if ( .ownage && getcharid(.ownage) ) { setd ".dotaown_"+ getcharid(.ownage), 0; set .@killedgroup, getcharid(.ownage); } set @PlayersKilledStreak, @PlayersKilledStreak + 1; set PlayersKilled, PlayersKilled + 1; if ( @PlayersKilledStreak == .killingspree ) setarray .@streakname$,"killingspree.wav","is on a KILLING SPREE","!"; else if ( @PlayersKilledStreak == .dominating ) setarray .@streakname$,"dominating.wav","is DOMINATING","!"; else if ( @PlayersKilledStreak == .megakill ) setarray .@streakname$,"megakill.wav","has a MEGA KILL","!"; else if ( @PlayersKilledStreak == .unstoppable ) setarray .@streakname$,"unstoppable.wav","is UNSTOPPABLE","!!"; else if ( @PlayersKilledStreak == .wickedsick ) setarray .@streakname$,"wickedsick.wav","is WICKED SICK","!!"; else if ( @PlayersKilledStreak == .monsterkill ) setarray .@streakname$,"monsterkill.wav","has a MONSTER KILL","!!"; else if ( @PlayersKilledStreak == .godlike ) setarray .@streakname$,"godlike.wav","is GODLIKE","!!!"; else if ( @PlayersKilledStreak >= .holyshit && ( (@PlayersKilledStreak - .holyshit) % .continue == 0 ) ) setarray .@streakname$,"holyshit.wav","is BEYOND GODLIKE",". Someone KILL "+( (sex)?"HIM":"HER" ) +"!!!!!!"; if ( .@streakname$[1] != "" ) { announce strcharinfo(0) +" "+ .@streakname$[1] +"["+ @PlayersKilledStreak +"] "+( (.announcemap)?("at "+ .@map$):"") + .@streakname$[2],16|.announce; if ( .sound == 1 ) soundeffectall .@streakname$[0],0,.@map$; else if ( .sound == 2 ) soundeffectall .@streakname$[0],0; else if ( .sound == 3 ) soundeffect .@streakname$[0],0; } set @dota_multikills, @dota_multikills + 1; deltimer "DOTAPVP::OnStreakReset"; addtimer 18000,"DOTAPVP::OnStreakReset"; if ( .ownage ) { set .@sideid, getcharid(.ownage); if ( .@sideid != .@killedgroup ) setd ".dotaown_"+ .@sideid, getd(".dotaown_"+ .@sideid ) + 1; } set .@dota_multikills, @dota_multikills; set .@origin, getcharid(3); sleep 1500; if ( .@sideid && .ownage && .@sideid != .@killedgroup && getd(".dotaown_"+ .@sideid) >= .owned && ( ( getd(".dotaown_"+ .@sideid) - .owned ) % .owncontinue == 0 ) ) { if ( .announce ) mapannounce .@map$, "The "+( (.ownage == 1)?"party":"guild" )+" ["+( (.ownage == 1)?getpartyname(.@sideid):getguildname(.@sideid) )+"] is OWNING["+ getd(".dotaown_"+ .@sideid) +"] !!!",16; else announce "The "+( (.ownage == 1)?"party":"guild" )+" ["+( (.ownage == 1)?getpartyname(.@sideid):getguildname(.@sideid) )+"] is OWNING["+ getd(".dotaown_"+ .@sideid) +"] !!!",16; if ( .sound == 1 ) soundeffectall "ownage.wav",0,.@map$; else if ( .sound == 2 ) soundeffectall "ownage.wav",0; else if ( .sound == 3 && attachrid(.@origin) ) soundeffect "ownage.wav",0; } sleep 1250; if ( !attachrid(.@origin) ) end; if ( .@dota_multikills == 2 ) { if ( .announce ) mapannounce .@map$, 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,.@map$; else if ( .sound == 2 ) soundeffectall "doublekill.wav",0; else if ( .sound == 3 ) soundeffect "doublekill.wav",0; } else if ( .@dota_multikills == 3 ) { if ( .announce ) mapannounce .@map$, 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,.@map$; else if ( .sound == 2 ) soundeffectall "triplekill.wav",0; else if ( .sound == 3 ) soundeffect "triplekill.wav",0; } else if ( .@dota_multikills == 4 ) { if ( .announce ) mapannounce .@map$, 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,.@map$; else if ( .sound == 2 ) soundeffectall "ultrakill.wav",0; else if ( .sound == 3 ) soundeffect "ultrakill.wav",0; } else if ( .@dota_multikills >= 5 ) { if ( .announce ) mapannounce .@map$, strcharinfo(0) +" is on a Rampage !!!",16; else announce strcharinfo(0) +" is on a Rampage !!!",16; if ( .sound == 1 ) soundeffectall "rampage.wav",0,.@map$; else if ( .sound == 2 ) soundeffectall "rampage.wav",0; else if ( .sound == 3 ) soundeffect "rampage.wav",0; } end; OnWhisperGlobal: dispbottom "Your current Streak : "+ @PlayersKilledStreak; dispbottom "Your total Kills : "+ PlayersKilled; if ( .ownage && getcharid(.ownage) ) dispbottom "Your "+( (.ownage ==1)?"party":"guild" )+" Own : "+ getd(".dotaown_"+ getcharid(.ownage) ); end; OnStreakReset: set @dota_multikills, 0; end; l_ladder: set @considerdeath,0; for (set @PosinLadder, 0; @PosinLadder < $@LadderLength; set @PosinLadder, @PosinLadder + 1){ if (PVPKills >= $terces_PVP_kills[@PosinLadder]){ //Player deserves to be in the ladder //Check if Death plays a role on the position if ((PVPKills == $terces_PVP_kills[@PosinLadder]) && (PVPDeaths > $terces_PVP_deaths[@PosinLadder])) set @considerdeath,1; //Consider Deaths //Check if the player only topped his own scores if ($terces_PVP_names$[@PosinLadder] == strcharinfo(0)){ set $terces_PVP_kills[@PosinLadder],PVPKills; set $terces_PVP_deaths[@PosinLadder],PVPDeaths; end; } //Moves all characters in the Ladder for (set @beginmoving, $@LadderLength; @beginmoving >= (@PosinLadder+@considerdeath); set @beginmoving, @beginmoving - 1){ if ($terces_PVP_names$[@beginmoving] == strcharinfo(0)){ //If the player already is in the Ladder it only has to move players between characters new position and characters old position callsub L_LadderMove,0; end; } else if (@beginmoving == (@PosinLadder+@considerdeath)){ //Player is not in the Ladder and therefor it has to move all players from characters new position downwards callsub L_LadderMove,1; end; } } end; } } L_LadderMove: if (getarg(0) == 0) set @length,@beginmoving; if (getarg(0) == 1) set @length,$@LadderLength; for (set @movecycle, @length; @movecycle > (@PosinLadder+@considerdeath); set @movecycle, @movecycle - 1){ set $terces_PVP_names$[@movecycle],$terces_PVP_names$[(@movecycle-1)]; set $terces_PVP_kills[@movecycle],$terces_PVP_kills[(@movecycle-1)]; set $terces_PVP_deaths[@movecycle],$terces_PVP_deaths[(@movecycle-1)]; set $terces_PVP_times[@movecycle],$terces_PVP_times[(@movecycle-1)]; } //sets the character's stats in the new position set $terces_PVP_names$[(@PosinLadder+@considerdeath)],strcharinfo(0); set $terces_PVP_kills[(@PosinLadder+@considerdeath)],PVPKills; set $terces_PVP_deaths[(@PosinLadder+@considerdeath)],PVPDeaths; set $terces_PVP_times[(@PosinLadder+@considerdeath)],gettimetick(2); //Experience Gain if ($@LadderExpGain == 1){ set BaseExp,BaseExp+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderExp); dispbottom "You have just been rewarded with "+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderExp)+" base experience points"; } //Zeny Gain if ($@LadderZenyGain == 1){ set Zeny,Zeny+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderZeny); dispbottom "You have just been rewarded with "+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderZeny)+" Zeny"; } //Announcement (Setting for Char) if (pvpbroadcast == 2){ announce strcharinfo(0)+" just claimed the "+((@PosinLadder+@considerdeath)+1)+". Position in the Top "+$@LadderLength+" after killing "+getd("$@PVPkilledplayer"+$@PVPcounter+"$")+".",16; } //Announcement (Setting for Account) if (#pvpbroadcast == 2){ announce strcharinfo(0)+" just claimed the "+((@PosinLadder+@considerdeath)+1)+". Position in the Top "+$@LadderLength+" after killing "+getd("$@PVPkilledplayer"+$@PVPcounter+"$")+".",16; } end; OnPCLoginEvent: if (terces_PVP_resets != $terces_PVP_resets){ set PVPDeaths,0; set @PVPDeathstoday,0; set #PVPDeathsAccount,0; set PVPKills,0; set @PVPKillstoday,0; set #PVPKillsAccount,0; set terces_PVP_resets,$terces_PVP_resets; } if ($@LadderAskLogin == 0){ if (#pvpbroadcast == 2) goto L_ignore; if (pvpbroadcast == 2) goto L_ignore; if (#pvpbroadcast == 1) goto L_ignore; if (pvpbroadcast == 1) goto L_ignore; if (pvpbroadcast == 0) mes "Hi, "+strcharinfo(0)+""; mes "Me is the PvP Top Management!"; mes "Let me ask you one Question and i will let you play!"; menu "Later please",L_close,"Okay, fine",L_fine; L_fine: next; mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?"; menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast; L_accept: next; mes "Yay, thank you! ^_^"; mes "Will this Setting work on all your Chars on this account or only this char?"; menu "Account",L_account,"Only this char",L_char; L_account: set #pvpbroadcast,2; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; close; L_char: set pvpbroadcast,2; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; goto access_eng; close; L_accept_2: next; mes "Yay, thank you! ^_^"; mes "Will this Setting work on all your Chars on this account or only this char?"; menu "Account",L_account_2,"Only this char",L_char_2; L_close: close; L_account_2: set #pvpbroadcast,1; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; close; L_char_2: set pvpbroadcast,1; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; goto access_eng; close; L_broadcast: mes "Broadcasts are this yellow messages from the GMs"; goto L_fine; } } prontera,148,189,6 script Loki 65,{ if ($@LadderChatRoom == 1) { waitingroom "Top "+$@LadderLength+" Players!",0; // Look on the configuration! } set @name$,"[PvP-Ladder]"; //Colour of: Position Name Kills Deaths Time setarray @colour$[0], "^996600", "^006699", "^00AA00", "^FF0000", "^EE8800"; if ($@LadderAskLogin == 1){ if (#pvpbroadcast == 2) goto access_eng; if (pvpbroadcast == 2) goto access_eng; if (#pvpbroadcast == 1) goto access_eng; if (pvpbroadcast == 1) goto access_eng; if (pvpbroadcast == 0) mes "Hi, "+strcharinfo(0)+""; mes "Me is the PvP Top Management!"; mes "Let me ask you one Question and i will let you play!"; menu "Later please",L_close,"Okay, fine",L_fine; L_fine: next; mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?"; menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast; L_accept: next; mes "Yay, thank you! ^_^"; mes "Will this Setting work on all your Chars on this account or only this char?"; menu "Account",L_account,"Only this char",L_char; L_account: set #pvpbroadcast,2; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; close; L_char: set pvpbroadcast,2; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; goto access_eng; close; L_accept_2: next; mes "Yay, thank you! ^_^"; mes "Will this Setting work on all your Chars on this account or only this char?"; menu "Account",L_account_2,"Only this char",L_char_2; L_close: close; L_account_2: set #pvpbroadcast,1; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; close; L_char_2: set pvpbroadcast,1; next; mes "Okay, "+strcharinfo(0)+""; mes "Thank you for your time and have fun!"; goto access_eng; close; L_broadcast: mes "Broadcasts are this yellow messages from the GMs"; goto L_fine; } access_eng: mes @name$; mes "Hello "+strcharinfo(0)+""; mes "If you want to I can show you your PVP stats."; next; M_selection_eng: if ( getgmlevel () < 99 ) menu "Warp me to Battle Arena",M_Arena,"Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Cancel",M_abbrechen_eng; else menu "Warp me to Battle Arena",M_Arena,"Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Reset Ladder",L_reset,"Cancel",M_abbrechen_eng; M_Arena: announce "[ "+strcharinfo(0)+" ] has entered the PvP Room.",0; warp "pvp_y_2-2",0,0; end; M_Ladder_eng: mes "Alright...I'll show you the Top "+ $@LadderLength +" with "+$@LadderSteps+" entries per page."; mes "It'll be viewed like this:"; mes @colour$[0]+"Place^000000: "+@colour$[1]+"<name>^000000 :"+@colour$[2]+"<kills>^000000:"+@colour$[3]+"<deaths>^000000 "+@colour$[4]+"<time>"; next; callsub L_Ladder; goto M_selection_eng; M_seitLogin_eng: mes @name$; mes "Your stats since your login:"; mes @PVPKillstoday+"/"+@PVPDeathstoday+"(Kills/Deaths)"; next; goto M_selection_eng; M_dieserChar_eng: mes @name$; mes "Your stats of this Char:"; mes PVPKills+"/"+PVPDeaths+"(Kills/Deaths)"; next; goto M_selection_eng; M_vomAccount_eng: mes @name$; mes "Your stats of the whole account:"; mes #PVPKillsAccount+"/"+#PVPDeathsAccount+"(Kills/Deaths)"; next; goto M_selection_eng; M_abbrechen_eng: mes @name$; mes "OK. You can come back to me and see your stats whenever you want."; close; L_reset: if (getgmlevel() < 99) end; mes "Do you want to reset the ladder?"; if (select ("Yes","No") == 2) goto L_end; mes "Are you really really sure you want to reset it?"; menu "Yes, ffs!!",-,"No",L_end; deletearray $terces_PVP_kills,128; deletearray $terces_PVP_deaths,128; deletearray $terces_PVP_names$,128; deletearray $terces_PVP_times,128; set $terces_PVP_resets,$terces_PVP_resets +1; L_end: mes "Okay...cya"; close; L_Ladder: for (set @y,0; @y < $@LadderLength; set @y,@y+$@LadderSteps){ for (set @x,@y; (@x < (@y+$@LadderSteps)) && (@x < ($@LadderLength)); set @x,@x+1){ if ($terces_PVP_names$[@x] != ""){ mes @colour$[0]+(@x+1)+"^000000: "+@colour$[1]+$terces_PVP_names$[@x]+"^000000 "+@colour$[2]+$terces_PVP_kills[@x]+"^000000:"+@colour$[3]+$terces_PVP_deaths[@x]+"^000000 ~ "+@colour$[4]+callfunc ("Gettime",$terces_PVP_times[@x])+"^000000"; } else { mes "^DD0000"+(@x+1)+": ^006699None^000000 "; } } next; } return; } function script Gettime { if (getarg(0)==0) return; set @difftimedays,(gettimetick(2) - getarg(0)); set @difftimehours,@difftimedays%86400; set @difftimeminutes,@difftimehours%3600; set @difftimeseconds,@difftimeminutes%60; set @days,@difftimedays/86400; set @hours,@difftimehours/3600; set @minutes,@difftimeminutes/60; set @seconds,@difftimeseconds; set @result$,""; if(@days != 0) set @result$,@result$+@days+"d "; if(@hours != 0) set @result$,@result$+@hours+"h "; if(@minutes != 0) set @result$,@result$+@minutes+"m "; if(@seconds != 0) set @result$,@result$+@seconds+"s"; return (@result$); } //prontera,150,150,0 script Warper 100,{ // warp <map>,<x>,<y>; // end; //} pvp_y_2-2 mapflag nocommand 10 pvp_y_2-2 mapflag nosave pvp_y_2-2 mapflag noreturn
-
Monster Drop with Item Random Option, yet for Item Random Option
mjonrest replied to Cydh's topic in Source Releases
I got some problems. the items drops from monster not having any random options.. i just kill several monster but all drops the same (no random option) -
-
Hello. im new scripter from indonesia. im trying to create my own instance. with learning from some source from rathena wiki and some from previous instance that i have.. but i met this condition.. here is my script description: 1. this instance is allowed to all player but, if the player is member of guild that conqueror "prtg_cas03" will have halfed instance timer ( normal 12 hours, guild 6 hours) 2. the error begin when i try to generate the instance. its causing error like this alberta,246,97,4 script Old SailorMan 55,{ set .@Castle$, "prtg_cas03"; mes "[Custom Instance]"; mes "Would you like to warp to the special guild Instance?"; mes "The conquerors of "+getcastlename(.@Castle$)+" having a half instance time (6 hours), though."; next; mes "For This, your guild will have a benefit!"; mes "your instance delay time will be cut half!!"; next; if(select("Warp me!:Cancel")==2) close; mes "[Custom Instance]"; set .@i, getcastledata(.@Castle$,1); if (getcharid(2) == .@i) { set .@party_idkraken,getcharid(1); set .@p_name$,getpartyname(.@party_idkraken); set .@md_name$,"Crazy Kraken"; set .@kraken_timer,checkquest(50000,PLAYTIME); // 1 week dispbottom "50000 = " + .@kraken_timer; if (!instance_check_party(.@party_idkraken,1)) { mes "Make or join a party with more than 1 member and try again."; close; } if (.@kraken_timer == -1) { if (getcharid(0) == getpartyleader(.@party_idkraken,2)) { mes "Confirmed the party has been made. Would you like to reserve entrance to the Crazy Kraken?"; next; switch(select("Generate dungeon "+.@md_name$+":Enter the dungeon:Cancel")) { case 1: if (instance_create(.@md_name$) < 0) { mes "Party Name: "+.@p_name$; mes "Party Leader: "+strcharinfo(0); mes "^0000ff"+.@md_name$+" ^000000- Reservation Failed!"; close; } mes "^0000ff"+.@md_name$+"^000000 - Try to reserve"; mes "After making a reservation, you have to talk to NPC behind and select the menu 'Enter the Dungeon' to enter the dungeon."; close; case 2: callsub L_EnterkrakenG,0,1; case 3: close; } } switch(select("Enter the "+.@md_name$+":Cancel")) { case 1: callsub L_EnterkrakenG,1,1; case 2: end; } } else if ((.@kraken_timer == 0)) { set .@dun_lim_time,kraken_timer+21600; // 1 week //set .@dun_lim_time2,bios_timer+14400; // 4 hours set .@dun_cur_time,gettimetick(2); set .@dun_ent_t,(.@dun_lim_time - .@dun_cur_time); set .@dun_h,(.@dun_ent_t / 3600); set .@dun_m,(.@dun_ent_t - (.@dun_h * 3600)) / 60; set .@dun_s,.@dun_ent_t - ((.@dun_h * 3600) + (.@dun_m * 60)); mes "Due to the tower's aftereffects, you cannot enter the dungeon right now, " + .@dun_h + "hours " + .@dun_m + "minutes " + .@dun_s + "seconds left to enter the next dungeon."; close; end; } else { set kraken_timer,0; erasequest 50000; //erasequest 3136; mes "^0000ffThe records and after effects related to the Crazy Kraken have been removed. You can generate and enter the Crazy Kraken again.^000000"; close; } L_EnterkrakenG: switch(instance_enter("Crazy Kraken")) { case 3: mes "An unknown error has occurred."; close; case 2: mes "The memorial dungeon Crazy Kraken does not exist."; mes "The party leader did not generate the dungeon yet."; close; case 1: mes "You can enter the dungeon after making the party."; close; case 0: mapannounce "e_tower", strcharinfo(0) +" of the party, "+ getpartyname( getcharid(1) ) +", is entering the dungeon, Crazy Kraken.",bc_map,"0x00ff99",FW_NORMAL,12; if (getarg(1)) { set kraken_timer,gettimetick(2); //setquest 15005; //setquest 3136; } //warp "1@tower",52,354; if (getarg(0) == 0) close; else end; } } set .@party_idkraken,getcharid(1); set .@p_name$,getpartyname(.@party_idkraken); set .@md_name$,"Crazy Kraken"; set .@kraken_timer,checkquest(50000,PLAYTIME); // 1 week dispbottom "50000 = " + .@kraken_timer; if (!instance_check_party(.@party_idkraken,1)) { mes "Make or join a party with more than 1 member and try again."; close; } if (.@kraken_timer == -1) { if (getcharid(0) == getpartyleader(.@party_idkraken,2)) { mes "Confirmed the party has been made. Would you like to reserve entrance to the Crazy Kraken?"; next; switch(select("Generate dungeon "+.@md_name$+":Enter the dungeon:Cancel")) { case 1: if (instance_create(.@md_name$) < 0) { mes "Party Name: "+.@p_name$; mes "Party Leader: "+strcharinfo(0); mes "^0000ff"+.@md_name$+" ^000000- Reservation Failed!"; close; } mes "^0000ff"+.@md_name$+"^000000 - Try to reserve"; mes "After making a reservation, you have to talk to NPC behind and select the menu 'Enter the Dungeon' to enter the dungeon."; close; case 2: callsub L_Enterkraken,0,1; case 3: close; } } switch(select("Enter the "+.@md_name$+":Cancel")) { case 1: callsub L_Enterkraken,1,1; case 2: end; } } else if ((.@kraken_timer == 0)) { set .@dun_lim_time,kraken_timer+43200; // 1 week //set .@dun_lim_time2,bios_timer+14400; // 4 hours set .@dun_cur_time,gettimetick(2); set .@dun_ent_t,(.@dun_lim_time - .@dun_cur_time); set .@dun_h,(.@dun_ent_t / 3600); set .@dun_m,(.@dun_ent_t - (.@dun_h * 3600)) / 60; set .@dun_s,.@dun_ent_t - ((.@dun_h * 3600) + (.@dun_m * 60)); mes "Due to the tower's aftereffects, you cannot enter the dungeon right now, " + .@dun_h + "hours " + .@dun_m + "minutes " + .@dun_s + "seconds left to enter the next dungeon."; close; end; } else { set kraken_timer,0; erasequest 50000; //erasequest 3136; mes "^0000ffThe records and after effects related to the Crazy Kraken have been removed. You can generate and enter the Crazy Kraken again.^000000"; close; } L_Enterkraken: switch(instance_enter("Crazy Kraken")) { case 3: mes "An unknown error has occurred."; close; case 2: mes "The memorial dungeon Crazy Kraken does not exist."; mes "The party leader did not generate the dungeon yet."; close; case 1: mes "You can enter the dungeon after making the party."; close; case 0: mapannounce "e_tower", strcharinfo(0) +" of the party, "+ getpartyname( getcharid(1) ) +", is entering the dungeon, Crazy Kraken.",bc_map,"0x00ff99",FW_NORMAL,12; if (getarg(1)) { set kraken_timer,gettimetick(2); //setquest 15005; //setquest 3136; } //warp "1@tower",52,354; if (getarg(0) == 0) close; else end; } } int_land,56,69,4 script Anes 581,{ if (getcharid(0) == getpartyleader(getcharid(1),2)) { mes "why are you here kid?"; mes "dont you know that monster around here"; close; npctalk "Anes: I dont really care if you get killed here"; sleep 1000; npctalk "Anes: but you have to get out of here"; sleep 2000; enablenpc "Droid#1"; sleep 3000; npctalk "Anes: I dont care!!!"; disablenpc strnpcinfo(0); end; } mes "..........."; close; } int_land,57,71,4 script Droid#1 571,{ npctalk "Droid : Dont blame new player here"; sleep 1000; npctalk "Droid : you dont know their strength, dont you?"; sleep 3000; disablenpc strnpcinfo(0); mapwarp "int_land","int_land",98,63; enablenpc "Droids#2"; end; } int_land,100,67,4 script Droids#2 571,{ npctalk "Droid : if you really want to meet that crazy monster"; sleep 1000; npctalk "Droid : We will really appreciate that"; sleep 1000; npctalk "Droid : But you have to really ready for this"; sleep 1000; npctalk "Droid : He is really strong even 10 people cant kill him"; sleep 1000; npctalk "Droid : Well, ready or not!!"; sleep 1000; npctalk "Droid : good luck inside, i will keep look behind you"; sleep 1000; donpcevent "kraken1spawn::Onspawnkraken1"; mapwarp "int_land","int_land01",56,63; enablenpc "Anes"; enablenpc "Droid#1"; end; } int_land01,0,0,0 script kraken1spawn -1,{ Onspawnkraken1: monster "int_land01",0,0,"Racist Skeleton",3721,10,strnpcinfo(0)+"::Onkraken1dead"; monster "int_land01",0,0,"Racist Skeleton",3721,10,strnpcinfo(0)+"::Onkraken1dead"; monster "int_land01",0,0,"Racist Skeleton",3721,10,strnpcinfo(0)+"::Onkraken1dead"; end; Onkraken1dead: if (mobcount("int_land01","kraken1spawn::Onspawnkraken1") == 0){ enablenpc "Droid#3"; mapwarp "int_land01","int_land01",100,67; end;} else if (mobcount("int_land01","kraken1spawn::Onspawnkraken1") == 20){ announce "[ Droid] : Kill every single monster you meet... YOU HAVE TO DEFEAT THEM ALL!!",bc_map; end;} } int_land01,100,67,4 script Droid#3 571,{ sleep 1000; npctalk "Droid : Great! you have defeat them all"; sleep 1000; npctalk "Droid : from now, your enemy will be stronger than this"; sleep 1000; npctalk "Droid : Keep your spirit and conquer this island"; sleep 1000; donpcevent "kraken2spawn::Onspawnkraken2"; mapwarp "int_land01","int_land02",56,63; end; } int_land02,0,0,0 script kraken2spawn -1,{ Onspawnkraken2: monster "int_land02",0,0,"Racist Skeleton",3721,10,strnpcinfo(0)+"::Onkraken2dead"; monster "int_land02",0,0,"Hollow Seiren",3723,10,strnpcinfo(0)+"::Onkraken2dead"; monster "int_land02",0,0,"Racist Skeleton",3721,10,strnpcinfo(0)+"::Onkraken2dead"; end; Onkraken2dead: if (mobcount("int_land02","kraken2spawn::Onspawnkraken2") == 0){ donpcevent "kraken2spawn::Onkrakenboss1"; end;} else if (mobcount("int_land02","kraken2spawn::Onspawnkraken2") == 20){ announce "[ Droid] : Kill every single monster you meet... YOU HAVE TO DEFEAT THEM ALL!!",bc_map; end;} Onkrakenboss1: monster "int_land02",0,0,"Mutated Vadon",3724,1,strnpcinfo(0)+"::Onkrakenbossdead1"; end; Onkrakenbossdead1: mapwarp "int_land02","int_land02",100,67; enablenpc "Droid#4"; end; } int_land02,100,67,4 script Droid#4 571,{ sleep 1000; npctalk "Droid : Awesome.. you just kill Kraken Little Son"; sleep 1000; npctalk "Droid : Now im wont hesitated anymore"; sleep 1000; npctalk "Droid : you are closer to Kraken Now"; sleep 1000; donpcevent "kraken3spawn::Onspawnkraken3"; mapwarp "int_land02","int_land03",56,63; } int_land03,0,0,0 script kraken3spawn -1,{ Onspawnkraken3: monster "int_land02",0,0,"Racist Skeleton",3721,10,strnpcinfo(0)+"::Onkraken3dead"; monster "int_land02",0,0,"Hollow Seiren",3723,20,strnpcinfo(0)+"::Onkraken3dead"; monster "int_land02",0,0,"Racist Skeleton",3721,20,strnpcinfo(0)+"::Onkraken3dead"; end; Onkraken3dead: if (mobcount("int_land03","kraken3spawn::Onspawnkraken3") == 0){ donpcevent "kraken3spawn::Onkrakenboss2"; end;} else if (mobcount("int_land03","kraken3spawn::Onspawnkraken3") == 20){ announce "[ Droid] : Kill every single monster you meet... YOU HAVE TO DEFEAT THEM ALL!!",bc_map; end;} Onkrakenboss2: monster "int_land03",0,0,"Elder Octopus",3722,1,strnpcinfo(0)+"::Onkrakenbossdead2"; end; Onkrakenbossdead1: mapwarp "int_land03","int_land03",100,67; enablenpc "Droid#5"; end; } int_land03,100,67,4 script Droid#5 571,{ sleep 1000; npctalk "Droid : Great Job Guys!"; sleep 1000; npctalk "Droid : You will be warp closer to Kraken Temple now"; sleep 1000; npctalk "Droid : fasten your seatbelts!!"; sleep 1000; enablenpc "Droid#6"; mapwarp "int_land03","int_land04",56,63; end; } int_land04,57,71,4 script Droid#6 571,{ sleep 1000; npctalk "Droid : take a breath"; sleep 1000; npctalk "Droid : you will be warp to kraken temple in 1 minutes"; sleep 50000; npctalk "Droid : are you ready?!"; sleep 10000; npctalk "Droid : Here we go!!!!"; sleep 1000; hideonnpc strnpcinfo(0); enablenpc "krakenspawnboss"; mapwarp "int_land04","int_land04",56,63; end; } int_land04,0,0,0 script krakenspawnboss -1,{ sleep 1000; announce "[ Crazy Kraken ] : Grrr!!!!~",bc_map; sleep 2000; announce "[ Crazy Kraken ] : Who dare hurt my soldier and MY KIDS?",bc_map; sleep 2000; announce "[ Crazy Kraken ] : I dont care who you are!!! come defeat Me!!!",bc_map; Sleep 2000; donpcevent strnpcinfo(0)+"::Onkrakenboss3"; end; Onkrakenboss3: monster "int_land04",56,63,"Crazy Kraken",3725,1,strnpcinfo(0)+"::Onkrakenbossdead3"; end; Onkrakenbossdead3: mapwarp "int_land04","int_land04",100,67; enablenpc "Droid#7"; end; } int_land04,100,67,4 script Droid#7 571,{ if (getcharid(0) == getpartyleader(getcharid(1),2)) { mes "Well done team. Great Job"; mes "As you saving my home from this disaster"; mes "I will reward you 1 Hero Prize and 1 Mystical Album"; next; mes "Good luck for your journey"; close; mapwarp "int_land04","SavePoint",0,0; disablenpc "Droid#1"; disablenpc "Droids#2"; disablenpc "Droid#3"; disablenpc "Droid#4"; disablenpc "Droid#5"; disablenpc "Droid#6"; disablenpc "Droid#7"; disablenpc "krakenspawnboss"; end; } mes "Let you party leader talk to me"; close; } if someone can help me.. i will be so glad and thankful
-
Hello everyone hows your days? I need some help.. i try to make a script for dungeon with the same concept as "Endless Tower" but its really difficult for me to understand the script.. its looks like it use a complicated script if someone have a pretty good script that easier than endless tower's script and kindly shared it to me im really thankfull.. haha.. this is some thing i need is: 1. the dungeon can only enter by a party 2. the dungeon have no limit time.. ( as long as u alive inside) if u dead or your party fail to finished the dungeon u have to wait till the cooldown end. 3. when a party successfully killing the MVP (boss) or clean up the dungeon they will get some item automatically and summon a party to go home 4. the monster always spawn everytime a party enter..(even the party enter just after the others party just finished) 5. after entering and exit the dungeon the party cant enter the dungeon again till a several time ( i decided) 6. (most important) every person thats killed or log out or dc or go out of the dungeon cant enter again till the several time i decided ( even the other party member still hunting inside dungeon) if this is too difficult, i know it but if someone can help me im really thankfull Thanks
-
can i ask, how if i only need to add to upper,middle and lower headgear?? what part have i change?? thanks
-
i got same problem.. its totally not shown.. and the terrible one the effect not shown too.. just like null
-
Hello Guys, i need help for my Equip bonus status.. check this out guys. Can anybody help me?? the effect is not come out.. kindly help me guys.. thank's
-
Thanks bro..