-
Posts
2044 -
Joined
-
Last visited
-
Days Won
51
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by AnnieRuru
-
yes, I mean, show this script
-
partylock already prevent the players from leaving the party but for logout, well, just very simple script - script kjdhfkjshfs -1,{ OnPCLogoutEvent: if ( strcharinfo(3) != "guild_vs2" ) end; if ( !getcharid(1) ) end; // some gm will bypass nowarpto mapflag ... getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { attachrid $@partymemberaid[.@i]; if ( strcharinfo(3) == "guild_vs2" ) warp "Save", 0,0; } } // warpparty "SavePoint", 0,0, getcharid(1), "guild_vs2"; // EDIT: forgot warpparty doesn't work on noreturn mapflag end; } guild_vs2 mapflag partylock
-
use partylock mapflag to prevent players from leaving the party this is more practical
-
you need to show that script otherwise there is no way we can understand what is buffer bots though, I already got a feeling this script needs query_sql
-
http://rathena.org/board/topic/91826-special-party-warper/?p=241416 hope you know how to put that in yourself
-
partyrecall and function doesn't close the window
AnnieRuru replied to Kido's question in Scripting Support
that's because inside the *callfunc made by Capuche, he uses attachrid and he didn't attachrid back to the original RID prontera,156,188,4 script Call Allies 100,{ mes "I can recall your party for 5,000,000z"; if ( select( "Ok do it", "No thx..." ) == 2 ) { mes "As you wish.."; close; } if ( !getcharid(1) ) { // you need this check as well mes "You don't even have a party ..."; close; } if ( Zeny < 5000000 ) { mes "You don't have enough zeny..."; close; } mes "All right, good luck !"; next; Zeny = Zeny - 5000000; .@origin = getcharid(3); // <-- save the original RID getmapxy .@map$, .@x, .@y, 0; getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { attachrid $@partymemberaid[.@i]; if ( Hp > 0 && getcharid(3) != .@origin && !getmapflag( strcharinfo(3), mf_nowarp ) ) // need another check to prevent players warp outside from events warp .@map$, .@x, .@y; } } attachrid .@origin; // attach back to original RID mes "Your party member has gather around you !"; close; } -
prontera,156,191,5 script kjdhfkjsf 100,{ setoption Option_Xmas, 1; dispbottom "1"; sleep2 5000; setoption Option_Xmas, 0; dispbottom "0"; }tricksuse Option_Xmas or Option_Summer to forbid that player from attack or use skills EDIT: opss~~ still can use item consumption though
-
well, @fakename <something> will auto-reject party/guild invitations @fakename will turn back into your original name I saw the original script already did that so ... players can always turn back into their name whenever they wish
-
I think I'll just rewrite this script but 1st, 1. how about rewrite this and turn this into instance system ? so there is no more 1 party at a time, but multiple instances 2. confirmed that you are using latest rathena revision and having instance_db.txt inside your db\re\ folder ?
-
it is @karazu ask me to view this topic from hercules forum otherwise I don't really care much about this forum unless someone from hercules ask me to =/ why everyone always think about me when nobody else can script @Skorm, @Capuche and @Missingno also can script very well, next time ask them as they are rathena scripting leaders screw that script, use mine [paste=5oruqcujcc6h] it hurt my eyes to see so many query_sql in the script, I rather rewrite this from scratch using string manipulations @Elektrochemiestry yeah ... it also means, you can get a title and go to war without fearing anyone invite you into party because it helps you auto-reject what do you mean by this ... this is a UNLOCK a title, right ? why do you want to steal the player's effort away after they have already unlock the title ?
-
OnMvpDead: .round++; if ( .round >= 2 && .round != .totalround +1 ) { for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { attachrid $@partymemberaid[.@i]; if ( strcharinfo(3) == .eventmap$ ) { // getitem .round_item_id, .round_item_amount; Zeny = Zeny + .round * 10000; } } } } edit the script as you wish ..
-
use the one inside SVN ... // exact amount of party members needed to start the game set .register_min, 2;just change to 1
-
that script is too old to even use it use the one inside SVN https://github.com/rathena/rathena/blob/master/npc/custom/events/mvp_ladder.txt
-
you need a controller npc to do this kind of operation - script main -1,{ OnStart: if ( getwaitingroomstate( 0, "left" ) < 1 || getwaitingroomstate( 0, "right" ) < 1 ) end; announce "blahblah start !", bc_all; donpcevent "left::OnStart"; donpcevent "right::OnStart"; delwaitingroom "left"; delwaitingroom "right"; disablenpc "left"; disablenpc "right"; end; } prontera,157,187,5 script left 100,{ end; OnInit: waitingroom strnpcinfo(0), 2, "main::OnStart", 1; end; OnStart: warpwaitingpc "guild_vs2", 9, 50; end; } prontera,160,187,5 script right 100,{ end; OnInit: waitingroom strnpcinfo(0), 2, "main::OnStart", 1; end; OnStart: warpwaitingpc "guild_vs2", 90, 50; end; }if you are talking about battleground, there's one inside SVNhttps://github.com/rathena/rathena/blob/master/npc/custom/battleground/bg_pvp.txt
-
source modification http://rathena.org/board/topic/72571-battleground-system-without-waitingroom/ shuffle algorithm function script rand__ { .@range = getarg(0); .@count = getarg(2, 0); if ( !.@count || .@count > .@range ) .@count = .@range; else if ( .@count > 128 ) .@count = 128; while ( .@i < .@count ) { .@r = .@save = rand( .@i, .@range -1 ) ; if ( !getd( ".@tmp1_"+ .@i ) ) { .@r = ( getd(".@tmp1_"+ .@r ) )? getd( ".@tmp2_"+ .@r ) : .@r; setd ".@tmp2_"+ .@i, .@r; setd ".@tmp2_"+ .@save , .@i; setd ".@tmp1_"+ .@save , 1; set getelementofarray( getarg(1), .@i ), .@r; if ( .@save < .@count ) set getelementofarray( getarg(1), .@save ), .@i; } .@i++; } return .@count; }and the scripthttp://rathena.org/board/pastebin/7a7lip0krpeq/ though next time, better PM me on hercules forum because I seldom visit this forum already EDIT: please change line 77 callfunc "rand__", .minplayer2start, $@rand;intocallfunc "rand__", $@arenamembersnum, $@rand;
-
http://www.eathena.ws/board/index.php?s=&showtopic=239232&view=findpost&p=1305979 use the one has over 600+ downloads
-
left side => npc:portal_event right side => start
-
there are a few points that you didn't explain properly, or maybe I couldn't understand you anyways here an example db\re\instance_db.txt 12,Party Warp,86400,guild_vs2,49,49,guild_vs2[paste=4vxuxz55txw]
-
spotted ! you are not using rAthena rathena has Option_Invisible https://github.com/rathena/rathena/blob/master/db/const.txt#L311 hercules doesn't has https://github.com/HerculesWS/Hercules/blob/master/db/const.txt#L301 actually just copy these constants into your const.txt file and it should work
-
just found a bug in this script I created a temporary bg team but did not bg_destroy it so ... [paste=5b3j7lwz9o97]
-
http://rathena.org/board/topic/91153-npc-awards-woe/?p=239920 didn't you just asked the same question last month ?
-
use query_sql if the player is offline http://www.eathena.ws/board/index.php?s=&showtopic=191107&view=findpost&p=1050527 but if you want a notification for online player actually somebody has already written *sendmail before http://rathena.org/board/topic/74969-send-mail-via-scriptcommand/ but that script command operation also not quite safe ... so I also want to write hahaha EDIT: use attachments sendmail_20140217.diff tested with [paste=5dtzwyhu0qnr] I also tested there is no need the mail box full error if using query_sql or this *sendmail script command to send a mail, can always bypass the 30 max inbox limit
-
prontera,157,183,4 script kjsdhfkjsdf 100,{ if ( select( "Enter as Spectator", "Enter as candidates" ) == 1 ) setoption Option_Invisible | Option_Xmas, 1; warp "guild_vs2", 0,0; end; OnPCLogoutEvent: if ( strcharinfo(3) == "guild_vs2" ) setoption Option_Invisible | Option_Xmas, 0; end; } guild_vs2 mapflag pvp guild_vs2 mapflag pvp_noguild guild_vs2 mapflag nowarpto guild_vs2 mapflag nowarp guild_vs2 mapflag noteleport guild_vs2 mapflag nomemo guild_vs2 mapflag nosave SavePointforce the user quit the map by logging outthen when they log out, execute OnPCLogoutEvent to remove the hide
-
lol you both ... - script kjdfkjsdf -1,{ OnPCDieEvent: if ( strcharinfo(3) != "arena" || getgroupid() > 3 ) end; if ( killerrid ) announce rid2name( killerrid )+" wins against "+ strcharinfo(0), bc_all; // sure .. you need to warp player out even if he suicide warp "prontera",155,180; end; }
-
agit_controller.txt S_DisplayOwners: setarray .@maps$[0],"aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05"; setarray .@maps$[5],"gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05"; setarray .@maps$[10],"payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05"; setarray .@maps$[15],"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05"; for( set .@i, 0; .@i <= 19; set .@i, .@i+1 ) { .@gid = getcastledata( .@map$[.@i], 1 ); if ( .@gid ) { announce "The [" + getcastlename(.@maps$[.@i]) + "] castle has been conquered by the [" + getguildname( .@gid ) + "] guild.",bc_all|bc_woe; getguildmember .@gid, 1; getguildmember .@gid, 2; for ( .@j = 0; .@j < $@guildmembercount; .@j++ ) if ( isloggedin( $@guildmemberaid[.@i], $@guildmembercid[.@i] ) ) getitem 501, 1, $@guildmemberaid[.@i]; } else announce "The [" + getcastlename(.@maps$[.@i]) + "] castle is currently unoccupied.",bc_all|bc_woe; } end;