Jump to content

Feefty

Members
  • Posts

    175
  • Joined

  • Days Won

    1

Everything posted by Feefty

  1. the errors is gone but looks like all my OnStart event is rerunning. http://prntscr.com/l2pd1 Edited: nvm. i edited the OnStart in the script and changed to something else. Thanks! i got a new problem. the waitingroom is not showing after its finished doing an even and some of the event is not working properly like OnBlueDead and OnRedQuit etc
  2. doesn't work. im still getting the error.
  3. Hi, i'm trying to remove the manual activation by the GM but i'm getting an error chat_createnpcchat: npc 'BG Red Side#bg_emp' already has a chatroom, cannot create new one! - script bg_emp#control -1,{ OnInit: setarray .rewarditem, 31003, 1; // reward to the winning team set .winningscore, 3; // final score to win set .eventlasting, 30 * 60; // abort the system if there's no progress, 20 mins * seconds set .register_lasting, 10 * 60; // 10 minutes to joins, else abort registration, 10 mins * seconds set $requiredBGLevel, 150; // required level to enter set $requiredBGZeny, 0; set $requiredBGPlayer, 4; sleep 1; end; OnStart: if ( getwaitingroomstate( 0, .rednpcname$ ) < $requiredBGPlayer || getwaitingroomstate( 0, .bluenpcname$ ) < $requiredBGPlayer ) end; set .red, waitingroom2bg( "bat_c01", 53,128, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDead", .rednpcname$ ); copyarray .team1aid, $@arenamembers, $@arenamembersnum; set .blue, waitingroom2bg( "bat_c01", 146,55, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDead", .bluenpcname$ ); copyarray .team2aid, $@arenamembers, $@arenamembersnum; delwaitingroom .rednpcname$; delwaitingroom .bluenpcname$; disablenpc .rednpcname$; disablenpc .bluenpcname$; .inprogress = 2; awake strnpcinfo(0); bg_warp .red, "bat_c01", 53,128; bg_warp .blue, "bat_c01", 146,55; setwall "bat_c01", 145,61, 6, 2, 0, "bg_emp_town_blue1"; setwall "bat_c01", 140,56, 6, 0, 0, "bg_emp_town_blue2"; setwall "bat_c01", 59,127, 6, 4, 0, "bg_emp_town_red1"; setwall "bat_c01", 54,122, 6, 6, 0, "bg_emp_town_red2"; bg_updatescore "bat_c01", 0, 0; sleep 6000; if ( .inprogress == 0 ) goto L_Abort; mapannounce "bat_c01", "Rules are simple. The first one to break the opponent's emperium will get a score.", 0; sleep 3000; if ( .inprogress == 0 ) goto L_Abort; mapannounce "bat_c01", "Score "+ .winningscore +" rounds to win ! ... GET READY", 0; sleep 2000; if ( .inprogress == 0 ) goto L_Abort; while (1) { for ( .@i = 5; .@i > 0; .@i-- ) { mapannounce "bat_c01", .@i +"", 0; sleep 1000; if ( .inprogress == 0 ) goto L_Abort; } if ( .score[1] == .winningscore -1 && .score[2] == .winningscore -1 ) mapannounce "bat_c01", "Final Round start!", 0; else mapannounce "bat_c01", "Round "+ .round++ +" start!", 0; bg_monster .red,"bat_c01",53,128, "--ja--",1915, strnpcinfo(3)+"::OnRedDown"; bg_monster .blue,"bat_c01",146,55, "--ja--",1914, strnpcinfo(3)+"::OnBlueDown"; delwall "bg_emp_town_red1"; delwall "bg_emp_town_red2"; delwall "bg_emp_town_blue1"; delwall "bg_emp_town_blue2"; sleep .eventlasting * 1000; if ( .inprogress == 0 ) goto L_Abort; .score[ .winside ]++; bg_updatescore "bat_c01", .score[1], .score[2]; killmonster "bat_c01", strnpcinfo(3)+"::OnRedDown"; killmonster "bat_c01", strnpcinfo(3)+"::OnBlueDown"; if ( .winside ) mapannounce "bat_c01", .empkiller$ +" has Destroy "+( ( .winside == 1 )?"Blue":"Red" )+"'s side Emperium. "+( ( .winside == 1 )?"Red":"Blue" )+" team score a point !", 0; if ( .score[1] == .winningscore || .score[2] == .winningscore || !.winside ) break; sleep 5000; if ( .inprogress == 0 ) goto L_Abort; bg_warp .red, "bat_c01", 53,128; bg_warp .blue, "bat_c01", 146,55; setwall "bat_c01", 143,61, 6, 2, 0, "bg_emp_town_blue1"; setwall "bat_c01", 140,58, 6, 0, 0, "bg_emp_town_blue2"; setwall "bat_c01", 59,125, 6, 0, 0, "bg_emp_town_red1"; setwall "bat_c01", 57,122, 6, 2, 0, "bg_emp_town_red2"; .winside = 0; } if ( .winside ) { mapannounce "bat_c01", ( ( .winside == 1 )?"Red":"Blue" )+" side wins !", 0; .@size = getarraysize( getd(".team"+ .winside +"aid") ); for ( .@i = 0; .@i < .@size; .@i++ ) getitem .rewarditem[0], .rewarditem[1], getd(".team"+ .winside +"aid["+ .@i +"]" ); } else mapannounce "bat_c01", "Time Out. Aborting the match.", 0; sleep 5000; L_Abort: bg_warp .red, "heiron", 100,37; bg_warp .blue, "heiron", 100,37; bg_destroy .red; bg_destroy .blue; delwall "bg_emp_town_red1"; delwall "bg_emp_town_red2"; delwall "bg_emp_town_blue1"; delwall "bg_emp_town_blue2"; deletearray .team1aid; deletearray .team2aid; .round = .winside = .score[2] = .score[1] = .inprogress = 0; enablenpc .rednpcname$; enablenpc .bluenpcname$; end; OnRedDown: callsub L_EmpDown, 2; OnBlueDown: callsub L_EmpDown, 1; L_EmpDown: .empkiller$ = strcharinfo(0); .winside = getarg(0); awake strnpcinfo(3); OnRedDead: OnBlueDead: end; OnRedQuit: callsub L_quit, .red, "Red", "Blue", 2; OnBlueQuit: callsub L_quit, .blue, "Blue", "Red", 1; L_quit: if ( bg_get_data( getarg(0), 0 ) ) end; mapannounce "bat_c01", "All "+ getarg(1) +" team members has Quit ! "+ getarg(2) +" side wins !", 0; .@size = getarraysize( getd(".team"+ getarg(3) +"aid") ); for ( .@i = 0; .@i < .@size; .@i++ ) getitem .rewarditem[0], .rewarditem[1], getd(".team"+ getarg(3) +"aid["+ .@i +"]" ); goto L_Abort; OnAutoAbort: sleep .register_lasting * 1000; delwaitingroom .rednpcname$; delwaitingroom .bluenpcname$; disablenpc .rednpcname$; disablenpc .bluenpcname$; if ( .inprogress == 1 ) { .inprogress = 0; announce "battleground has self-aborted because not enough members", 0; } end; }[/b][/i] [i][b]- script bg_start -1,{ OnInit: bindatcmd("bgemp", "bg_start::OnAtcommand", 90, 90); donpcevent getvariableofnpc( .rednpcname$, "bg_emp#control" ) +"::OnStart"; donpcevent getvariableofnpc( .bluenpcname$, "bg_emp#control" ) +"::OnStart"; set getvariableofnpc( .inprogress, "bg_emp#control" ), 1; //donpcevent "bg_emp#control::OnAutoAbort"; end; OnAtcommand: if ( getgmlevel() < 99 ) { mes "I only talk to gm"; close; } if ( getvariableofnpc( .inprogress, "bg_emp#control" ) ) { mes "abort ?"; next; if ( select ( "Yes", "No" ) == 2 ) close; set getvariableofnpc( .inprogress, "bg_emp#control" ), 0; awake "bg_emp#control"; killmonster "bat_c01", "bg_emp#control::OnRedDown"; killmonster "bat_c01", "bg_emp#control::OnBlueDown"; announce strcharinfo(0) +" has abort the battleground", 0; close; } end; }[/b][/i] [i][b]prontera,151,181,4 script BG Red Side#bg_emp 100,{ end; OnStart: waitingroom "BG Red Side", $requiredBGPlayer+1, "bg_emp#control::OnStart", $requiredBGPlayer, $requiredBGZeny, $requiredBGLevel, $requiredBGLevel; end; OnInit: set getvariableofnpc( .rednpcname$, "bg_emp#control" ), strnpcinfo(0); end; }[/b][/i] [i][b]prontera,160,181,4 script BG Blue Side#bg_emp 100,{ end; OnStart: waitingroom "BG Blue Side", $requiredBGPlayer+1, "bg_emp#control::OnStart", $requiredBGPlayer, $requiredBGZeny, $requiredBGLevel, $requiredBGLevel; end; OnInit: set getvariableofnpc( .bluenpcname$, "bg_emp#control" ), strnpcinfo(0); end; }[/b][/i] [i][b]06guild_01,50,6,0 warp toheiron 2,2,heiron,99,35[/b][/i] [i][b]bat_c01 mapflag battleground 2 bat_c01 mapflag nosave SavePoint bat_c01 mapflag nowarp bat_c01 mapflag nowarpto bat_c01 mapflag noteleport bat_c01 mapflag nomemo bat_c01 mapflag nopenalty bat_c01 mapflag nobranch bat_c01 mapflag noicewall bat_c01 mapflag nocommand 5 Thanks.
  4. i did check the map and it's working fine but when the waiting is ready to port us im getting the crash. - script bg_emp#control -1,{ OnInit: setarray .rewarditem, 31003, 9; // reward to the winning team set .winningscore, 2; // final score to win set .eventlasting, 20 * 60; // abort the system if there's no progress, 20 mins * seconds set .register_lasting, 10 * 60; // 10 minutes to joins, else abort registration, 10 mins * seconds sleep 1; disablenpc .rednpcname$; disablenpc .bluenpcname$; disablenpc "BG Warper#bg_emp"; end; OnStart: if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start ) end; set .red, waitingroom2bg( "bat_c01", 53,128, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDead", .rednpcname$ ); copyarray .team1aid, $@arenamembers, $@arenamembersnum; set .blue, waitingroom2bg( "bat_c01", 146,55, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDead", .bluenpcname$ ); copyarray .team2aid, $@arenamembers, $@arenamembersnum; .inprogress = 2; awake strnpcinfo(0); bg_warp .red, "bat_c01", 53,128; bg_warp .blue, "bat_c01", 146,55; setwall "bat_c01", 145,61, 5, 2, 0, "bg_emp_town_blue1"; setwall "bat_c01", 140,56, 5, 0, 0, "bg_emp_town_blue2"; setwall "bat_c01", 59,127, 5, 4, 0, "bg_emp_town_red1"; setwall "bat_c01", 54,122, 5, 6, 0, "bg_emp_town_red2"; bg_updatescore "bat_c01", 0, 0; sleep 6000; if ( .inprogress == 0 ) goto L_Abort; mapannounce "bat_c01", "Rules are simple. The first one to break the opponent's emperium will get a score.", 0; sleep 3000; if ( .inprogress == 0 ) goto L_Abort; mapannounce "bat_c01", "Score "+ .winningscore +" rounds to win ! ... GET READY", 0; sleep 2000; if ( .inprogress == 0 ) goto L_Abort; while (1) { for ( .@i = 5; .@i > 0; .@i-- ) { mapannounce "bat_c01", .@i +"", 0; sleep 1000; if ( .inprogress == 0 ) goto L_Abort; } if ( .score[1] == .winningscore -1 && .score[2] == .winningscore -1 ) mapannounce "bat_c01", "Final Round start!", 0; else mapannounce "bat_c01", "Round "+ .round++ +" start!", 0; bg_monster .red,"bat_c01",53,128, "--ja--",1915, strnpcinfo(3)+"::OnRedDown"; bg_monster .blue,"bat_c01",146,55, "--ja--",1914, strnpcinfo(3)+"::OnBlueDown"; delwall "bg_emp_town_red1"; delwall "bg_emp_town_red2"; delwall "bg_emp_town_blue1"; delwall "bg_emp_town_blue2"; sleep .eventlasting * 1000; if ( .inprogress == 0 ) goto L_Abort; .score[ .winside ]++; bg_updatescore "bat_c01", .score[1], .score[2]; killmonster "bat_c01", strnpcinfo(3)+"::OnRedDown"; killmonster "bat_c01", strnpcinfo(3)+"::OnBlueDown"; if ( .winside ) mapannounce "bat_c01", .empkiller$ +" has Destroy "+( ( .winside == 1 )?"Blue":"Red" )+"'s side Emperium. "+( ( .winside == 1 )?"Red":"Blue" )+" team score a point !", 0; if ( .score[1] == .winningscore || .score[2] == .winningscore || !.winside ) break; sleep 5000; if ( .inprogress == 0 ) goto L_Abort; bg_warp .red, "bat_c01", 53,128; bg_warp .blue, "bat_c01", 146,55; setwall "bat_c01", 143,61, 5, 2, 0, "bg_emp_town_blue1"; setwall "bat_c01", 140,58, 5, 0, 0, "bg_emp_town_blue2"; setwall "bat_c01", 59,125, 5, 0, 0, "bg_emp_town_red1"; setwall "bat_c01", 57,122, 5, 2, 0, "bg_emp_town_red2"; .winside = 0; } if ( .winside ) { mapannounce "bat_c01", ( ( .winside == 1 )?"Red":"Blue" )+" side wins !", 0; .@size = getarraysize( getd(".team"+ .winside +"aid") ); for ( .@i = 0; .@i < .@size; .@i++ ) getitem .rewarditem[0], .rewarditem[1], getd(".team"+ .winside +"aid["+ .@i +"]" ); } else mapannounce "bat_c01", "Time Out. Aborting the match.", 0; sleep 5000; L_Abort: bg_warp .red, "heiron", 100,37; bg_warp .blue, "heiron", 100,37; bg_destroy .red; bg_destroy .blue; delwall "bg_emp_town_red1"; delwall "bg_emp_town_red2"; delwall "bg_emp_town_blue1"; delwall "bg_emp_town_blue2"; deletearray .team1aid; deletearray .team2aid; .round = .winside = .score[2] = .score[1] = .inprogress = 0; end; OnRedDown: callsub L_EmpDown, 2; OnBlueDown: callsub L_EmpDown, 1; L_EmpDown: .empkiller$ = strcharinfo(0); .winside = getarg(0); awake strnpcinfo(3); OnRedDead: OnBlueDead: end; OnRedQuit: callsub L_quit, .red, "Red", "Blue", 2; OnBlueQuit: callsub L_quit, .blue, "Blue", "Red", 1; L_quit: if ( bg_get_data( getarg(0), 0 ) ) end; mapannounce "bat_c01", "All "+ getarg(1) +" team members has Quit ! "+ getarg(2) +" side wins !", 0; .@size = getarraysize( getd(".team"+ getarg(3) +"aid") ); for ( .@i = 0; .@i < .@size; .@i++ ) getitem .rewarditem[0], .rewarditem[1], getd(".team"+ getarg(3) +"aid["+ .@i +"]" ); goto L_Abort; OnAutoAbort: sleep .register_lasting * 1000; delwaitingroom .rednpcname$; delwaitingroom .bluenpcname$; disablenpc .rednpcname$; disablenpc .bluenpcname$; disablenpc "BG Warper#bg_emp"; if ( .inprogress == 1 ) { .inprogress = 0; announce "battleground has self-aborted because not enough members", 0; } end; } - script bg_start -1,{ OnInit: bindatcmd("bgemp", "bg_start::OnAtcommand", 90, 90); end; OnAtcommand: if ( getgmlevel() < 99 ) { mes "I only talk to gm"; close; } if ( getvariableofnpc( .inprogress, "bg_emp#control" ) ) { mes "abort ?"; next; if ( select ( "Yes", "No" ) == 2 ) close; set getvariableofnpc( .inprogress, "bg_emp#control" ), 0; awake "bg_emp#control"; killmonster "bat_c01", "bg_emp#control::OnRedDown"; killmonster "bat_c01", "bg_emp#control::OnBlueDown"; announce strcharinfo(0) +" has abort the battleground", 0; close; } mes "select how many players to start"; next; if ( input( .@a, 1, 30 ) ) close; set getvariableofnpc( .minplayer2start, "bg_emp#control" ), .@a; announce strcharinfo(0) +" has hosted "+ .@a +" vs "+ .@a +" Battle Ground.", 0; enablenpc getvariableofnpc( .rednpcname$, "bg_emp#control" ); enablenpc getvariableofnpc( .bluenpcname$, "bg_emp#control" ); enablenpc "BG Warper#bg_emp"; donpcevent getvariableofnpc( .rednpcname$, "bg_emp#control" ) +"::OnStart"; donpcevent getvariableofnpc( .bluenpcname$, "bg_emp#control" ) +"::OnStart"; set getvariableofnpc( .inprogress, "bg_emp#control" ), 1; donpcevent "bg_emp#control::OnAutoAbort"; close; end; } 06guild_01,45,54,5 script Red Side#bg_emp 100,{ end; OnStart:waitingroom "Red side", getvariableofnpc( .minplayer2start, "bg_emp#control" ) +1, "bg_emp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_emp#control" ); end; OnInit: set getvariableofnpc( .rednpcname$, "bg_emp#control" ), strnpcinfo(0); end; } 06guild_01,54,54,5 script Blue Side#bg_emp 100,{ end; OnStart: waitingroom "Blue side", getvariableofnpc( .minplayer2start, "bg_emp#control" ) +1, "bg_emp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_emp#control" ); end; OnInit: set getvariableofnpc( .bluenpcname$, "bg_emp#control" ), strnpcinfo(0); end; } heiron,99,35,4 script BG Warper#bg_emp 827,{ set .name$, "^ff0000[bG Warper]^000000"; mes .name$; mes "Do you want to go in BG Waiting Room?"; next; menu "Yes", L_Yes, "No", L_No; L_Yes: mes .name$; if (BaseLevel < 150) { mes "You need to be level 150 to get in the BG Waiting Room"; close; } mes "Good luck and have fun."; warp "06guild_01",50,50; end; L_No: close; end; } 06guild_01,50,6,0 warp toheiron 2,2,heiron,99,35 bat_c01 mapflag battleground 2 bat_c01 mapflag nosave SavePoint bat_c01 mapflag nowarp bat_c01 mapflag nowarpto bat_c01 mapflag noteleport bat_c01 mapflag nomemo bat_c01 mapflag nopenalty bat_c01 mapflag nobranch bat_c01 mapflag noicewall bat_c01 mapflag nocommand 10 06guild_01 mapflag pvp off 06guild_01 mapflag gvg off 06guild_01 mapflag nobranch 06guild_01 mapflag noicewall 06guild_01 mapflag nomemo 06guild_01 mapflag nowarp 06guild_01 mapflag nowarpto 06guild_01 mapflag noteleport 06guild_01 mapflag nosave SavePoint
  5. i also think about that. thanks. is it possible to make this an instance? Edited: my client is crashing after moving the npc to different location.
  6. how can you make only level 150 can enter the pub?
  7. great, ill try this one Thanks Edited: there's no Rename button but there's an Add-Ons. im using 2012-04-10 up
  8. how does the client's built-in rename button works?
  9. i can't find the elevator in doha's secret orders Part 3 http://irowiki.org/wiki/Doha's_Secret_Orders
  10. which table should i update to successfully change a character name? i tried changing the name row in char table and in guild member. but it's still buggy the name in guild is not updating. Thanks.
  11. http://rathena.org/wiki/Multiple_Servers
  12. The links are working fine now its working. =D Edit: How to make this work in pRO: Valkyrie? i'm stuck in awaiting for the client. Thanks.
  13. Hi, im trying to add a custom job for only item suit. but im getting an error compiling my rathena 1>c:\svn16928\src\map\itemdb.c(273): warning C4293: '<<' : shift count negative or too big, undefined behavior 1>c:\svn16928\src\map\itemdb.c(275): warning C4293: '<<' : shift count negative or too big, undefined behavior 1>c:\svn16928\src\map\itemdb.c(277): warning C4293: '<<' : shift count negative or too big, undefined behavior if (jobmask & 1<<29) //Kagerou / Oboro bclass[1] |= 1<<MAPID_NINJA; if (jobmask & 1<<35) // Gondaime bclass[0] |= 1<<MAPID_GONDAIME; if (jobmask & 1<<36) bclass[0] |= 1<<MAPID_YONDAIME; if (jobmask & 1<<37) bclass[0] |= 1<<MAPID_AKATSUKI; im following this guide http://rathena.org/wiki/Custom_Jobs Thanks.
  14. Feefty

    getequipid

    what i mean is "Costume" that only change the appearance of a player when the headgear is equipped and no stats will be given. Costume Upper Head -> 1024
  15. is it possible to get the item id of costume item currently equipped on a player? ex. Costume Upper Head -> 1024 Thanks.
  16. i tried using chunkspy 5.0.2 and this is what i get. ChunkSpy jobname.lub > jobname.lua Pos Hex Data Description or Code ------------------------------------------------------------------------ 000000 ** source chunk: jobname.lub ** global header start ** 000000 1B4C7561 header signature: "\27Lua" ChunkSpy: A Lua 5.0.2 binary chunk disassembler Version 0.9.7 (20050605) Copyright (c) 2004-2005 Kein-Hong Man The COPYRIGHT file describes the conditions under which this software may be distributed (basically a Lua 5-style license.) * Run with option -h or --help for usage information ChunkSpy:1101: ChunkSpy cannot read version 51 chunks i already tried that video on youtube and used google. Thanks.
  17. how do you make a player force into a party?
  18. can't view the svn An error occurred while processing your request. Reference #97.174d32d0.1353209961.3d8acd6
  19. wow, thanks. nvm. i found something in database.
  20. how do you make a player party with other player and disband it?
  21. Feefty

    unset array

    Thanks. Edit: How do you remove a single element? i tried deletearray .array[1], 1; // didnt work
  22. how do you destroy or unset an array? Thanks.
  23. Feefty

    MD5 password

    thanks, ill try this.
×
×
  • Create New...