Jump to content

Mabuhay

Members
  • Posts

    446
  • Joined

  • Last visited

  • Days Won

    34

Everything posted by Mabuhay

  1. Can i have a script for a 3v3v3v3 party. yes, 3v3v3v3 lol. What i mean is that it will need 4 parties of 3 members to enable the event. The winning team will receive a reward. In-game mechanics, everyone has a resurrection limit of 3 times only. if you die, you will be respawned after 10 secs back in the game. after the 3rd resurrection, you will be out of the game and so with the members. The last team standing will be declared as the winner.
  2. Mabuhay

    Auto party.

    Thanks goddameit, i will try to use this
  3. So, im using annie's woe battleground script. i found it in a post long time ago. anyways, is there a way that when players are warped, they will be automatically be organized in a party in each sides?
  4. - script dkfjhskdfjh -1,{ OnInit: .id[0] = bg_monster( 0,"prontera",150,175,"--ja--",1002, strnpcinfo(0)+"::On0die" ); .id[1] = bg_monster( 0,"prontera",160,175,"--ja--",1002, strnpcinfo(0)+"::On1die" ); unitattack .id[0], .id[1]; unitattack .id[1], .id[0]; end; On0die: callsub L_kill, 1; On1die: callsub L_kill, 0; L_kill: unittalk .id[ getarg(0) ], "I win !!"; sleep 2000; unitkill .id[ getarg(0) ]; // hahaha end; } if you use unitkill script command, yeah, even a non-aggressive monster will attack others - script dkfjhskdfjh2 -1,{ OnInit: .emp = bg_monster( 0,"prontera",155,175,"--ja--",1288, strnpcinfo(0)+"::OnEmpDown" ); for ( .@i = 0; .@i < 10; .@i++ ) { .id[.@i] = bg_monster( 0,"prontera",150 +.@i,175,"--ja--",1001, "" ); unitattack .id[.@i], .emp; } end; OnEmpDown: announce "Emperium has fallen !", 0; end; } no, an NPC has no HP whatsoever to make it attack by monsters - script hero_def -1,{ if ( .ai_action[AI_ACTION_TYPE] == AI_ACTION_TYPE_WALKACK ) { getmobdata .ai_action[AI_ACTION_SRC], .@data; if ( .@data[6] < 46 || .@data[6] > 53 || .@data[7] < 46 || .@data[7] > 53 ) { unitwalk .ai_action[AI_ACTION_SRC], .@data[6] + .movement[ getd( ".dir_"+ .ai_action[AI_ACTION_SRC] ) *2 ], .@data[7] + .movement[ getd( ".dir_"+ .ai_action[AI_ACTION_SRC] ) *2 +1 ]; end; } else { unitkill .ai_action[AI_ACTION_SRC]; .life_left--; if ( .life_left ) end; announce "what a loser, you guys failed", 0; } } else if ( !.round ) end; else if ( .ai_action[AI_ACTION_TYPE] == AI_ACTION_TYPE_DEAD ) { .mob_left--; if ( .mob_left ) end; .round++; if ( .round <= .no_of_wave ) { callsub L_spawn; end; } announce "congratulations !", 0; for ( .@i = 0; .@i < .register_count; .@i++ ) getitem 501, 1, .register_aid[.@i]; // reward item here } .round = 0; killmonsterall .map$; sleep 5000; getmapxy .@map$, .@x, .@y, 1, .npcname$; mapwarp .map$, .@map$, .@x, .@y; donpcevent .npcname$ +"::OnCreateRoom"; end; OnInit: .minplayer2start = 1; // minimum player to start .life = 10; // amount of life .no_of_mobs_per_side = 25; // max 32 .no_of_wave = 3; // number of wave to be defeated .map$ = "guild_vs2"; // name of the map setarray .spawn, // rand(x1,x2) , rand(y1,y2) 46,53 , 88,93 , // North spawn coordinates 88,93 , 46,53 , // West spawn coordinates 46,53 , 6,11 , // South spawn coordinates 6,11 , 46,53 ; // East spawn coordinates setarray .movement, // movement directions 0, -1, // north movement towards south -1, 0, // west movement towards east 0 , 1, // south movement towards north 1 , 0; // east movement towards west setarray .mapflag, mf_nosave, mf_nowarp, mf_nowarpto, mf_noteleport, mf_nomemo, mf_nopenalty, mf_nobranch, mf_noicewall, mf_nomobloot, mf_nomvploot; .@size = getarraysize( .mapflag ); for ( .@i = 0; .@i < .@size; .@i++ ) setmapflag .map$, .mapflag[.@i]; sleep 1; donpcevent .npcname$ +"::OnCreateRoom"; end; OnEventInit: .round = 1; callsub L_spawn; .life_left = .life; while ( .round ) { for ( .@i = 0; .@i < .register_count; .@i++ ) { attachrid .register_aid[.@i]; showdigit .life_left; } sleep 5050; } end; L_spawn: .mob_left = .no_of_mobs_per_side * 4; for ( .@i = 0; .@i < 4; .@i++ ) { for ( .@j = .no_of_mobs_per_side * .@i; .@j < .no_of_mobs_per_side * ( .@i +1 ); .@j++ ) { .id[.@j] = mobspawn( "--ja--", 1002, .map$, rand( .spawn[ 4 * .@i + 0 ] , .spawn[ 4 * .@i + 1 ] ), rand( .spawn[ 4 * .@i + 2 ], .spawn[ 4 * .@i + 3 ] ) ); setd ".dir_"+ .id[.@j], .@i; mobattach .id[.@j], strnpcinfo(0); setmobdata .id[.@j], 25, AI_ACTION_TYPE_WALKACK | AI_ACTION_TYPE_DEAD; setmobdata .id[.@j], 26, 1; getmobdata .id[.@j], .@data; unitwalk .id[.@j], .@data[6] + .movement[ 2 * .@i + 0 ], .@data[7] + .movement[ 2 * .@i + 1 ]; } } return; OnPCDieEvent: OnPCLogoutEvent: if ( !.round || strcharinfo(3) != .map$ ) end; while ( .register_aid[.@i] != getcharid(3) && .@i < .register_count ) .@i++; deletearray .register_aid[.@i], 1; .register_count--; warp "Save", 0,0; if ( .register_count ) end; announce "all players log out <.<", 0; killmonsterall .map$; .round = 0; donpcevent .npcname$ +"::OnEventInit"; end; } prontera,155,187,6 script Hero Defence 100,{ end; OnInit: set getvariableofnpc( .npcname$, "hero_def" ), strnpcinfo(0); end; OnCreateRoom: waitingroom "Hero Defence", getvariableofnpc( .minplayer2start, "hero_def" ) +1, strnpcinfo(0)+"::OnEventInit", getvariableofnpc( .minplayer2start, "hero_def" ); end; OnEventInit: warpwaitingpc getvariableofnpc( .map$, "hero_def" ), 0,0; copyarray getvariableofnpc( .register_aid, "hero_def" ), $@warpwaitingpc, $@warpwaitingpcnum; set getvariableofnpc( .register_count, "hero_def" ), $@warpwaitingpcnum; delwaitingroom; donpcevent "hero_def::OnEventInit"; end; } ... I admit this last one is the one that pose a bit of challenge for my scripting ability EDIT: I even update this script about 3 times already by the way if you want to ask several question, its better to open several topics >.> Everything works fine and perfect. Except for the Emperium thing. When the scorpions are summoned. they will attack themselves. the last one that survives will kill the emp. for the 3rd one, can it be that it will use an Emperium? it will be like tower defense thingy. Mobs will be spawned and will try to kill the emp. players should protect the emp from the monsters. same mechanics, there will be waves of mobs (most preferably different mobs per wave if possible)
  5. - script dkfjhskdfjh -1,{ OnInit: .id[0] = bg_monster( 0,"prontera",150,175,"--ja--",1002, strnpcinfo(0)+"::On0die" ); .id[1] = bg_monster( 0,"prontera",160,175,"--ja--",1002, strnpcinfo(0)+"::On1die" ); unitattack .id[0], .id[1]; unitattack .id[1], .id[0]; end; On0die: callsub L_kill, 1; On1die: callsub L_kill, 0; L_kill: unittalk .id[ getarg(0) ], "I win !!"; sleep 2000; unitkill .id[ getarg(0) ]; // hahaha end; } if you use unitkill script command, yeah, even a non-aggressive monster will attack others - script dkfjhskdfjh2 -1,{ OnInit: .emp = bg_monster( 0,"prontera",155,175,"--ja--",1288, strnpcinfo(0)+"::OnEmpDown" ); for ( .@i = 0; .@i < 10; .@i++ ) { .id[.@i] = bg_monster( 0,"prontera",150 +.@i,175,"--ja--",1001, "" ); unitattack .id[.@i], .emp; } end; OnEmpDown: announce "Emperium has fallen !", 0; end; } no, an NPC has no HP whatsoever to make it attack by monsters - script hero_def -1,{ if ( .ai_action[AI_ACTION_TYPE] == AI_ACTION_TYPE_WALKACK ) { getmobdata .ai_action[AI_ACTION_SRC], .@data; if ( .@data[6] < 46 || .@data[6] > 53 || .@data[7] < 46 || .@data[7] > 53 ) { unitwalk .ai_action[AI_ACTION_SRC], .@data[6] + .movement[ getd( ".dir_"+ .ai_action[AI_ACTION_SRC] ) *2 ], .@data[7] + .movement[ getd( ".dir_"+ .ai_action[AI_ACTION_SRC] ) *2 +1 ]; end; } else { unitkill .ai_action[AI_ACTION_SRC]; .life_left--; if ( .life_left ) end; announce "what a loser, you guys failed", 0; } } else if ( !.round ) end; else if ( .ai_action[AI_ACTION_TYPE] == AI_ACTION_TYPE_DEAD ) { .mob_left--; if ( .mob_left ) end; .round++; if ( .round <= .no_of_wave ) { callsub L_spawn; end; } announce "congratulations !", 0; for ( .@i = 0; .@i < .register_count; .@i++ ) getitem 501, 1, .register_aid[.@i]; // reward item here } .round = 0; killmonsterall .map$; sleep 5000; getmapxy .@map$, .@x, .@y, 1, .npcname$; mapwarp .map$, .@map$, .@x, .@y; donpcevent .npcname$ +"::OnCreateRoom"; end; OnInit: .minplayer2start = 1; // minimum player to start .life = 10; // amount of life .no_of_mobs_per_side = 25; // max 32 .no_of_wave = 3; // number of wave to be defeated .map$ = "guild_vs2"; // name of the map setarray .spawn, // rand(x1,x2) , rand(y1,y2) 46,53 , 88,93 , // North spawn coordinates 88,93 , 46,53 , // West spawn coordinates 46,53 , 6,11 , // South spawn coordinates 6,11 , 46,53 ; // East spawn coordinates setarray .movement, // movement directions 0, -1, // north movement towards south -1, 0, // west movement towards east 0 , 1, // south movement towards north 1 , 0; // east movement towards west setarray .mapflag, mf_nosave, mf_nowarp, mf_nowarpto, mf_noteleport, mf_nomemo, mf_nopenalty, mf_nobranch, mf_noicewall, mf_nomobloot, mf_nomvploot; .@size = getarraysize( .mapflag ); for ( .@i = 0; .@i < .@size; .@i++ ) setmapflag .map$, .mapflag[.@i]; sleep 1; donpcevent .npcname$ +"::OnCreateRoom"; end; OnEventInit: .round = 1; callsub L_spawn; .life_left = .life; while ( .round ) { for ( .@i = 0; .@i < .register_count; .@i++ ) { attachrid .register_aid[.@i]; showdigit .life_left; } sleep 5050; } end; L_spawn: .mob_left = .no_of_mobs_per_side * 4; for ( .@i = 0; .@i < 4; .@i++ ) { for ( .@j = .no_of_mobs_per_side * .@i; .@j < .no_of_mobs_per_side * ( .@i +1 ); .@j++ ) { .id[.@j] = mobspawn( "--ja--", 1002, .map$, rand( .spawn[ 4 * .@i + 0 ] , .spawn[ 4 * .@i + 1 ] ), rand( .spawn[ 4 * .@i + 2 ], .spawn[ 4 * .@i + 3 ] ) ); setd ".dir_"+ .id[.@j], .@i; mobattach .id[.@j], strnpcinfo(0); setmobdata .id[.@j], 25, AI_ACTION_TYPE_WALKACK | AI_ACTION_TYPE_DEAD; setmobdata .id[.@j], 26, 1; getmobdata .id[.@j], .@data; unitwalk .id[.@j], .@data[6] + .movement[ 2 * .@i + 0 ], .@data[7] + .movement[ 2 * .@i + 1 ]; } } return; OnPCDieEvent: OnPCLogoutEvent: if ( !.round || strcharinfo(3) != .map$ ) end; while ( .register_aid[.@i] != getcharid(3) && .@i < .register_count ) .@i++; deletearray .register_aid[.@i], 1; .register_count--; warp "Save", 0,0; if ( .register_count ) end; announce "all players log out <.<", 0; killmonsterall .map$; .round = 0; donpcevent .npcname$ +"::OnEventInit"; end; } prontera,155,187,6 script Hero Defence 100,{ end; OnInit: set getvariableofnpc( .npcname$, "hero_def" ), strnpcinfo(0); end; OnCreateRoom: waitingroom "Hero Defence", getvariableofnpc( .minplayer2start, "hero_def" ) +1, strnpcinfo(0)+"::OnEventInit", getvariableofnpc( .minplayer2start, "hero_def" ); end; OnEventInit: warpwaitingpc getvariableofnpc( .map$, "hero_def" ), 0,0; copyarray getvariableofnpc( .register_aid, "hero_def" ), $@warpwaitingpc, $@warpwaitingpcnum; set getvariableofnpc( .register_count, "hero_def" ), $@warpwaitingpcnum; delwaitingroom; donpcevent "hero_def::OnEventInit"; end; } ... I admit this last one is the one that pose a bit of challenge for my scripting ability EDIT: I even update this script about 3 times already by the way if you want to ask several question, its better to open several topics >.> Sorry to disturb you annie Btw, i tested the last one you posted. It seems that getmobdata is not functioning in my server ? I will test the other you made :3 Thanks btw annie :3 edit sorry for got to see the first link :3
  6. is it possible that when a mob will attack a another mob? what i mean is that it will be mob aggresive? like an emp will be summoned, then the monsters spawned will attack the emp? if not, can it be that an NPC will be attacked by mobs? if mobs reaches the NPC, event is over. But if all the mobs has been killed, another wave will appear? if they can successfully defend the NPC, they will be rewarded automatically. if they die along the battle, they will be warped out the event and must wait until the next time the event activates
  7. Wow, thanks annie, so easy to understand the script Not sure if this is a poring summoner but i just got ideas from multiple event scripts i have here then created one my own.
  8. i already have my script here, i only need to modify it :3 oh well, i'm gonna try this now :3 thanks Capuche and nanakiwurtz
  9. uhm just wanna ask if what part of this script does the job? i mean the one that ends the event if all the right porings are killed? a little explanation maybe for a newbie like me :3
  10. Thanks learned a lot wew, everytime i kill a poring, it warps out lol what i wanted to happen was if the right poring turns to zero, the event will be over(This event will only last for 5 mins if the right porings does not turns to zero), --- i am planning to release it if ever my players on my server would love it <3 ---
  11. what if there are no more right porings? how do i make all players warp to prontera. if right porings turns to zero Thanks working
  12. what if i spawn 100 porings for an event. 10 of them are the right while 90 are dont. i want that everytime the right poring is killed, it will annuonce in a certain map. sample: 10 right porings player 1 killed one. it will announce "Player1 killed 1 right poring, 9 more left" then player 2 killed another. "player2 killed 1 right poring, 8 more left" and so one :3 waiting for a reply :3 thanks:3 i will add some codes so that you can see my script
  13. What should i code if i want a mob after being killed will explode and kill the player who killed it? then there is also another mob that when killed will give you item? sample: poring one poring will explode when killed and the other will give reward thanks :3
  14. So, i found this script of Annieruru's, any ways i can let this be modified? - script custom_bg#control -1,{ OnInit: set .minplayer2start, 2; // minimum player to start ... please do not set to 1 setarray .rewarditem, 501, 10, // reward to the winning team 501, 3; // reward to the losing team set .startingscore, 15; // score at start set .eventlasting, 20*60; // event last 20 minutes or the system abort itself end; OnStart: if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start ) end; .red = waitingroom2bg( "guild_vs3", 13,50, strnpcinfo(0)+"::OnredQuit", strnpcinfo(0)+"::OnredDead", .rednpcname$ ); copyarray .team1aid, $@arenamembers, $@arenamembersnum; .blue = waitingroom2bg( "guild_vs3", 86,50, strnpcinfo(0)+"::OnblueQuit", strnpcinfo(0)+"::OnblueDead", .bluenpcname$ ); copyarray .team2aid, $@arenamembers, $@arenamembersnum; delwaitingroom .rednpcname$; delwaitingroom .bluenpcname$; bg_warp .red, "guild_vs3", 13,50; bg_warp .blue, "guild_vs3", 86,50; .score[1] = .score[2] =.startingscore; bg_updatescore "guild_vs3", .score[1], .score[2]; callsub L_setleader, 1; callsub L_setleader, 2; sleep .eventlasting * 1000; if ( .score[1] == .score[2] ) { mapannounce "guild_vs3", "Draw !", 0; callsub L_reward, 1, 2; callsub L_reward, 2, 2; } else if ( .score[1] > .score[2] ) { mapannounce "guild_vs3", "red side wins !", 0; callsub L_reward, 1, 0; callsub L_reward, 2, 2; } else if ( .score[1] < .score[2] ) { mapannounce "guild_vs3", "blue side wins !", 0; callsub L_reward, 2, 0; callsub L_reward, 1, 2; } bg_warp .red, "prontera",152,178; bg_warp .blue, "prontera",154,178; bg_destroy .red; bg_destroy .blue; donpcevent .rednpcname$ +"::OnStart"; donpcevent .bluenpcname$ +"::OnStart"; .leader_aid[1] = .leader_aid[2] = 0; end; L_reward: .@size = getarraysize( getd(".team"+ getarg(0) +"aid") ); for ( .@i = 0; .@i < .@size; .@i++ ) getitem .rewarditem[ getarg(1) ], .rewarditem[ getarg(1) +1 ], getd(".team"+ getarg(0) +"aid["+ .@i +"]" ); return; OnredDead: callsub L_dead, 1; OnblueDead: callsub L_dead, 2; L_dead: if ( .leader_aid[ getarg(0) ] != getcharid(3) ) .score[ getarg(0) ]--; else { callsub L_setleader, getarg(0); .score[ getarg(0) ] -= 2; } bg_updatescore "guild_vs3", .score[1], .score[2]; if ( .score[ getarg(0) ] <= 0 ) awake strnpcinfo(0); sleep2 1250; percentheal 100,100; end; OnredQuit: callsub L_quit, 1, .red; OnblueQuit: callsub L_quit, 2, .blue; L_quit: percentheal 100, 100; .@size = getarraysize( getd(".team"+ getarg(0) +"aid") ); while ( getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ) != getcharid(3) && .@i < .@size ) .@i++; deletearray getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ), 1; if ( .leader_aid[ getarg(0) ] == getcharid(3) ) callsub L_setleader, getarg(0); if ( bg_get_data( getarg(1), 0 ) > 1 ) end; .score[ getarg(0) ] = 0; awake strnpcinfo(0); end; L_setleader: while ( ( .@tmp = getd( ".team"+ getarg(0) +"aid["+ rand( getarraysize( getd(".team"+ getarg(0) +"aid") ) ) +"]" ) ) == playerattached() ); .leader_aid[ getarg(0) ] = .@tmp; .@origin = playerattached(); attachrid .leader_aid[ getarg(0) ]; addtimer 1, strnpcinfo(0) +"::Onteam"+ getarg(0) +"leader"; attachrid .@origin; return; Onteam1leader: callsub L_lead, 1, 548; Onteam2leader: callsub L_lead, 2, 549; L_lead: while ( .leader_aid[ getarg(0) ] == getcharid(3) ) { specialeffect2 getarg(1); sleep2 1000; } end; } prontera,152,178,5 script red side 733,{ end; OnInit: set getvariableofnpc( .rednpcname$, "custom_bg#control" ), strnpcinfo(0); OnStart: waitingroom "Red Team", getvariableofnpc( .minplayer2start, "custom_bg#control" ) +1, "custom_bg#control::OnStart", getvariableofnpc( .minplayer2start, "custom_bg#control" ); end; } prontera,154,178,5 script blue side 734,{ end; OnInit: set getvariableofnpc( .bluenpcname$, "custom_bg#control" ), strnpcinfo(0); OnStart: waitingroom "Blue Team", getvariableofnpc( .minplayer2start, "custom_bg#control" ) +1, "custom_bg#control::OnStart", getvariableofnpc( .minplayer2start, "custom_bg#control" ); end; } guild_vs3 mapflag battleground 2 guild_vs3 mapflag nosave SavePoint guild_vs3 mapflag nowarp guild_vs3 mapflag nowarpto guild_vs3 mapflag noteleport guild_vs3 mapflag nomemo guild_vs3 mapflag nopenalty guild_vs3 mapflag nobranch guild_vs3 mapflag noicewall I want to add ip checker here. I dont want dual logs to be playing here >.> Thanks :3 Great Script BTW!
  15. splendide,239,143,5, script Hat Maker 793,{ change to splendide,239,143,5 script Hat Maker 793,{
  16. I dont claim to own this event script but i modify it to the way i needed it to be. This belongs to its rightful owner ARTHistic from eAthena. So i cant find any support from this anymore so im hoping on of you can help me modify this. Here is the script // --- ARTHistic's Property --- // --- Please visit http://thdesigns.co.nr --- // --- Scripted By: ARTHistic --- // --- Do Not Revomed the Credits --- - script PPE_announce -1,{ OnInit: set $@PoringEventChecker, 0; set $@PoringEventPrizeChecker, 0; set $PPEDefendingChampion$,"no one"; end; OnClock0000: OnClock0200: OnClock0400: OnClock0600: OnClock0800: OnClock1209: OnClock1216: set $@PoringEventChecker, 1; announce "Poring Punch Event: Event is now starting, click me to join!", bc_all; killmonsterall "pvp_n_1-2"; sleep2 10000; initnpctimer; end; OnHour30: if ( $@PoringEventChecker == 0 ) { set $@PoringEventChecker, 1; initnpctimer; end; } OnTimer10000: announce "Poring Punch Event has started.",0; monster "pvp_n_1-2",0,0,"1 Point",1002,50,"Poring Punch Event::OnPoringKill"; monster "pvp_n_1-2",0,0,"5 Points",1002,10,"Poring Punch Event::OnDropsKill"; monster "pvp_n_1-2",0,0,"-10 Ponts",1002,50,"Poring Punch Event::OnPoporingKill"; end; OnTimer70000: mapannounce "pvp_n_1-2.gat","Poring Punch Event: 4 minutes left.",0; monster "pvp_n_1-2",0,0,"1 Point",1002,50,"Poring Punch Event::OnPoringKill"; monster "pvp_n_1-2",0,0,"5 Points",1002,5,"Poring Punch Event::OnDropsKill"; monster "pvp_n_1-2",0,0,"-10 Ponts",1002,20,"Poring Punch Event::OnPoporingKill"; end; OnTimer130000: mapannounce "pvp_n_1-2.gat","Poring Punch Event: 3 minutes left.",0; monster "pvp_n_1-2",0,0,"1 Point",1002,30,"Poring Punch Event::OnPoringKill"; monster "pvp_n_1-2",0,0,"5 Points",1002,5,"Poring Punch Event::OnDropsKill"; monster "pvp_n_1-2",0,0,"-10 Ponts",1002,15,"Poring Punch Event::OnPoporingKill"; end; OnTimer190000: mapannounce "pvp_n_1-2.gat","Poring Punch Event: 2 minutes left.",0; monster "pvp_n_1-2",0,0,"1 Point",1002,30,"Poring Punch Event::OnPoringKill"; monster "pvp_n_1-2",0,0,"5 Points",1002,5,"Poring Punch Event::OnDropsKill"; monster "pvp_n_1-2",0,0,"-10 Ponts",1002,5,"Poring Punch Event::OnPoporingKill"; end; OnTimer250000: mapannounce "pvp_n_1-2.gat","Poring Punch Event: 1 minute left.",0; monster "pvp_n_1-2",0,0,"1 Point",1002,50,"Poring Punch Event::OnPoringKill"; monster "pvp_n_1-2",0,0,"5 Points",1002,5,"Poring Punch Event::OnDropsKill"; monster "pvp_n_1-2",0,0,"-10 Ponts",1002,5,"Poring Punch Event::OnPoporingKill"; end; OnTimer310000: stopnpctimer; announce "Poring Punch Event has ended and the event Winner is "+$HighestPoringPointsName$+".",bc_all; killmonsterall "pvp_n_1-2"; set $@PoringEventChecker, 0; set $@PoringEventPrizeChecker, 1; sleep2 5000; mapannounce "pvp_n_1-2.gat","You'll be warp at prontera in a short while.",16; sleep2 10000; mapwarp "pvp_n_1-2","prontera",155,166; end; } prontera,135,205,5 script Poring Punch Event 952,{ mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "Hello, I'm the Poring Punch Event Manager."; mes "My record says that the defending champion on this event was ^FF0000"+$PPEDefendingChampion$+"^000000."; mes "Anyways, what do you want to do?"; next; menu "How does this work?",PPE_HowTo,"Join Event Now",PPE_Join,"Claim my reward",PPE_claim,"Nevermind",PPE_nvm; PPE_HowTo: mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "This is an event where everyone can join in."; next; mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "All you have to do is to punch the right monsters and to avoid the wrong ones. "; next; mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "Each kind of monster has its corresponsing points."; next; mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "You only have 5 minutes to earn points as much as you can."; next; mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "The Highest Scorer at the end of this event shall win Poring Coins"; next; mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "Reminder: No weapons, cart, and pets is allowed in this event."; close; PPE_Join: if ( $@PoringEventChecker != 0 ){ if (gethominfo(2) != "null"){ mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "No homunculus is allowed in this event! Sorry ^FF0000"+strcharinfo(0)+"^000000 but you can't join this event!"; close; } if (getpetinfo(2) != "null"){ mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "No pet is allowed in this event! Sorry ^FF0000"+strcharinfo(0)+"^000000 but you can't join this event!"; close; } if (checkcart()){ mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "No cart is allowed! Sorry ^FF0000"+strcharinfo(0)+"^000000 but you can't join this event!"; close; } if (checkfalcon()){ mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "No falcon is allowed! Sorry ^FF0000"+strcharinfo(0)+"^000000 but you can't join this event!"; close; } if (checkriding()){ mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "No riding is allowed! Sorry ^FF0000"+strcharinfo(0)+"^000000 but you can't join this event!"; close; } mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "Good luck ^FF0000"+strcharinfo(0)+"^000000."; close2; set @PoringPoints, 0; warp "pvp_n_1-2.gat",0,0; end; }else{ mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "Sorry. No Poring Punch Event is held at the moment."; close; }end; PPE_claim: if ($HighestPoringPointsName$ == strcharinfo(0) && $@PoringEventPrizeChecker == 1) { mes "[Poring Punch Event]"; mes "Congragulations "+strcharinfo(0)+". Here is your reward."; getitem 9500,2; set $HighestPoringPointsName$,""; set $HighestPoringPoints,0; set $@PoringEventPrizeChecker, 0; close; } else { mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "Sorry ^FF0000"+strcharinfo(0)+"^000000. You're not the winner so you can't claim anything"; close; }end; PPE_nvm: mes "[ ^FF0000Poring Punch Event^000000 ]"; mes "Okay. Maybe next time."; close; OnPoringKill: if (getequipweaponlv(4)==0 && getequipweaponlv(3)==0){ set @PoringPoints,@PoringPoints+1; if (@PoringPoints > $HighestPoringPoints) { set $HighestPoringPointsName$,strcharinfo(0); set $PPEDefendingChampion$,strcharinfo(0); set $HighestPoringPoints,@PoringPoints; } dispbottom "You have "+@PoringPoints+" point(s)"; end; }else { dispbottom "You have to punch the monster without any weapon."; warp "prontera",130,200; end; } OnDropsKill: if (getequipweaponlv(4)==0 && getequipweaponlv(3)==0){ set @PoringPoints,@PoringPoints+5; if (@PoringPoints > $HighestPoringPoints) { set $HighestPoringPointsName$,strcharinfo(0); set $PPEDefendingChampion$,strcharinfo(0); set $HighestPoringPoints,@PoringPoints; } dispbottom "You have "+@PoringPoints+" point(s)"; end; }else { dispbottom "You have to punch the monster without any weapon."; warp "prontera",130,200; end; } OnPoporingKill: if (getequipweaponlv(4)==0 && getequipweaponlv(3)==0){ if (@PoringPoints < 10) { set @PoringPoints, 0; dispbottom "You have "+@PoringPoints+" point(s)"; end; }else { set @PoringPoints,@PoringPoints-10; dispbottom "You have "+@PoringPoints+" point(s)"; end; }end; }else { dispbottom "You have to punch the monster without any weapon."; warp "prontera",130,200; end; } } pvp_n_1-2 mapflag nobranch pvp_n_1-2 mapflag noexp pvp_n_1-2 mapflag noskill pvp_n_1-2 mapflag nomemo pvp_n_1-2 mapflag nopenalty pvp_n_1-2 mapflag pvp off pvp_n_1-2 mapflag nosave SavePoint pvp_n_1-2 mapflag noteleport pvp_n_1-2 mapflag nowarp pvp_n_1-2 mapflag nowarpto pvp_n_1-2 mapflag noloot Here is the scenario. Game1: Player 1 wins the event with 20 points. ---> Receives rewards --> then goes offline Game2: Player 2 won the event with 19 points. ---> dont receives the reward, the announcer still recognizes player 1 as the winner because player 1 has more points than player 2. when player 1 logs in, he can get the reward even if he didnt play game 2. That is the problem here. Any part of the script where i missed? or has misconfigurated? please help
  17. try putting "next;" to the input .@t;
  18. I set the my server to no ammunition increment. But why is it that elemental bullets/Ninja orbs are not? is it possible to make them like the Sniper?
  19. What should i edit Emistry?
  20. How can i make them wear items for 2nd trans job.?
  21. // by: MrVandalBus prontera,147,168,5 script Gunslinger Master 632,{ if(Class == 24) { if(statpoints !=1) goto L_give; else goto L_given; L_give: mes "[Gunslinger Master]"; mes "Let us not let those Rebirth Classes trash us!"; next; mes "[Gunslinger Master]"; mes "I will give you a special power againts them!"; next; mes "[Gunslinger Master]"; mes "Here are some Stat points for our kind!"; next; mes "[Gunslinger Master]"; mes "Use it wisely!"; specialeffect2 72; specialeffect2 99; specialeffect2 77; set StatusPoint, StatusPoint + 52; close2; set statpoints,1; end; L_given: mes "[Gunslinger Master]"; mes "Use it wisely!"; close; } else { specialeffect 64; specialeffect2 65; npctalk "Hey, don't you dare come close to me!"; end; } end; } prontera,164,168,3 script Hokage 636,{ if(Class == 25) { if(statpointsnj !=1) goto L_give; else goto L_given; L_give: mes "[Hokage]"; mes "Let us not let those Rebirth Classes trash us!"; next; mes "[Hokage]"; mes "We shall dominate over them!"; next; mes "[Hokage]"; mes "I will endow you a power which our ancestors has given only for our kind."; next; mes "[Hokage]"; mes "Don't let us down my child."; specialeffect2 97; specialeffect2 76; specialeffect2 62; set StatusPoint, StatusPoint + 52; close2; set statpointsnj,1; end; L_given: mes "[Hokage]"; mes "Don't let us down my child."; close; } else { specialeffect2 30; npctalk "Get out of my way!"; end; } end; } I made that script so that from 1273 Stat points of NJ and GS would increase to 1325 just like rebirth classes. my problem is that when the NJ or GS resets Stat points, it turns back to 1273 -.- and those NPC wouldn't give the Stat points anymore >.> help maybe? Working Thanks
  22. woooah thanks anubis. lol i gotta thank evet1 now 0_0
×
×
  • Create New...