10/10
Gutes System kann man immer gut gebrauchen
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
10/10
Gutes System kann man immer gut gebrauchenDanke für dein Feedback.
Konstruktive Kritik & Verbesserungsvorschläge sind natürlich erwünscht.
MFG.
-
& Verbesserungsvorschläge sind natürlich erwünscht.
Dann gebe ich dir mal ein paarnew Raum1 = 0;
new Raum2 = 0;
new Raum3 = 0;
new Raum4 = 0;
new Raum5 = 0;Nun, du solltest in deinem Script Arrays nutzen, das erleichtert dir so einiges, zudem spart es Platz und ist effektiver.
Sprich das sollte so aussehen:new Raum[5];
Dieses = 0; braucht man in Pawn bei der Deklaration der Variablen nicht, da sie automatisch mit 0x00 initialisiert werden.So Sachen wie unter OnPlayerSpawn, lassen sich viel verkürtzter darstellen, ich gebe dir mal ein Beispiel, wenn du Arrays benutzt hättest:
public OnPlayerSpawn(playerid) {
new rand = random(sizeof(RandomSpawnEGE));
for(new i; i<5; i++) if(EinsGegenEins[playerid] || PRaum[i][playerid]) return SetPlayerPos(playerid, RandomSpawnEGE[rand][0], RandomSpawnEGE[rand][1],RandomSpawnEGE[rand][2]),GivePlayerWeapon(playerid, 24, 300);
return 1;
}Sprich, wir nutzen 5 Zeilen, anstatt 40
Selbiges bei deinen Befehlen, z.B. dein /exit Befehl, bin jetzt zu faul, dass alles umzustellen, aber du kannst auf jeden Fall wie du oben siehst, sehr viele Zeilen sparen
if(PRaum2[playerid] == 1)return SendClientMessage(playerid, ROT, "Du bist bereits in einem Raum!");
if(PRaum3[playerid] == 1)return SendClientMessage(playerid, ROT, "Du bist bereits in einem Raum!");
if(PRaum4[playerid] == 1)return SendClientMessage(playerid, ROT, "Du bist bereits in einem Raum!");
if(PRaum5[playerid] == 1)return SendClientMessage(playerid, ROT, "Du bist bereits in einem Raum!");Das hast du unter OnDialogResponse mehrere male verwendet, auch hier solltest du entweder Arrays + Schleife verwenden oder alles in 1ne if-Abfrage schreiben
Zum Schluss noch eins, ich rate von der Funktion ReturnUser ab
mfg.
-
Dann gebe ich dir mal ein paarnew Raum1 = 0;
new Raum2 = 0;
new Raum3 = 0;
new Raum4 = 0;
new Raum5 = 0;Nun, du solltest in deinem Script Arrays nutzen, das erleichtert dir so einiges, zudem spart es Platz und ist effektiver.
Sprich das sollte so aussehen:new Raum[5];
Dieses = 0; braucht man in Pawn bei der Deklaration der Variablen nicht, da sie automatisch mit 0x00 initialisiert werden.So Sachen wie unter OnPlayerSpawn, lassen sich viel verkürtzter darstellen, ich gebe dir mal ein Beispiel, wenn du Arrays benutzt hättest:
public OnPlayerSpawn(playerid) {
new rand = random(sizeof(RandomSpawnEGE));
for(new i; i<5; i++) if(EinsGegenEins[playerid] || PRaum[i][playerid]) return SetPlayerPos(playerid, RandomSpawnEGE[rand][0], RandomSpawnEGE[rand][1],RandomSpawnEGE[rand][2]),GivePlayerWeapon(playerid, 24, 300);
return 1;
}Sprich, wir nutzen 5 Zeilen, anstatt 40
Selbiges bei deinen Befehlen, z.B. dein /exit Befehl, bin jetzt zu faul, dass alles umzustellen, aber du kannst auf jeden Fall wie du oben siehst, sehr viele Zeilen sparen
if(PRaum2[playerid] == 1)return SendClientMessage(playerid, ROT, "Du bist bereits in einem Raum!");
if(PRaum3[playerid] == 1)return SendClientMessage(playerid, ROT, "Du bist bereits in einem Raum!");
if(PRaum4[playerid] == 1)return SendClientMessage(playerid, ROT, "Du bist bereits in einem Raum!");
if(PRaum5[playerid] == 1)return SendClientMessage(playerid, ROT, "Du bist bereits in einem Raum!");Das hast du unter OnDialogResponse mehrere male verwendet, auch hier solltest du entweder Arrays + Schleife verwenden oder alles in 1ne if-Abfrage schreiben
Zum Schluss noch eins, ich rate von der Funktion ReturnUser ab
mfg.
Gut, werds morgen mal überarbeiten, sprich in Arrays / Enums / Schleifen.
Da ich sowieso 2 Wochen nichts zutun haben.
Wieso nicht ReturnUser verwenden?
MFG
-
Wieso nicht ReturnUser verwenden?
Diese Funktion ist extrem lahm und nicht sehr vorteilhaft.Nutze stattdessen einfach strval
Achso, im übrigen wenn du wert darauf legst, kannst du dir gerne mal das hier durchlesen:
http://forum.sa-mp.de/san-andr…optimierung-6#post1428034
Besonders den Teil mit den Char-Arraysmfg.
-
Diese Funktion ist extrem lahm und nicht sehr vorteilhaft.Nutze stattdessen einfach strval
Achso, im übrigen wenn du wert darauf legst, kannst du dir gerne mal das hier durchlesen:
http://forum.sa-mp.de/san-andr…optimierung-6#post1428034
Besonders den Teil mit den Char-Arraysmfg.
Ja, das sieht gut aus. - Werds mir mal als Lesezeichen speichern, und morgen werd ich mich drann setzten, das mal zu überarbeiten.
Ist ja auch vorerst nur entstanden, da ich nichts zutun hatte.
MFG & Danke für deine Kritik
-
Sehr schönes Filterscript.
Kann sicherlich der ein oder andere Server recht gut gebrauchen.
Jedoch bleibt die Frage offen, wieso man so etwas veröffentlicht?
Jetzt wird es wieder einige 0815 Server geben, welche dieses 1 vs. 1 FS besitzen und
es als ihres ausgeben
Ansonsten 9/10 -
Sehr schönes Filterscript.
Kann sicherlich der ein oder andere Server recht gut gebrauchen.
Jedoch bleibt die Frage offen, wieso man so etwas veröffentlicht?
Jetzt wird es wieder einige 0815 Server geben, welche dieses 1 vs. 1 FS besitzen und
es als ihres ausgeben
Ansonsten 9/10Die Frage ist, wer kauft sowas?
Wieso sollt ichs nicht releasen?
Ich finde man kann das ruhig so releasen
Neue Links sind nun da
//Edit: Text geändert & Text hinzugefügt
MFG
-
//Edit4: Danke noch an Kaliber: für den Codeoptimierungslink.
Du hast nich richtig gelesen.new PRaum [MAX_PLAYERS char][5];
Das ist ein 2 Dimensionaler Array, hier kannst du kein char verwenden (hatte ich extra geschrieben).
new bool:EinsGegenEins[MAX_PLAYERS] = false;
Hier allerdings schon, das solltest du so machen:
new bool:EinsGegenEins[MAX_PLAYERS char];
Wie schon erwähnt dieses = false; ist überflüssig, da die Variablen in Pawn eh mit 0x00 initialisiert werden
mfg.
-
Du hast nich richtig gelesen.new PRaum [MAX_PLAYERS char][5];
Das ist ein 2 Dimensionaler Array, hier kannst du kein char verwenden (hatte ich extra geschrieben).
new bool:EinsGegenEins[MAX_PLAYERS] = false;
Hier allerdings schon, das solltest du so machen:
new bool:EinsGegenEins[MAX_PLAYERS char];
Wie schon erwähnt dieses = false; ist überflüssig, da die Variablen in Pawn eh mit 0x00 initialisiert werden
mfg.
Jo, danke war schon spät.
Werds heut den Tag über noch mal richtig überarbeiten.
MFG
-
Jo, danke war schon spät.
Werds heut den Tag über noch mal richtig überarbeiten.
MFG
Schönes Ding
Finde alles sehr Sauber.
10/10 Punkten.Ich hätte es benutz, aber ich hab schon eins.
MfG
-
Schönes Ding
Finde alles sehr Sauber.
10/10 Punkten.Ich hätte es benutz, aber ich hab schon eins.
MfG
Danke für deine Bewertung.
Naja, sauber ist was anderes
MFG
-
Danke für deine Bewertung.
Naja, sauber ist was anderes
MFG
Stimmt schon, find es aber trotzdem Gut
-
"Es können bequem neue Räume hinzugefügt werden (Dazu einfach die entsprechenden Zeilen einkommentieren)"
Mach es doch mit den Funktionen:
#define
#undef
#if defined
#endif -
"Es können bequem neue Räume hinzugefügt werden (Dazu einfach die entsprechenden Zeilen einkommentieren)"
Mach es doch mit den Funktionen:
#define
#undef
#if defined
#endifVergessen den Kommentar zu löschen, brauchst nur noch im Array oben erhöhren und denn neue If-Abfragen schreiben, ist glaub ich auch daneben kommentiert.
bsp:
Raum[5] //für 5 Räume
Raum[10] // für 10 Räume.. und so weiterMFG
-
8/10
Ressourcen -
8/10
RessourcenDanke für deine Bewertung, aber sollte nun schon etwas weniger als vorher ziehen.
//Edit: Habe es jetzt noch mal angepasst, Vorschläge etc. sind erwünscht
-
Super System!
10/10 Punkten.- Finde es gut
- Das man 2 'arten' wählen kann ist klasse =)MfG