-
Posts
9,746 -
Joined
-
Days Won
305
Community Answers
-
Emistry's post in MVP Card and GOD items in WOE was marked as the answer
db/item_noequip.txt
//Examples: //1201,1 you can't use KNIFE(ID 1201) on normal maps //608,4 you can't use Yggdrasil Seed(ID 608) on both GvG and WoE Castles //4174,6 Forbid Deviling Card in every PVP or GVG map, and during woes. //501,32 you can't use Red Potion on map marked as 'restricted zone 1' //502,64 you can't use Orange Potion on map marked as 'restricted zone 2' //503,128 you can't use Yellow Potion on map marked as 'restricted zone 3' // you can even mix modes //519,322 (256+64+2) you can't use Milk on PVP, and maps marked as 'restricted zone 2' and 'restricted zone 4'
add the corresppond mapflag to your map....
-
Emistry's post in request, 2010-12-28a Remove Quake/Shake Effect HEX CODE was marked as the answer
Check this Topic ??
http://rathena.org/board/topic/54313-about-shake-skill/page__hl__shake__fromsearch__1
-
Emistry's post in Login Screen was marked as the answer
When you diff...
choose which you like here...
Only First Login Background Only Second Login Background
-
Emistry's post in Base Team Warper was marked as the answer
re-copy and paste the script....i have re-edit my original posts right after 2 minutes i post it....
prontera,155,181,5 script Sample 757,{ setarray .Guild$,"Diabloz","Draco"; mes "Back to Base according to your Guild."; next; for( set [email protected],0; [email protected] < getarraysize( .Guild$ ); set [email protected],[email protected] + 1 ){ set [email protected]$,[email protected]$ + .Guild$[[email protected]] +":"; } set [email protected],select( [email protected]$ ) - 1; if( getguildname( getcharid(2) ) != .Guild$[[email protected]] ){ mes "You are not in this Guild."; close; } switch( [email protected] ){ Case 0: warp "prontera",123,45; end; Case 1: warp "payon",123,45; end; // Case 3: blablabla if there is more guild default: mes "Wrong Selection."; close; } end; }
-
Emistry's post in Instant Job Changer was marked as the answer
Check this post : Job Changer
Beside...please post in the Correct Section.....
-
Emistry's post in [Request] WOE for Trans Only was marked as the answer
WOE Trans Only
try this
- script Sample -1,{ OnPCLoadMapEvent: if( Upper > 3 && getmapflag( strcharinfo(3),"mf_gvg_castle" ) ){ mes "You are now Allow to Join Trans WOE."; close2; warp "prontera",155,181; } end; } prtg_cas01 mapflag loadevent prtg_cas02 mapflag loadevent prtg_cas03 mapflag loadevent prtg_cas04 mapflag loadevent prtg_cas05 mapflag loadevent
For Disable Item...
you can try this scripts....
Original Posts : Link
Banned Items [ Version 1 ]
Changelog :
Scripts : View ♥ Download
Well, i made this awhile ago...just dunno whether it is useful or not.... it is a "Double Edged" Script xD what i refer here was : Pros and Cons......
Pros....
The Pros is that you can disable alot items from certain maps. either you can limit how many they can bring overall of all items or disallow them from bring it into these maps...and this will apply to all maps you have listed inside the Map Lists Configuration there...
Cons.....
The Pros is that...i using a Timer Countdown...which keep checking these players who are inside that map....the Timer Countdown will keep apply the timer and check for those players until they are out from the maps...and i heard that applying massive timer script on to the server might slow down the server , so it is not suggested for those server with high popularity......
All the Items you listed inside the script ...appoximately 128 Items max.. will be assumed as Banned Items for those maps..
Once the players bring a certain limit of Banned Items into that maps...once the items amount has reach the limit...it will warp the players out from the maps. and...it count the Amount Overall......
Which mean,
if i limit the Banned Items allowed here by 10 , so players cant bring more than 10 items total of the items listed inside the scripts.
if i limit the Banned Items allowed here by 0 , so players wont be able to bring any items listed inside the scripts since you didnt allow them bring any...
For Example :
-
Emistry's post in OnPCLoginEvent: Remove Cards was marked as the answer
try this
- script Sample -1,{ OnPCLoginEvent: if( !Removed ){ for( set [email protected],0; [email protected] < 10; set [email protected],[email protected] + 1 ){ successremovecards [email protected]; } set Removed,1; dispbottom "All Card is Removed for your Equipment."; } end; }
-
Emistry's post in [REQUEST]Online GM System was marked as the answer
try this
prontera,155,181,5 script Sample 757,{ mes "There are "+.GMOnline+" GM Online now."; close; OnPCLoginEvent: for( set [email protected],0; [email protected] < getarraysize( .AccountID ); set [email protected],[email protected] + 1 ){ if( getcharid(3) == .AccountID[[email protected]] ){ set .GMOnline,.GMOnline + 1; break; } } end; OnPCLogoutEvent: for( set [email protected],0; [email protected] < getarraysize( .AccountID ); set [email protected],[email protected] + 1 ){ if( getcharid(3) == .AccountID[[email protected]] ){ set .GMOnline,.GMOnline - 1; break; } } end; OnInit: setarray .AccountID,200000,200001,200002; while( 1 ){ if( .GMOnline ) setnpcdisplay( strnpcinfo(0),871 ); else setnpcdisplay( strnpcinfo(0),872 ); sleep 1000; } end; }
Add in the GM Account ID here
setarray .AccountID,200000,200001,200002;
-
Emistry's post in [Request] Hammersmith Purified Elunium & Oridecon was marked as the answer
isnt that same as this one ??
npc/merchants/advanced_refiner.txt
-
Emistry's post in Renewal mechanics was marked as the answer
Yes....learn Source Code...and modify your Emulator Source Code
-
Emistry's post in direct refiner was marked as the answer
Yes...just like Faluk said... you have to edit the Function there...
change
571 callfunc "refinemain","Hollgrehenn",0; 575 callfunc "refinemain","Aragham",0; 579 callfunc "refinemain","Antonio",0; 583 callfunc "refinemain","Fredrik",0; 587 callfunc "refinemain","Lambert",0; 591 callfunc "refinemain","Manthasman Pruhag",0; 595 callfunc "refinemain","Fulerr",0;
into this
571 callfunc "refinemain","Hollgrehenn",1; 575 callfunc "refinemain","Aragham",1; 579 callfunc "refinemain","Antonio",1; 583 callfunc "refinemain","Fredrik",1; 587 callfunc "refinemain","Lambert",1; 591 callfunc "refinemain","Manthasman Pruhag",1; 595 callfunc "refinemain","Fulerr",1;
-
Emistry's post in Guild every 30mins announcement was marked as the answer
you cant....
either a separate announcement..or get use to it...
- script Sample -1,{ OnMinute30: set .Map$,"prtg_cas03"; announce "[ "+getguildname( getcastledata( .Map$,1 ) )+" ]",0,0x0000FF; announce "Owned the Castle of [ "+getcastlename( .Map$ )+" ].",0,0xFF0000; end; }
-
Emistry's post in Donation NPC Request was marked as the answer
try this
prontera,155,181,5 script Sample 757,{ if( getgmlevel() < 80 ){ mes "I only serve GM Staffs"; }else{ mes "Input the Player Name "; mes "Player must ^FF0000ONLINE^000000"; mes "Type ^FF0000CANCEL^000000 to cancel."; input [email protected]$; if( compare( [email protected]$,"cancel" ) || !isloggedin( getcharid( 3,[email protected]$ ) ) ) close; next; mes "What item to be Given ?"; do{ input [email protected],501,32767; if( getitemname( [email protected] ) == "" ) mes "Invalid Item ID"; }while( getitemname( [email protected] ) == "" ); mes "Input the Amount of "+getitemname( [email protected] )+" to be given."; mes "Min. 1 ~ Max. 10"; input [email protected],1,10; mes "If it is Equip...how much it should be Refined ?"; input [email protected],0,10; next; mes "Receiver : ^0000FF"[email protected]$+"^000000"; mes "Item : ^FF0000"+getitemname( [email protected] )+"^000000"; mes "Amount : ^FF0000"[email protected]+"^000000"; mes "Refine : ^FF0000"[email protected]+"^000000"; if( select("Confirm:Cancel") == 1 ){ announce "[ "[email protected]$+" ] gained "[email protected]+" x "+getitemname( [email protected] )+" from GM.",0; message [email protected]$,"You have gained "[email protected]+" x "+getitemname( [email protected] )+" from GM."; getitem2 [email protected],[email protected],1,[email protected],0,0,0,0,0,getcharid( 3,[email protected]$ ); } } close; }
-
Emistry's post in Function request was marked as the answer
try this
Function Script :
function script Sample { if( @BuffTimer < gettimetick(2)) { set @BuffTimer,gettimetick(2) + 60; disguise 1751; switch( rand(6) ){ Case 0: sc_start SC_STRFOOD,30000,10; break; Case 1: sc_start SC_AGIFOOD,30000,10; break; Case 2: sc_start SC_INTFOOD,30000,10; break; Case 3: sc_start SC_VITFOOD,30000,10; break; Case 4: sc_start SC_DEXFOOD,30000,10; break; Case 5: sc_start SC_LUKFOOD,30000,10; break; } sleep2 30000; undisguise; dispbottom "Buff has Finished for 30 Seconds. Delay of Extra 30 Seconds will be applied."; }else{ dispbottom "Delay : "+( @BuffTimer - gettimetick(2) )+" Seconds."; } end; }
Item Database Script :
Add this
callfunc("Sample");
Example :
501,Red_Potion,Red Potion,0,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc("Sample"); },{},{}
-
Emistry's post in Farm Zone GvG was marked as the answer
this ???
Original Post : Link
[ Update ] : Added a Farm Zone Script :
Description :
A map which allow users to hunt items inside it. But it have some restriction as well ...
Time Limit
Users Limit
Item Hunting Limit
etc..
Check out the "Function" part for items configuration.
and there is 2 Type of Item Lists ( You can set how many to get randomly )
Normal Monster Drops List
Boss Monster Drops List
Farm Zone [ Version 2 ]
Changelog :
Scripts : View ♥ Download
In order to make it PVP able...
add this
mapname mapflag pvp
-
Emistry's post in Requesting for item script ^^ was marked as the answer
not sure will this work exactly like what you want or not...
function script Sample { if( isequippedcnt( 4357,4359,4361,4363,4365,4367 ) > 2 ){ message strcharinfo(0),"Cant Wear More than 2 LHZ Card."; nude; } return; }
Add this in your OnEquip there..
callfunc( "Sample" );
Re-Edit : Simple and Working Function
-
Emistry's post in Guild owns Healer/Buffer was marked as the answer
try this..and edit the Buff Lists at your own...
prontera,155,181,5 script Sample 757,{ set .Guild,getcastledata( "prtg_cas01",1 ); if( getcharid(2) == .Guild ){ mes "Total Earning : "+$Earn+" Zeny."; } mes "The Heal Cost will be paid to the Winning Guild."; mes "Heal - 10k"; mes "Buff 1 - 100k"; mes "Buff 2 - 200k"; next; switch( select( "Heal", "Buff 1", "Buff 2", ( strcharinfo(0) != getguildmaster( .Guild ) )?"":"[^0000FFMaster^000000] Claim Earn" )){ Case 1: if( Zeny < 10000 ){ mes "You didnt have enough 10k Zeny."; }else{ mes "Done"; percentheal 100,100; // Heal set Zeny,Zeny - 10000; set $Earn,$Earn + 10000; } close; Case 2: if( Zeny < 100000 ){ mes "You didnt have enough 100k Zeny."; }else{ mes "Done"; percentheal 100,100; // Buff 1 set Zeny,Zeny - 100000; set $Earn,$Earn + 100000; } close; Case 3: if( Zeny < 200000 ){ mes "You didnt have enough 200k Zeny."; }else{ mes "Done"; percentheal 100,100; // Buff 2 set Zeny,Zeny - 200000; set $Earn,$Earn + 200000; } close; Case 4: mes "Total Earning : "+$Earn+" Zeny."; if( select("Claim It:Cancel") == 2 ) close; mes "How much you want to claim ?"; do{ input @Amount,0,$Earn; if( [email protected] ) close; if( ( Zeny + @Amount ) > 1000000000 ) mes "Limit Exceed..."; }while( ( Zeny + @Amount ) > 1000000000 ); mes "Gained "[email protected]+" Zeny."; set Zeny,Zeny + @Amount; set $Earn,$Earn - @Amount; close; } }
-
Emistry's post in npc_parsename: too long was marked as the answer
try change the name of NPC to shorter...
For example :
Battle Ground Shop#1 Battle Ground Shop#2
Max Name Length is just 24...you cant change to 30
-
Emistry's post in [warning] event queque is FULL,cant add EVENT was marked as the answer
/src/map/map.h
#define MAX_EVENTQUEUE 2
LOL....Lilith is faster than i...>.<
-
Emistry's post in Guild owns Gold room was marked as the answer
Try this..tested and working fine in my test server
prontera,155,181,5 script Sample 757,{ set .Guild,getcastledata( "prtg_cas01",1 ); if( getcharid(2) == .Guild ){ mes "^FF0000Current Tax : "+$Tax+" %"; mes "Total Earning : "+$Earn+" Zeny."; } mes "This Gold Room is currently owned by ^FF0000"+getguildname( .Guild )+" Guild^000000."; mes "You may hunt gold inside the room, but with a ^FF0000"+$Tax+" % Tax Rate^000000."; mes "Each kill in the Room you will gain 1 Points and each point equal to 100,000 zeny."; next; switch( select( "Hunt Gold", "Claim Zeny", ( strcharinfo(0) != getguildmaster( .Guild ) )?"":"[^0000FFMaster^000000] Claim Earn", ( strcharinfo(0) != getguildmaster( .Guild ) )?"":"[^0000FFMaster^000000] Change Tax" )){ Case 1: warp "mosk_que",0,0; end; Case 2: mes "You have "+#GoldPoint+" Points."; if( !#GoldPoint ) close; mes "How many you want to points claim ?"; input @Amount,0,#GoldPoint; if( [email protected] ) close; next; set #GoldPoint,#GoldPoint - @Amount; set [email protected],(( @Amount * 100000 ) - ( @Amount * 100000 * $Tax / 100 )); set Zeny,Zeny + [email protected]; mes "Gained ^FF0000"[email protected]+"^000000 Zeny due to Tax Rate of "+$Tax+" %"; close; Case 3: mes "Total Earning : "+$Earn+" Zeny."; if( select("Claim It:Cancel") == 2 ) close; mes "How much you want to claim ?"; do{ input @Amount,0,$Earn; if( [email protected] ) close; if( ( Zeny + @Amount ) > 1000000000 ) mes "Limit Exceed..."; }while( ( Zeny + @Amount ) > 1000000000 ); mes "Gained "[email protected]+" Zeny."; set Zeny,Zeny + @Amount; set $Earn,$Earn - @Amount; close; Case 4: mes "^FF0000Current Tax : "+$Tax+" %"; mes "Enter your New Tax Rate."; input $Tax,1,20; mes "^FF0000Updated Tax : "+$Tax+" %"; close; } OnInit: monster "mosk_que",0,0,"Gold",1002,100,strnpcinfo(0)+"::OnMobKill"; end; OnMobKill: monster "mosk_que",0,0,"Gold",1002,1,strnpcinfo(0)+"::OnMobKill"; set $Earn,$Earn + ( 100000 * $Tax / 100 ); set #GoldPoint,#GoldPoint + 1; dispbottom "Total Gold Point = "+#GoldPoint+" Points."; end; } mosk_que mapname nowarp mosk_que mapname nowarpto mosk_que mapname noSave mosk_que mapname noteleport mosk_que mapname nocommand 50
-
Emistry's post in Monster Room was marked as the answer
Well, you can try this simple one...
prontera,155,181,5 script Sample 757,{ mes "Wanna go in hunt Item ?"; if( select("Yes:No") == 2 ) close; warp "guild_vs5",0,0; end; OnInit: monster "guild_vs5",0,0,"--ja--",1002,100,strnpcinfo(0)+"::OnMobKill"; setarray .Item[0],12114,12115,12116,12117; end; OnMobKill: getitem .Item[ rand( getarraysize( .Item ) ) ],1; monster "guild_vs5",0,0,"--ja--",1002,1,strnpcinfo(0)+"::OnMobKill"; end; }
or this
Topic Link : Farm Zone
Farm Zone [ Version 2 ]
Changelog :
Scripts : View ♥ Download
-
Emistry's post in help Screipt Request pt.2 was marked as the answer
change this
into this
menu "Last Warp",lastmap,"Towns",town,"Dungeons",dungeon,"Fields",field,"Guild Dunguen",GDungeon;
then add this label at below....
GDungeon: menu "Guild Dunguen 1",gdungeon1, "Guild Dunguen 2",gdungeon2, "Guild Dunguen 3",gdungeon3, "Guild Dunguen 4",gdungeon4;
After that..add this..
edit the mapname......
gdungeon1: set lastmap$,"gdungeon1"; set lastx,190; set lasty,206; warp "gdungeon1",190,206; end; gdungeon2: set lastmap$,"gdungeon2"; set lastx,190; set lasty,206; warp "gdungeon2",190,206; end; gdungeon3: set lastmap$,"gdungeon3"; set lastx,190; set lasty,206; warp "gdungeon3",190,206; end; gdungeon4: set lastmap$,"gdungeon4"; set lastx,190; set lasty,206; warp "gdungeon4",190,206; end;
-
Emistry's post in [HELP] Script Request was marked as the answer
switch( select("Headgear:Armor:Weapon:Shield:Garment:Boots:Accessory") ){ Case 1: ...Headgear script.... Case 2: ...Armor Scripts..... Case 3: ...Weapon Scripts..... Case 4: ...Shield Scripts..... Case 5: ...Garment Scripts..... Case 6: ...Boots Scripts..... Case 7: ...Accessory Scripts..... }
-
Emistry's post in Moving Items from the floor into the Player's Inventory was marked as the answer
here ??
conf/battle/drops.conf
// If an item is dropped, does it go stright into the users inventory? (Note 1) item_auto_get: no