Ihr wollt euren Code Optimieren ?
Ok fang ich mal an , es geht klar um Pawn/C++/C egal jetzt, jedenfalls erster Tipp das euer Code kürzer und schneller wird,
was man oft im Script ,,The Godfather´´ sieht wäre:
if(!strlen(tmp))
{
SendClientMessage(playerid,farbe,"nachricht");
return 1;
}
Noch Kürzer ?? klar ! warum nicht ?
if(!tmp[0])return SendClientMessage(playerid,farbe,"nachricht");
Tja kurz genug ? :>
.:::: Hilfreich ::::.
Mich kotzt es persönlich an wenn Variablen einzeln definiert werden wobei man doch eig mehrere z.b. für einen Spieler braucht ,
das sieht meist so aus:
new Bank[MAX_PLAYERS];
new Geld[MAX_PLAYERS];
vllt auch so ?
new Bank[MAX_PLAYERS],
Geld[MAX_PLAYERS];
naja beides der gleiche Müll wenn man es doch für jeden Spieler haben möchte , daran sitzt man ewig,
hier so gehts am besten:
enum spielerpaket
{
geld,
bank,
}
new SpielerDaten[MAX_PLAYERS][spielerpaket];
nun könnt ihr es so z.b. nutzen ( Für die, die Kein Plan haben )
SpielerDaten[playerid][geld] = 10000;
.:::: Text Optimieren :::::.
Manchmal wenn ich durch ein Skript schaue sehe ich das manche variablen auf 256 stehen und als Textwert genutzt werden
new String[256];
Da denk ich mir doch Sa-mp unterstützt allgemein nur 128 Zeichen ,
und zuviele Text Index Zellen machen das Skript noch unnötig Groß und den Code Langsamer
new String[128];
schon besser, aber was ihr auch noch beachten solltet definiert wirklich nur die Zeichenlänge die man in dem fall braucht.
Das beste Beispiel , was ich übringens früher aus gewohnheit gemacht habe, eine Variable mit 128 Zellen zu definieren und darin einen Namen zu packen, aber ein Name kann maximal nur 16 Zeichen nutzen O_O"
also:
new Playername[16];
GetPlayerName(playerid,Playername,sizeof Playername);
.:::: Speichern von Daten im Script::::.
So das ist mal gegen, die Leute die MySql nutzen für ihr Skript, es mag sein das MySql evntl. schneller ist und ihr Prima damit klar kommt, aber die normalen Datei Funktionen haben ebenso
ein gute Leistung und benutzen mit dieser Methode auch so gut wie keine großen Resourcen:
DMA's Zitat:
Man muss ja nicht nach jedem kack speichern
Da kann ich nur zustimmen, den Speichern würde ich erst wenn es die Situation erfordert,
wie z.b.
Der Spieler geht Offline Daten werden bei OnPlayerDisconnect gespeichert
oder:
Der Server geht offline , Daten werden meist per OnGameModeExit() oder OnGameModeExitFunc() gespeichert
Das sind die besten wege zu einem Resourcen schonenden Skript!
Geschrieben von mir BlackFoX und DMA hat sich die Zeit genommen und nochmal drüber geschaut bzw. nochwas ausgebessert