28.08.2012, 20:19
Swell, ik raad je aan om eens iets te lezen over loops en format.
ClearChat. Gemakkelijk om te gebruiken:
///////////////////////////////////////////////
Mijn code die ik zelf gebruik voor mijn AFK systeem (pas hem aan zodat hij bij je gamemode past plx)
Ik gebruik 5000 omdat dat nogal een redelijk getal is. Laggers worden niet zo snel als AFK gemarkeert.
Gebruik een standaard boolean om een AFK/back 'systeem' te maken.
///////////////////////////////////////////////
Trouwens, ik vraag me werkelijk af waarom niemand in dit topic zcmd, ycmd of tenminste een goede command processor heeft gebruikt: ze zijn veel sneller en veel gemakkelijk om te gebruiken. Noobs leren door strcmp nog steeds de trage manier om dit te doen.
pawn Код:
//-- Script voor format:
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
//Als je alleen rechts zo een death list wil hebben, en niet nog een message erbij, dan is dit hieronder onnodig.
new str1[128];
GetWeaponName(reason, str1, 128);
if(strlen(str1) > 0) //Als het geen invalid weapon is (Tip: gebruik fix include van ****** om GetWeaponName te fixen, want het returnt de goede ID niet bij wapen IDs 18, 44 en 45.
{
new killername[MAX_PLAYER_NAME], playername[MAX_PLAYER_NAME];
GetPlayerName(killerid, killername, MAX_PLAYER_NAME);
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
format(str1, 128, "(!) %s has killed %d with a(n) %s", killername, playername, str1);
SendClientMessageToAll(-1, str1);
}
return 1;
}
pawn Код:
stock ClearChat(playerid)
{
//Hiermee clear je de volledige chat van de speler. Page up en down zijn niet meer mogelijk.
//Let op: Als je timestamp aan hebt, zie je nog wel de timestamp, maar geen enkele text erna.
for(new i; i < 100; i++) //Geef een empty line voor 100x
{
SendClientMessage(playerid, -1, " "); //Color = -1 (wit). Toch is het ook heel handig om color 0 te hebben. Hiermee zijn timestamps moeilijker te lezen (want de outline kleur is ook zwart). Is niet nodig though.
}
return 1;
}
Mijn code die ik zelf gebruik voor mijn AFK systeem (pas hem aan zodat hij bij je gamemode past plx)
pawn Код:
public OnPlayerUpdate(playerid)
{
PlayerInfo[playerid][LastUpdate] = GetTickCount();
return 1;
}
//-- Dus, hoe bekijk je of iemand AFK is? Dat doe je zo:
if(GetTickCount()-PlayerInfo[playerid][LastUpdate] > 5000)
{
//Iemand is AFK!
}
Gebruik een standaard boolean om een AFK/back 'systeem' te maken.
///////////////////////////////////////////////
Trouwens, ik vraag me werkelijk af waarom niemand in dit topic zcmd, ycmd of tenminste een goede command processor heeft gebruikt: ze zijn veel sneller en veel gemakkelijk om te gebruiken. Noobs leren door strcmp nog steeds de trage manier om dit te doen.