public Message_Intermission(){
set_task(0.1, "przyznanie_doswiadczenia");
}
public przyznanie_doswiadczenia()
{
//uruchom podczas SVC_INTERMISSION (tuz przed zmiana mapy)
//Znajdz 3 najlepszych graczy z najwieksza liczba fragow i przyznaj doswiadczenie
new players[32], num;
get_players(players, num, "h");
new tempfrags, id;
new swapfrags, swapid;
new starfrags[3]; //0 - 3 miejsce / 1 - 2 miejsce / 2 - 1 miejsce
new starid[3];
for (new i = 0; i < num; i++)
{
id = players[i];
tempfrags = get_user_frags(id);
if ( tempfrags > starfrags[0] )
{
starfrags[0] = tempfrags;
starid[0] = id;
Give_Xp(starid[0],1000);
if ( tempfrags > starfrags[1] )
{
swapfrags = starfrags[1];
swapid = starid[1];
starfrags[1] = tempfrags;
starid[1] = id;
starfrags[0] = swapfrags;
starid[0] = swapid;
Give_Xp(starid[0],50);
if ( tempfrags > starfrags[2] )
{
swapfrags = starfrags[2];
swapid = starid[2];
starfrags[2] = tempfrags;
starid[2] = id;
starfrags[1] = swapfrags;
starid[1] = swapid;
Give_Xp(starid[0],10);
}
}
}
}
new name[32];
new winner = starid[2];
if ( !winner )
return;
new line[100];
line[0] = 0x04;
formatex(line[1], 98, "Najlepsi gracze na tej mapie:");
ShowColorMessage(starid[2], MSG_BROADCAST, line);
line[0] = 0x04;
get_user_name(starid[2], name, charsmax(name));
line[0] = 0x04;
formatex(line[1], 98, "1. %s - %i Fragow (+%d dosw.)", name, starfrags[2], exp_1miejsce);
ShowColorMessage(starid[2], MSG_BROADCAST, line);
get_user_name(starid[1], name, charsmax(name));
line[0] = 0x04;
formatex(line[1], 98, "2. %s - %i Fragow (+%d dosw.)", name, starfrags[1], exp_2miejsce);
ShowColorMessage(starid[2], MSG_BROADCAST, line);
get_user_name(starid[0], name, charsmax(name));
line[0] = 0x04;
formatex(line[1], 98, "3. %s - %i Fragow (+%d dosw.)", name, starfrags[0], exp_3miejsce);
ShowColorMessage(starid[2], MSG_BROADCAST, line);
}
ShowColorMessage(id, type, message[])
{ [u][b]/// linijka 14004[/b][/u]
message_begin(type, gmsgSayText, _, id);
write_byte(id);
write_string(message);
message_end();
}