Jump to content
  • 0

request Poring Race Script


enjay

Question


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  13
  • Reputation:   0
  • Joined:  12/08/12
  • Last Seen:  

I want to request a Poring Race Event Script. it announces to all map every 2hours when it will gonna started . thanks in advance ^_^

Link to comment
Share on other sites

16 answers to this question

Recommended Posts


  • Group:  Developer
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  2407
  • Reputation:   613
  • Joined:  07/05/12
  • Last Seen:  

I want to request a Poring Race Event Script. it announces to all map every 2hours when it will gonna started . thanks in advance ^_^

http://pastebin.com/raw.php?i=s3JKaycq

Works on rA only

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  13
  • Reputation:   0
  • Joined:  12/08/12
  • Last Seen:  

thanks Capuche ^___^

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  6
  • Reputation:   0
  • Joined:  02/04/12
  • Last Seen:  

Link down. Can somebody re-upload it?

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2347
  • Joined:  10/28/11
  • Last Seen:  

I want to request a Poring Race Event Script. it announces to all map every 2hours when it will gonna started . thanks in advance ^_^

http://pastebin.com/raw.php?i=s3JKaycq

Works on rA only

the link work fine for me...

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  6
  • Reputation:   0
  • Joined:  02/04/12
  • Last Seen:  

Not for me.

 

I tried with Google Chrome and Firefox. Can you attach it please?

 

Thanks.

Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  2407
  • Reputation:   613
  • Joined:  07/05/12
  • Last Seen:  


// Capuche cleaning Base on the poring race by Zell_ff8, xianz, Neko

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

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  118
  • Topics Per Day:  0.03
  • Content Count:  1942
  • Reputation:   197
  • Joined:  01/08/12
  • Last Seen:  

how can i make this event automatically starts every 2hrs?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  166
  • Topics Per Day:  0.04
  • Content Count:  789
  • Reputation:   50
  • Joined:  04/16/12
  • Last Seen:  

how can i make this event automatically starts every 2hrs?

// 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;

 

 

try that

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  118
  • Topics Per Day:  0.03
  • Content Count:  1942
  • Reputation:   197
  • Joined:  01/08/12
  • Last Seen:  

there is a bug on this script. sometimes the porings start to run. without getting the bet. so you can bet on the leading porings so you'll gonna win instantly.

Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  2407
  • Reputation:   613
  • Joined:  07/05/12
  • Last Seen:  

It may be because of the next button

// Capuche cleaning Base on the poring race by Zell_ff8, xianz, Neko
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.";
	next;
	.@s = select( .menu_$ );
	if( .@s == 7 ) {
		mes "[Bidder]";
		mes "Goodbye.";
		close;
	}
	.@c$ = .monst_$[ .@s -1 ];

	if ( checkevent() ) {
		mes "[Bidder]";
		mes "...";
		mes "...";
		mes "Cheater!!~~";
		close;
	}
	else if( Zeny < .zeny_req ) {
		mes "[Bidder]";
		mes "You don't have enough Zeny.";
		close;
	}
	Zeny -= .zeny_req;
	@prace_winner$ = .@c$;
	.prace_bidders[ .prace_bets ] = getcharid(3);
	.prace_bets++;

	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$ != "" ) {
		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 < .prace_bets; .@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, .prace_bets;
	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";
	.@tmp = ( .@x1 + .@x2 + .@x3 + .@x4 + .@x5 + .@x6 ) != 58 * 6;
	return .@tmp;
}
}
//-----------------------------------
// 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:
	if ( strnpcinfo(2) != "" ) end;
	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
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  118
  • Topics Per Day:  0.03
  • Content Count:  1942
  • Reputation:   197
  • Joined:  01/08/12
  • Last Seen:  

thanks. im gonna try this if its gonna work normally.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  15
  • Reputation:   0
  • Joined:  03/30/13
  • Last Seen:  

Hello sir Capuche. There's till a bug in this event. After placing the bet the players just click on the porings and then the race start right away even if the bet npc is still now finish collecting bets. hope you can fix this bug. Thanks in advance.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  118
  • Topics Per Day:  0.03
  • Content Count:  1942
  • Reputation:   197
  • Joined:  01/08/12
  • Last Seen:  

still the same. sometimes the event start without the bets

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  13
  • Topics Per Day:  0.00
  • Content Count:  62
  • Reputation:   1
  • Joined:  10/09/13
  • Last Seen:  

// Capuche cleaning Base on the poring race by Zell_ff8, xianz, Neko
alberta,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	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

 

hi guys, How to make this automatically open for 5 minutes?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  295
  • Reputation:   6
  • Joined:  10/14/12
  • Last Seen:  

still the same. sometimes the event start without the bets

Same here, the event starts when you click the poring monsters (even without betting)

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  120
  • Reputation:   3
  • Joined:  07/04/13
  • Last Seen:  

Update it?
 

Edited by Mau
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...