Jump to content

AnnieRuru

Members
  • Posts

    2044
  • Joined

  • Last visited

  • Days Won

    51

Everything posted by AnnieRuru

  1. yes, I mean, show this script
  2. 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
  3. use partylock mapflag to prevent players from leaving the party this is more practical
  4. 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
  5. http://rathena.org/board/topic/91826-special-party-warper/?p=241416 hope you know how to put that in yourself
  6. 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; }
  7. 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
  8. 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
  9. 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 ?
  10. 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 ?
  11. 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 ..
  12. use the one inside SVN ... // exact amount of party members needed to start the game set .register_min, 2;just change to 1
  13. 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
  14. 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
  15. 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;
  16. http://www.eathena.ws/board/index.php?s=&showtopic=239232&view=findpost&p=1305979 use the one has over 600+ downloads
  17. left side => npc:portal_event right side => start
  18. 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]
  19. 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
  20. just found a bug in this script I created a temporary bg team but did not bg_destroy it so ... [paste=5b3j7lwz9o97]
  21. http://rathena.org/board/topic/91153-npc-awards-woe/?p=239920 didn't you just asked the same question last month ?
  22. 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
  23. 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
  24. 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; }
  25. 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;
×
×
  • Create New...