DEsMOn Posted June 7, 2022 Group: Members Topic Count: 63 Topics Per Day: 0.04 Content Count: 172 Reputation: 1 Joined: 11/16/20 Last Seen: November 4, 2023 Share Posted June 7, 2022 (edited) Helloo Scripters, Can some one guide me to fix this? prontera,181,157,4 script Poring Race 24004,{ 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; 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); dispbottom "You have won!"; //mapannounce "p_track01"," Congratulations! "+ strcharinfo(0) +" has won!",1,0xFFAB54; announce " Congratulations! "+ strcharinfo(0) +" has won!", bc_all, 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: disablenpc "prace_warp_portal"; // <--- ADD THESE .zeny_req = 3500; .item_gained = 7179; .item_num_gain = 5; setarray .monst_$,"Poring","Angeling","Metaling","Deviling","Santa Poring","Poporing","None"; .menu_$ = implode( .monst_$, ":" ); end; 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,BL_NPC, strnpcinfo(3); if( rand(100) < .prace_random ) npcwalkto .@x-1, .@y; 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 mapflag nowarp p_track01 mapflag pvp off p_track01 mapflag nosave [Debug]: Function: getstrlen (1 parameter): [Debug]: Data: variable name='@prace_winner$' index=0 [Debug]: Source (NPC): Bidder#prace0 at p_track01 (58,41) [Warning]: script:get_val: cannot access player variable '@prace_winner$', defaulting to "" Edited June 9, 2022 by DEsMOn Quote Link to comment Share on other sites More sharing options...
0 sader1992 Posted June 7, 2022 Group: Content Moderator Topic Count: 55 Topics Per Day: 0.01 Content Count: 1691 Reputation: 716 Joined: 12/21/14 Last Seen: Yesterday at 08:49 AM Share Posted June 7, 2022 not sure what the script does , but to fix the error you can replace all the "@prace_winner$" with something like ".prace_winner_2$" 1 Quote Link to comment Share on other sites More sharing options...
0 DEsMOn Posted June 8, 2022 Group: Members Topic Count: 63 Topics Per Day: 0.04 Content Count: 172 Reputation: 1 Joined: 11/16/20 Last Seen: November 4, 2023 Author Share Posted June 8, 2022 (edited) 14 hours ago, sader1992 said: not sure what the script does , but to fix the error you can replace all the "@prace_winner$" with something like ".prace_winner_2$" It's Poring race script that part may be used for rewards I'll try n update. Thank you so much for the reply...! Done Working..!! Edited June 8, 2022 by DEsMOn Update Quote Link to comment Share on other sites More sharing options...
Question
DEsMOn
Helloo Scripters,
Can some one guide me to fix this?
prontera,181,157,4 script Poring Race 24004,{ 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; 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); dispbottom "You have won!"; //mapannounce "p_track01"," Congratulations! "+ strcharinfo(0) +" has won!",1,0xFFAB54; announce " Congratulations! "+ strcharinfo(0) +" has won!", bc_all, 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: disablenpc "prace_warp_portal"; // <--- ADD THESE .zeny_req = 3500; .item_gained = 7179; .item_num_gain = 5; setarray .monst_$,"Poring","Angeling","Metaling","Deviling","Santa Poring","Poporing","None"; .menu_$ = implode( .monst_$, ":" ); end; 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,BL_NPC, strnpcinfo(3); if( rand(100) < .prace_random ) npcwalkto .@x-1, .@y; 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 mapflag nowarp p_track01 mapflag pvp off p_track01 mapflag nosave
[Debug]: Function: getstrlen (1 parameter):
[Debug]: Data: variable name='@prace_winner$' index=0
[Debug]: Source (NPC): Bidder#prace0 at p_track01 (58,41)
[Warning]: script:get_val: cannot access player variable '@prace_winner$', defaulting to ""
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.