minx123 2 Posted December 6, 2015 // Capuche cleaning Base on the poring race by Zell_ff8, xianz, Nekoalberta,141,158,5 script Poring Race 882,{ if( .access_Prace == 0 ) { mes "[Poring Race Staff]"; mes "Poring Race has ended."; close; } mes "[Poring Race Staff]"; mes "Do you want to participate on Poring Race?"; if( select( "Yes","No" ) -1 ) { next; mes "[Poring Race Staff]"; mes "See you again next time!"; close; } if( .access_Prace == 0 ) { next; mes "[Poring Race Staff]"; mes "..."; mes "..."; mes "Cheater!!~~"; close; } close2; @prace_winner$ = ""; warp "p_track01",52,41; end;// OnInit:OnMinute120: if( gettime(3)%2 ) end; set .access_Prace, 1; announce "Poring Race is now open!",0,0xFFAB54; setnpctimer 100000,"Bidder#prace0"; startnpctimer "Bidder#prace0"; end;OnPraceEnd: set .access_Prace, 0; announce "Poring Race is over!",0,0xFFAB54; end;}p_track01,58,41,3 script Bidder#prace0 877,{function checkevent; mes "[Bidder]"; if( getstrlen( @prace_winner$ ) ) { mes "You have choose ^00bb00"+ @prace_winner$ +"^000000"; close; } else if ( checkevent() || .start ) { mes "There is a race in progress..."; close; } else if( !getvariableofnpc( .access_Prace,"Poring Race" ) ) { mes "There is no race."; close; } mes "Choose the poring you want to bet:"; mes "It will cost "+ .zeny_req +" Zeny."; .@s = select( .menu_$ ); if( .@s == 7 ) { next; mes "[Bidder]"; mes "Goodbye."; close; } .@c$ = .monst_$[ .@s -1 ]; if ( checkevent() ) { next; mes "[Bidder]"; mes "..."; mes "..."; mes "Cheater!!~~"; close; } else if( Zeny < .zeny_req ) { next; mes "[Bidder]"; mes "You don't have enough Zeny."; close; } Zeny -= .zeny_req; @prace_winner$ = .@c$; .prace_bidders[ .prace_bets ] = getcharid(3); .prace_bets++; next; mes "[Bidder]"; mes "I have "+ .prace_bets +" bets."; initnpctimer; npctalk "I got "+ strcharinfo(0) +" bet!"; close;OnTimer60000: npctalk "I got "+ .prace_bets +" bets. Anyone else?"; end;OnTimer80000: npctalk "The race will start soon. Last chance."; end;OnTimer90000: stopnpctimer; .start = 1; mapannounce "p_track01","Porings, on your marks...",1,0xFFAB54; sleep 2500; for( .@i = 3; .@i > 0; .@i-- ) { mapannounce "p_track01","..."+ .@i +"...",1,0xFFAB54; sleep 1000; } donpcevent strnpcinfo(0) +"::OnStartRace"; sleep 1000; mapannounce "p_track01","Gooo!!!",1,0xFFAB54; end;OnTimer320000: mapwarp "p_track01","prontera",142,170; donpcevent "Poring Race::OnPraceEnd"; .prace_winner$ = ""; .start = .prace_bets = 0; donpcevent strnpcinfo(0) +"::OnReturnRace"; end;OnStartRace: callsub L_label, "OnRace";OnStopRace: callsub L_label, "OnStop";OnReturnRace: callsub L_label, "OnReturn";L_label: donpcevent "Metaling#prace3::"+ getarg(0); donpcevent "Poring#prace1::"+ getarg(0); donpcevent "Poporing#prace6::"+ getarg(0); donpcevent "Angeling#prace2::"+ getarg(0); donpcevent "Santa Poring#prace5::"+ getarg(0); donpcevent "Deviling#prace4::"+ getarg(0); if( getarg(0) == "OnStop" && .prace_winner$ != "" ) callsub L_WinRace; end;L_WinRace: mapannounce "p_track01", "The winner is "+ .prace_winner$,1,0xFFAB54; donpcevent strnpcinfo(0) +"::OnChequeo"; sleep 3000; donpcevent strnpcinfo(0) +"::OnReturnRace"; sleep 10000; mapwarp "p_track01","prontera",142,170; donpcevent "Poring Race::OnPraceEnd"; .prace_winner$ = ""; .start = .prace_bets = 0; end;OnChequeo: for( .@i = 0 ; .@i < getarraysize( .prace_bidders ); .@i++ ) { if( attachrid( .prace_bidders[.@i] ) && getstrlen( @prace_winner$ ) ) { dispbottom "The winner is "+ .prace_winner$ +" and you have bet for "+ @prace_winner$ +"."; if( @prace_winner$ == .prace_winner$ ) { dispbottom "You have won!"; mapannounce "p_track01"," Congratulations! "+ strcharinfo(0) +" has won!",1,0xFFAB54; getitem .item_gained, .item_num_gain; emotion 21,1; } else { dispbottom "You have lost."; emotion 28,1; } @prace_winner$ = ""; } } deletearray .prace_bidders; end;OnInit: .zeny_req = 3500; .item_gained = 7199; .item_num_gain = 2; setarray .monst_$,"Poring","Angeling","Metaling","Deviling","Santa Poring","Poporing","None"; .menu_$ = implode( .monst_$, ":" ); end;function checkevent { getmapxy .@mapname$, .@x1, .@y, 1, "Poring#prace1"; getmapxy .@mapname$, .@x2, .@y, 1, "Angeling#prace2"; getmapxy .@mapname$, .@x3, .@y, 1, "Metaling#prace3"; getmapxy .@mapname$, .@x4, .@y, 1, "Deviling#prace4"; getmapxy .@mapname$, .@x5, .@y, 1, "Santa Poring#prace5"; getmapxy .@mapname$, .@x6, .@y, 1, "Poporing#prace6"; .@t = ( .@x1 + .@x2 + .@x3 + .@x4 + .@x5 + .@x6 ) != 58 * 6; return .@t;}}//-----------------------------------// Racer NPC's//------------------------------------ script pori_race -1,{OnRace: initnpctimer; end;OnStop: stopnpctimer; end;OnReturn: sleep 1000; while( strnpcinfo(1) != .monst$[ .@i ] ) .@i++; movenpc strnpcinfo(3), 58, .walk_t[.@i]; end;OnTimer1100: getmapxy .@mapname$,.@x,.@y,1, strnpcinfo(3); if( rand(100) < .prace_random ) npcwalkto .@x-1, .@y; .@r = rand( .prace_random2 ); if ( .@x -1 == 29 ) { while( strnpcinfo(1) != .monst$[ .@i ] ) .@i++; set getvariableofnpc( .prace_winner$, "Bidder#prace0" ), .monst$[ .@i ]; emotion 29; donpcevent "Bidder#prace0::OnStopRace"; end; } stopnpctimer; setnpctimer .@r; startnpctimer; end;OnInit: deletearray .walk_t; deletearray .monst$; setarray .walk_t, 38, 36, 34, 32, 30, 28; setarray .monst$, "Poring", "Angeling", "Metaling", "Deviling", "Santa Poring", "Poporing"; .prace_random = 70; .prace_random2 = 600; end;}p_track01,58,38,2 duplicate(pori_race) Poring#prace1 1002p_track01,58,36,2 duplicate(pori_race) Angeling#prace2 1096p_track01,58,34,2 duplicate(pori_race) Metaling#prace3 1613p_track01,58,32,2 duplicate(pori_race) Deviling#prace4 1582p_track01,58,30,2 duplicate(pori_race) Santa Poring#prace5 1062p_track01,58,28,2 duplicate(pori_race) Poporing#prace6 1031p_track01,78,42,0 warp p_track002 1,3,prontera,142,170p_track01 mapflag nobranchp_track01 mapflag noicewallp_track01 mapflag nomemop_track01 mapflag noreturnp_track01 mapflag noteleportp_track01 mapflag nowarptop_track01 mapflag nowarpp_track01 mapflag pvp offp_track01 mapflag nosave help me on this script to add bindatcmd. Quote Share this post Link to post Share on other sites
0 Legend 43 Posted December 6, 2015 I tried to modify it but haven't tested yet in-game.Changes: -Changed deprecated numeric npc view -Command can't be triggered when the event is still active. -Only gm level 99 can only use the command-> race_.txt 1 minx123 reacted to this Quote Share this post Link to post Share on other sites
0 minx123 2 Posted December 6, 2015 I tried to modify it but haven't tested yet in-game. Changes: -Changed deprecated numeric npc view -Command can't be triggered when the event is still active. -Only gm level 99 can only use the command -> race_.txt may i know how to change reward to item? double item. Quote Share this post Link to post Share on other sites
0 Legend 43 Posted December 6, 2015 find and change this:-> .item_gained = 7199; // item id .item_num_gain = 2; // item amount 1 minx123 reacted to this Quote Share this post Link to post Share on other sites
0 minx123 2 Posted December 6, 2015 find and change this: -> .item_gained = 7199; // item id .item_num_gain = 2; // item amount thank you Quote Share this post Link to post Share on other sites
help me on this script to add bindatcmd.
Share this post
Link to post
Share on other sites