Thansk for adding the rounds Neblim ! I don't know how to make global announcement before the Fast-Type Event starts...
Here is the script, I fixed some of text you forgot to remove... It's working fine together with the rounds, but I don't know how to add Announcement before the event starts and how to make codings like Round 1 start, Round 2 Start until the Last Round..It keeps on saying "Round Started"
belagio,84,95,5 script Fast-Type Event 421,{
if(getgmlevel() >= 90) callsub L_GM;
if( !.Event ) {
mes "There is no Event right now.";
} else if ( .String$ == "" ) {
announce "Round already ended, wait for the next round..",0;
} else {
mes "Type the Correct Sentences.";
mes "^FF0000" + .String$ + "^000000";
input .@Type$;
if( .String$ == "" ) {
announce "Sorry, " + strcharinfo(0) + " is a bit slow..",0;
close;
}
if ( .String$ == .@Type$ && .Event ) {
getitem 673, 5;
announce "Fast-Type Event: " + strcharinfo(0) + " typed the correct string!",0;
set .String$, "";
set .Round, .Round + 1;
donpcevent "Fast-Type Event::OnStart2";
} else {
announce "" + strcharinfo(0) + " mispelled some strings XD",0;
}
}
close;
OnMinute00:
if(.Event) end;
donpcevent "Fast-Type Event::OnStart";
end;
OnStart:
L_Begin:
set .Event, 1;
set .String$, "";
while( getstrlen( .String$ ) < .Length ){
set .String$,.String$ + .List$[ rand( getarraysize( .List$ ) ) ];
}
announce "Round Started !",0;
end;
OnStart2:
sleep2 5000;
if(.Round == .Rounds) {
if(!.Event) end;
announce "Fast-Type Event: Event is over!",0;
set .Event, 0;
set .Round, 0;
end;
}
if(!.Event) end;
announce "Fast-Type Event: Next round starts in 5 seconds...",0;
sleep2 5000;
if(!.Event) end;
goto L_Begin;
L_GM:
mes "Fast-Type event is" + (.Event?"^00FF00 ON^000000":"^FF0000 OFF^000000");
if(select((!.Event?"^00FF00Start":"^FF0000End") + " Event^000000","Normal Player") == 2) return;
switch(.Event) {
case 1:
set .Event, 0;
set .Round, 0;
set .String$, "";
announce "Fast-Type Event: A GM has ended the event.",0; break;
default:
donpcevent "Fast-Type Event::OnStart";
}
close;
OnInit:
set .Length,25;
set .Rounds,7;
setarray .List$,"A","B","_","D","E","F","=","H","I","J","/","L","M","N","6","P","Q","R","S","T",",";
end;
}