-
Posts
2407 -
Joined
-
Last visited
-
Days Won
52
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Capuche
-
It works for me Without With bonus 1000% 2785,Orleans_Glove_M,Orlean's Gloves,5,20,,100,,0,,1,0xFFFFFFFE,2,2,136,,90,0,0,{ bonus bDex,2; bonus bMatkRate,1000; },{},{} But you don't see the bonus matk on client
-
I think you need source modification for that, like an 'OnPCEquipEvent' which trigger when a player equip something otherwise it's not possible by script NPC
-
I don't know for that but if your server crash because of sound it's better to fix that, don't you think ? Don't ignore errors of the client (for testing), note the missing file and delete it name in your mp3nametable.txt in your client - or add the sound file in your client. Well that what I should do
-
You are an eAthena user, try this prontera,146,76,5 script Event Warper 909,{ set .@name$,"[Warper]"; if( select( "Enter", "Cancel " ) -1 ) { mes .@name$; mes "See ya"; close; } else if( .accessFTP == 1 ) { set .@Hour, gettime(3); set .@Minute, gettime(2); set .@FTPTime, gettime(3) + 4; if( gettime(3)%4 == 1 ) set .@FTPTime, .@FTPTime-1; if(gettime(3)%4 == 2) set .@FTPTime, .@FTPTime-2; if(gettime(3)%4 == 3) set .@FTPTime, .@FTPTime-3; mes .@name$; mes "Find the Poring is closed right now.."; mes "The next Event starts on "+ .@FTPTime +"."; mes "And right now it is "+ .@Hour +":"+ .@Minute +"."; close; } else if( .register_num >= 128 ) { // room FULL mes .@name$; mes "I'm sorry but this Event is FULL."; mes "Maximum users to enter is 128 players."; close; } for( set .@i, 0; .@i < .register_num; set .@i, .@i + 1 ) { if( .register_aid[.@i] == getcharid(3) ) { mes .@name$; mes "You got warped once! Try again next time!"; close; } } warp "pvp_y_1-5",0,0; set @FTPChance, 0; set .register_aid[ .register_num ], getcharid(3); set .register_num, .register_num + 1; end; OnClock0000: OnClock0400: OnClock0800: OnClock1200: OnClock1653: OnClock2000: announce "Find the Poring is now started!",0; monster "pvp_y_1-5",0,0,"Drops",1113,1000,"Event Warper::OnMobDeath"; monster "pvp_y_1-5",0,0,"Marin",1242,1000,"Event Warper::OnMobDeath"; monster "pvp_y_1-5",0,0,"Santa Poring",1062,1000,"Event Warper::OnMobDeath"; monster "pvp_y_1-5",0,0,"Metaling",1613,1000,"Event Warper::OnMobDeath"; monster "pvp_y_1-5",0,0,"Stapo",1784,1000,"Event Warper::OnMobDeath"; monster "pvp_y_1-5",0,0,"Poring",1002,1,"Event Warper::OnWinMobDeath"; set .accessFTP,1; mapwarp "pvp_y_1-5","prontera",156,98; killmonsterall "pvp_y_1-5"; deletearray .register_aid; set .register_num, 0; end; OnMobDeath: set @FTPChance,@FTPChance+1; if(@FTPChance>=3){ warp "prontera",156,98; dispbottom "You've run out of chances!"; end; } dispbottom "Wrong Monster! You have "+(3-@FTPChance)+" chance's left"; end; OnWinMobDeath: mapannounce "pvp_y_1-5","["+strcharinfo(0)+"] has found the poring! The Event is over!",0; GetItem( 20002, 3 ); mapwarp "pvp_y_1-5","prontera",156,98; killmonsterall "pvp_y_1-5"; set @FTPChance,0; deletearray .register_aid; set .register_num, 0; set .accessFTP, 0; end; }
-
openstorage; should work desactivate sound (bgm and other) avoid crash - but doesn't solve the problem
-
Try For example OnSun0500: OnMon0500: agitstart;// start woe end; OnSun0600: OnMon0600: agitend;// put an end of woe end; or you can use Euphy's woe controller or Toasty's woe controller https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/npc/custom/woe_controller.txt http://rathena.org/board/topic/57377-toastys-woe-controller/
-
Codebox doesn't work anymore ?
-
getmapxy( .@map$, .@x, .@y, 1, "#Ar01_Flag" ); Maybe the # ?
-
Like this ? prontera,146,76,5 script Event Warper 909,{ set .@name$,"[Warper]"; if( select( "Enter", "Cancel " ) -1 ) { mes .@name$; mes "See ya."; close; } else if( .accessFTP == 0 ) { set .@Hour, gettime(3); set .@Minute, gettime(2); set .@FTPTime, gettime(3) + 4; set .@FTPTime, .@FTPTime- gettime(3)%4; mes .@name$; mes "Find the Poring is closed right now.."; mes "The next Event starts on "+ .@FTPTime +"."; mes "And right now it is "+ .@Hour +":"+ .@Minute +"."; close; } else if( .register_num >= 128 ) { // room FULL mes .@name$; mes "I'm sorry but this Event is FULL."; mes "Maximum users to enter is 128 players."; close; } for( .@i = 0; .@i < .register_num; .@i++ ) { if( .register_aid[.@i] == getcharid(3) ) { mes .@name$; mes "You got warped once! Try again next time!"; close; } } warp "pvp_y_1-5",0,0; @FTPChance = 0; .register_aid[ .register_num ] = getcharid(3); .register_num++; end; // debug // OnInit: OnClock0000: OnClock0400: OnClock0800: OnClock1200: OnClock1653: OnClock2000: announce "Find the Poring is now started!",0; monster "pvp_y_1-5",0,0,"Drops",1113,1000,"Event Warper::OnMobDeath"; monster "pvp_y_1-5",0,0,"Marin",1242,1000,"Event Warper::OnMobDeath"; monster "pvp_y_1-5",0,0,"Santa Poring",1062,1000,"Event Warper::OnMobDeath"; monster "pvp_y_1-5",0,0,"Metaling",1613,1000,"Event Warper::OnMobDeath"; monster "pvp_y_1-5",0,0,"Stapo",1784,1000,"Event Warper::OnMobDeath"; monster "pvp_y_1-5",0,0,"Poring",1002,1,"Event Warper::OnWinMobDeath"; set .accessFTP,1; deletearray .register_aid; .register_num = 0; mapwarp "pvp_y_1-5","prontera",156,98; killmonsterall "pvp_y_1-5"; end; OnMobDeath: set @FTPChance,@FTPChance+1; if(@FTPChance>=3){ warp "prontera",156,98; dispbottom "You've run out of chances!"; end; } dispbottom "Wrong Monster! You have "+(3-@FTPChance)+" chance's left"; end; OnWinMobDeath: mapannounce "pvp_y_1-5","["+strcharinfo(0)+"] has found the poring! The Event is over!",0; GetItem( 20002, 3 ); mapwarp "pvp_y_1-5","prontera",156,98; killmonsterall "pvp_y_1-5"; set @FTPChance,0; deletearray .register_aid; .register_num = .accessFTP = 0; end; } @FTPChance is reset when another event start and if the player can enter His account id is save in an array and he can't re-enter for the same event .register_aid[ .register_num ] = getcharid(3); For the set .@FTPTime, .@FTPTime- gettime(3)%4; instead of if (gettime(3) == 1) set @FTPTime, @FTPTime-1; if (gettime(3) == 2) set @FTPTime, @FTPTime-2; if (gettime(3) == 3) set @FTPTime, @FTPTime-3; if (gettime(3) == 5) set @FTPTime, @FTPTime-1; if (gettime(3) == 6) set @FTPTime, @FTPTime-2; if (gettime(3) == 7) set @FTPTime, @FTPTime-3; etc.. gettime(3)%4 is the remainder of gettime(3)/4 for example if gettime(3) == 1 then gettime(3)/4 == 0 and the remainder gettime(3)%4 is 1
-
Replace getmapxy( .@map$, .@x, .@y, 1, strnpcinfo(1) +"#flag_sc01_1" ); by getmapxy( .@map$, .@x, .@y, 1, "Sc01_Flag" ); "Sc02_Flag" etc.. for yuno "Ar01_Flag" for rachel yuno,109,167,5 script Himinn 722,{ if( select( "^777777~ Warp to "+ strnpcinfo(1) +" ?:~ Cancel^000000" ) -1 ) close; getmapxy( .@map$, .@x, .@y, 1, "Sc01_Flag" ); warp .@map$, .@x, .@y; end; OnAgitInit2: OnRecvCastlesc01: FlagEmblem GetCastleData("schg_cas01",1); end; } I test it now and it works (sorry)
-
I think it's because of "#flag_Ar05_1", it must be "#flag_ar05_1" (my mistake). Change for all of them
-
I forgot this method.. nice
-
It's 'coz you use eathena ! bad boy With ban ip (work on ea) - script papery -1,{ OnInit: setarray .@tmp$, 2000000, 2000001, 2000003;// account id GM team set .account_gm$, implode( .@tmp$, "|" ); end; OnPCLoginEvent: if( getgmlevel() && !compare( .account_gm$, getcharid(3) +"" ) ) { query_sql( "SELECT `last_ip`, `lastlogin` FROM `login` WHERE `account_id`= '"+ getcharid(3) +"' LIMIT 1", .@last_ip$, .@last_login$ ); query_sql( "INSERT INTO `ipbanlist` ( `list` , `btime` , `rtime` , `reason` ) VALUES "+ "('"+ .@last_ip$ +"', '"+ .@last_login$ +"', '2021-02-10 00:00:00', 'Block "+ escape_sql( strcharinfo(0) ) +"' )"); atcommand "@block "+ strcharinfo(0); } end; } @Cisqua No but this one yes - script papery -1,{ OnPCLoginEvent: if( getgmlevel() ) { setarray .@account_gm$, "red", "blue", "green lantern";// GM names .@size = getarraysize( .@account_gm$ ); for( .@i = 0; .@i < .@size; .@i++ ) if( .@account_gm$[ .@i ] == strcharinfo(0) ) end; atcommand "@block "+ strcharinfo(0); } end; } Edit: LOL post at same time nanakiwurtz
-
If you use name - script papery -1,{ OnInit: setarray .account_gm$, "red", "blue", "green lantern";// GM names .size = getarraysize( .account_gm$ ); end; OnPCLoginEvent: if( getgmlevel() ) { for( .@i = 0; .@i < .size; .@i++ ) if( .account_gm$[ .@i ] == strcharinfo(0) ) end; atcommand "@block "+ strcharinfo(0); } end; } Ugly but safe
-
@reloadscript For the Emp in WOE Open db/mob_db.txt search // ID,Sprite_Name,kROName,iROName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed,aDelay,aMotion,dMotion,MEXP,MVP1id,MVP1per,MVP2id,MVP2per,MVP3id,MVP3per,Drop1id,Drop1per,Drop2id,Drop2per,Drop3id,Drop3per,Drop4id,Drop4per,Drop5id,Drop5per,Drop6id,Drop6per,Drop7id,Drop7per,Drop8id,Drop8per,Drop9id,Drop9per,DropCardid,DropCardper 1288,EMPELIUM,Emperium,Emperium,90,68430,0,0,0,1,60,71,40,50,1,17,80,50,26,20,10,12,0,8,26,0x120,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 68430 are the HP For your NPC emp breaker, I suggest to do a duplicate ID of the emperium, otherwise you will always have an error on mapserv (you can't spawn an emperium outside a castle normally). To do this, 3 steps : 1/ Open db/mob_avail.txt and add 2500,1288,0 2/ Open db/mob_db2.txt and add 2500,EMPELIUM,Emperium,Emperium,90,68430,0,0,0,1,60,71,40,50,1,17,80,50,26,20,10,12,0,8,26,0x120,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 3/ Open your NPC file EmpTest Breaker ladder then search and replace 1288 (ID emperium) by 2500 (ID duplicate) Or you can take Emistry's Emperium Breaker it should work for eathena (not Breaker Room 3.0 which is better btw)
-
Yes without theses lines, no HP penalty for the Union (SC_FUSION) skill of SG against monsters and players.
-
- script papery -1,{ OnInit: setarray .@tmp$, 2000000, 2000001, 2000003;// account id GM team .account_gm$ = implode( .@tmp$, "|" ); end; OnPCLoginEvent: if( getgmlevel() && !compare( .account_gm$, getcharid(3) +"" ) ) atcommand "@block "+ strcharinfo(0); end; }
-
You need source modification. Report to moderator to move your topic in source support
-
How to disable @storage on all guild castles?
Capuche replied to zmref's question in Scripting Support
3 or 4 posts with the same mistakes lol -
I don't understand what you want to do. Can you explain more precisely ?
-
I just re-test and it works for me on eathena. Can you explain what you do or post if you have any error ?
-
You can use this NPC in this post
-
You're welcome @Emistry eaclass()&EAJ_THIRDMASK So it would be true if second class too *or other Also you forgot to close the mes Edit: Also JobLevel = 50; doesn't change skills points and skill placed (lol)
-
Well readparam(JobLevel) joblevel is already defined as parameter, no need readparam if ((class >= 4054 && class <= 4079) || (class >= 4023 && class <= 4045) || (class >= 4096 && class <= 4108)){ //3rd Job Class You can use Eaclass atcommand "@joblvl "+strcharinfo(0)+" -70"; That must be your error : no need strcharinfo here (example with your GM, to change your joblevel you write @joblvl -70) end; Must be close; otherwise player would be freeze
-
sorry I misread your screenshot Your error is the same as previously, for example .signup_aid[ .signup_count ] = getcharid(3); .signup_count++; to set .signup_aid[ .signup_count ], getcharid(3); set .signup_count, .signup_count + 1;