Dann gebe ich dir mal ein paar
new 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.