ForEachPlayers, MySQL, kleine Strings, Strings recyclen (wiederverwenden) & nicht tausende Variablen mit [MAX_PLAYERS]; lieber pVars verwenden, nicht tausende Abfragen, lieber switch & case - Und das sind nur einige kleine Sachen die ein Script effizienter machen.
Ein kleines Beispiel:
Fail:
new String[256];
format(String,sizeof String,"Hallo %s.",name);
SendClientMessage(playerid,Farbe,String);
Gut:
new String[16];
format(String,sizeof String,"Hallo %s.",name);
SendClientMessage(playerid,Farbe,String);
Noch ein Beispiel:
Fail:
public OnPlayerDeath(playerid, killerid, reason)
{
if(gTeam[killerid] == 0 && gTeam[playerid] == 0)
{
SendClientMessage(killerid,farbe,"Teamkill ist verboten.");
}
if(gTeam[killerid] == 1 && gTeam[playerid] == 1)
{
SendClientMessage(killerid,farbe,"Teamkill ist verboten.");
}
//...
Gut:
public OnPlayerDeath(playerid, killerid, reason)
{
if(gTeam[killerid] == gTeam[playerid])
{
SendClientMessage(killerid,farbe,"Teamkill ist verboten.");
}
Und wo wir bei gTeam[MAX_PLAYERS] sind, gilt das für oben - lieber pVars.
LG
// Edit: Etwas effizientes Hinzugefügt