-
Posts
128 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Kirito
-
-
conf\battle\client.conf
// Show rAthena version to users when the login? display_version: no
-
try www.ratemyserver.net diyan aq lage natingin..
-
Nice! Thank you for the release! poring_c01 good map for poring catcher event.
-
-
Wow! Amazing!! I really like the effects and destruction..
-
- Changed Shadow Chaser skills: 'Maelstrom' and 'Chaos Panic' to no longer be usable near portals.
Ohhh!! I like this one..
-
-
try to check again your clientinfo.xml kung tama ung account id?
-
Private Dead Branch Room I think like Private MVP Room?
If someone player choose room 1 and go in that room no one now can enter but if you have a party or guild you must invite their in your party/guild so they can enter too?
-
Hello everyone can i request about in mission boards.
http://rathena.org/board/index.php/topic/60434-mission-boards/
can anyone add repeatablity settings?? Thanks!
"I dont know if this doable because I think Derceto is busy right know? I think?"
-
try in your clientinfo.xml?
<yellow>
accountid
</yellow>
di q sure kung gagana pero try mo lang. hehe di q pa kase tintry yung ganyan.hehe
-
Very amazing..
-
gnomeo,
Try this?
//===== eAthena Script ======================================================= //= Dota Allstars announcement ( TXT & SQL ) //===== By: ================================================================== //= ~AnnieRuru~ //===== Current Version: ===================================================== //= 1.11 //===== Compatible With: ===================================================== //= eAthena 14279 Trunk //===== Topic: =============================================================== //= http://www.eathena.ws/board/index.php?showtopic=237765 //===== Description: ========================================================= //= Dota Announcement script //= plus anti-sit-killer feature //============================================================================ - script DOTAPVP -1,{ OnInit: // Config 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, 0; // make announce to : 0 - global, 1 - map set .announcemap, 0; // 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, 1; // show message you kill who when killed someone : 0 - off, 1- on set .gmnokill, 1; // GMs are not suppose to kill players. A GM with <this numbe 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 numbe 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 numbe 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_vs2-2", "prtg_cas01", "prtg_cas02", "prtg_cas03", "prtg_cas04", "payg_cas01", "payg_cas02", "payg_cas03", "payg_cas04", "gefg_cas01", "gefg_cas02", "gefg_cas03", "gefg_cas04", "aldeg_cas01", "aldeg_cas02", "aldeg_cas03", "aldeg_cas04", "pvp_y_7-2", "guild_vs1", "guild_vs2", "guild_vs3", "guild_vs4", "guild_vs5"; // anti-sit-killer system // a player must kill another player with this minimum <this numbe 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 numbe 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, 3; // 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 start OnPCKillEvent: if ( getgmlevel() >= .gmnokill ) end; getmapxy .@map$, .@x, .@y, 0; if ( .maptrigger$ != "all" ) { for ( set .@i, 0; .@i < .maptriggersize; set .@i, .@i +1 ) { if ( .@map$ == .maptrigger$[.@i] ) break; } if ( .@i == .maptriggersize ) end; } 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$):""),0|.announce; else if ( @PlayersKilledStreak >= .killingspree ) announce rid2name(killerrid) +" has ended "+ strcharinfo(0) +"'s "+ .@streakname$ +"["+ @PlayersKilledStreak +"] streak "+( (.announcemap)?("at "+ .@map$):""),0|.announce; else if ( .announcekill && killerrid != getcharid(3) ) announce rid2name(killerrid) +" has pawned "+ strcharinfo(0) +"'s head "+( (.announcemap)?("at "+ .@map$):""),0|.announce; set @PlayersKilledStreak,0; set @dota_multikills,0; if ( .ownage && getcharid(.ownage) ) { setd ".dotaown_"+ getcharid(.ownage), 0; set .@killedgroup, getcharid(.ownage); } if ( killerrid == getcharid(3) || baselevel < .lvltokill ) end; if ( .minlvlrange ) set .@killedlvl, baselevel; attachrid killerrid; if ( .minlvlrange && .@killedlvl + .minlvlrange < baselevel ) end; if ( .counttopunish ) { if ( @sitkillminute != gettime(2) ) { deletearray @sitkillid, 128; deletearray @sitkilltimes, 128; set @sitkillminute, gettime(2); } set .@sitkillsize, getarraysize(@sitkillid); for ( set .@i,0; .@i < .@sitkillsize; set .@i, .@i +1 ) { if ( @sitkillid[.@i] != killedrid ) continue; else { set @sitkilltimes[.@i], @sitkilltimes[.@i] +1 ; if ( @sitkilltimes[.@i] >= .counttopunish ) { warp "SavePoint",0,0; announce strcharinfo(0) +" , Stop killing "+ rid2name(killedrid) + " !!!",0; debugmes strcharinfo(0) +" is sit-killing "+ rid2name(killedrid) +" for "+ @sitkilltimes[.@i] + " times"; logmes "is sit-killing "+ rid2name(killedrid) +" for "+ @sitkilltimes[.@i] +" times"; set @PlayersKilledStreak, @PlayersKilledStreak +1 - .counttopunish; set PlayersKilled, PlayersKilled +1 - .counttopunish; if ( .ownage && getcharid(.ownage) ) setd ".dotaown_"+ getcharid(.ownage), getd(".dotaown_"+ getcharid(.ownage) ) +1 - .counttopunish; end; } break; } } if ( .@i == .@sitkillsize ) { set @sitkillid[.@i], killedrid; set @sitkilltimes[.@i], 1; } } 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],0|.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) +"] !!!",0; else announce "The "+( (.ownage == 1)?"party":"guild" )+" ["+( (.ownage == 1)?getpartyname(.@sideid):getguildname(.@sideid) )+"] is OWNING["+ getd(".dotaown_"+ .@sideid) +"] !!!",0; 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 !",0; else announce strcharinfo(0) +" just got a Double Kill !",0; 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 !!!",0; else announce strcharinfo(0) +" just got a Triple Kill !!!",0; 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 !!!",0; else announce strcharinfo(0) +" just got a Ultra Kill !!!",0; 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 !!!",0; else announce strcharinfo(0) +" is on a Rampage !!!",0; 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; }
-
Very nice! Thanks for sharing. 2 script I already use came from you.
-
I try to make a RagexeRE Client that read grf and then when I'm trying to open the client (2010-07-30aRagexeRE) and I'm using 3ceam r677 and then it's always show Lua FilesChatWndInfoChatWndInfo_F [string "buf"]:10: attempt to call global 'Iter_getTable' (a nil value). Is there any problem with my Lua Files?
bump? When I try to use that exe in miruku it's work but for my friend still having a same problem? help pls?
-
Welcome to rAthena Pancake!
yum yum! pancake
-
Hello! Welcome to rAthena!
-
Welcome to rAthena AuRon
-
Welcome to rAthena..
-
Eto try mo yung script ni emistry. yan ung gngamit q na item restriction sa ibat ibang map.
http://pastebin.com/raw.php?i=tG483Rsz
- script Limited Items -1,{ function LimitItems; function CheckItems; OnInit: // GM Level to Bypass set .GMLevel,80; // Check Every X Seconds set .Seconds,5; // Apply on Which Maps and what Zone No. setarray .DisableMap$, // "<mapname>","<zone numbe", "guild_vs1","0", "guild_vs2","1", "guild_vs3","2", "guild_vs4","3", "guild_vs5","4"; for( set .i,0; .i < getarraysize( .DisableMap$ ); set .i,.i + 2 ) setmapflag .DisableMap$[.i],mf_loadevent; end; OnPCLoadMapEvent: if( getgmlevel() >= .GMLevel ) end; set @Exceed,0; for( set .@i,0; .@i < getarraysize( .DisableMap$ ); set .@i,.@i + 2 ) if( strcharinfo(3) == .DisableMap$[.@i] ) LimitItems( atoi( .DisableMap$[.@i+1] ) ); end; function LimitItems { switch( getarg(0) ){ // Case <zone>: CheckItems( <Item>,<Amount>,<Item>,<Amount>,.....,<Item>,<Amount> ); break; Case 0: CheckItems( 607,1 ); break; Case 1: CheckItems( 607,5,608,1 ); break; Case 2: CheckItems( 607,2,608,3,4002,1 ); break; Case 3: CheckItems( 607,5,608,1,4002,1,5022,1 ); break; Case 4: CheckItems( 607,1,608,15,5022,2,7227,10 ); break; default: debugmes "[NPC : "+strnpcinfo(0)+"] - Invalid Zone:"+getarg(0); break; } return; } function CheckItems { for( set .@i,0; getarg( .@i,0 ); set .@i,.@i + 2 ){ set .@Limit,0; for( set .@eq,0; .@eq <= 10; set .@eq,.@eq + 1 ) for( set .@slot,0; .@slot <= getequipcardcnt( .@eq ); set .@slot,.@slot + 1 ) if( getequipcardid( .@eq,.@slot ) == getarg(.@i) ) set .@Limit,.@Limit + 1; set .@Limit,.@Limit + countitem( getarg(.@i) ); if( .@Limit > getarg(.@i+1) ){ set @Exceed,1; mes "[ ^FF0000Limit : ^0000FF"+getarg(.@i+1)+"^000000 ] "+getitemname( getarg(.@i) ); } } if( @Exceed ){ mes "Please ensure all the Items above didnt reach the Limit as stated above."; close2; warp "SavePoint",0,0; deltimer strnpcinfo(0)+"::OnPCLoadMapEvent"; }else{ addtimer ( .Seconds * 1000 ),strnpcinfo(0)+"::OnPCLoadMapEvent"; end; } return; } }
-
(10/10) Yeah! I'm using that on my server. I'll be waiting for more further release!
-
this?
20000,Alchemist_Suit,Alchemist Suit,5,89000,,500,,4,,1,0xFFFFFFFE,7,2,136,,10,1,0,{ changebase 18; },{},{ changebase Class; }
-
Try to check the format of your idnum2itemdesctable,idnum2itemdisplaynametable,idnum2itemresnametable?
-
NPC:NPC Auction System
in Sprites & Pallette Downloads
Posted
Nice!