Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Capuche cleaning Base on the poring race by Zell_ff8, xianz, Neko, for fun
- prontera,139,184,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:
- OnMinute20:
- 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 1002
- p_track01,58,36,2 duplicate(pori_race) Angeling#prace2 1096
- p_track01,58,34,2 duplicate(pori_race) Metaling#prace3 1613
- p_track01,58,32,2 duplicate(pori_race) Deviling#prace4 1582
- p_track01,58,30,2 duplicate(pori_race) Santa Poring#prace5 1062
- p_track01,58,28,2 duplicate(pori_race) Poporing#prace6 1031
- p_track01,78,42,0 warp p_track002 1,3,prontera,142,170
- p_track01 mapflag nobranch
- p_track01 mapflag noicewall
- p_track01 mapflag nomemo
- p_track01 mapflag noreturn
- p_track01 mapflag noteleport
- p_track01 mapflag nowarpto
- p_track01 mapflag nowarp
- p_track01 mapflag pvp off
- p_track01 mapflag nosave
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement