Frage zum Compiler

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
  • Ich habe da mal eine Frage zum Pawn Compiler. Mein Script fasst 7.000 zeilen und nach dem letzten neuen Command sieht meiner so aus:


    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Header size: 4208 bytes
    Code size: 357760 bytes
    Data size: 421772 bytes
    Stack/heap size: 16384 bytes; estimated max. usage=4707 cells (18828 bytes)
    Total requirements: 800124 bytes


    ist das etwas negatives? Vorallem, nachdem kommt bei mindestens einem Befehl "Server Unknown Command" obwohl diese Befehle vorher ohne Probleme funktioniert haben.
    Kann mich da einer Aufklären?

    | Green Day - Nickelback - Rise Against - 3 Doors Down | \m/

  • Denke eher weniger, ich nenn mal ein Bespiel.
    Ich hatte drei Befehle .. /stats /lohnaktivieren /buylevel


    Das erste mal ging /lohnaktivieren nicht, dann habe ich /lohnaktivieren verschoben und dann ging der Befehl wieder. Allerdings funkte dann /stats nicht mehr, Grund: Server Unkown Command

    | Green Day - Nickelback - Rise Against - 3 Doors Down | \m/

  • Sicher muss es nicht an dem Befehl liegen, aber an einer anderen sache die du gescriptet hast.


    Sende uns , den Befehl sowie das was davor und danach kommt.

  • Das war der erste Befehl
    dcmd_passvergabe(playerid,params[])
    {
    if(SpielerInfo[playerid][Fraktion] == 3)
    {
    if(SpielerInfo[playerid][Rank] >= 5)
    {
    if(IsPlayerConnected(playerid))
    {
    new spieler[MAX_PLAYER_NAME],spieler2[MAX_PLAYER_NAME],pID,paesse[18],derpass[15],derpasss[15],string[128];
    if(sscanf(params,"us",pID,paesse)) return SendClientMessage(playerid,weiß,"Verwendung: /passvergabe [playerid] [Pass (/paesse)]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,weiß,"Dieser Spieler ist nicht online.");
    if(SpielerInfo[pID][Eingesperrt] == 1) return SendClientMessage(playerid,weiß,"Dieser Spieler befindet sich im Gefängnis.");
    if(SpielerInfo[pID][Tot] == 1) return SendClientMessage(playerid,weiß,"Dieser Spieler befindet sich im Krankenhaus.");
    if(GetDistanceBetweenPlayers(playerid,pID) < 10)
    {
    if(strcmp(paesse,"Los Santos",true) == 0 || strcmp(paesse,"los santos",true) == 0)
    {
    if(SpielerInfo[playerid][LSPass] == 0)
    {
    if(GetPlayerMoney(pID) < 25000) return SendClientMessage(playerid,weiß,"Dieser Spieler hat nicht genug Geld.");
    GivePlayerMoney(pID,-25000);
    GivePlayerMoney(playerid,10000);
    Staatskasseeingezahlt += 15000;
    SpielerInfo[pID][LSPass] = 1;
    PassVergeben[playerid] = 1;
    if(SpielerInfo[playerid][Rank] == 5) { format(derpass,sizeof derpass, "SA Minister"); }
    else if(SpielerInfo[playerid][Rank] == 6) { format(derpass,sizeof derpass, "SA Präsident"); }
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"* %s %s hat dir den Los Santos Pass ausgestellt. Preis: $25000. *",derpass,spieler);
    SendClientMessage(pID,gelb,string);
    format(string,sizeof string,"* Pass: $25000, Verdienst: $10000, Staatskasse: $15000 *");
    SendClientMessage(playerid,gelb,string);
    PassVergeben[playerid] = 0;
    }
    else { return SendClientMessage(playerid,weiß,"Dieser Spieler besitzt bereits den Los Santos Pass."); }
    }
    if(strcmp(paesse,"Las Venturas",true) == 0 || strcmp(paesse,"las venturas",true) == 0)
    {
    if(SpielerInfo[playerid][LVPass] == 0)
    {
    if(GetPlayerMoney(pID) < 40000) return SendClientMessage(playerid,weiß,"Dieser Spieler hat nicht genug Geld.");
    GivePlayerMoney(pID,-40000);
    GivePlayerMoney(playerid,16000);
    Staatskasseeingezahlt += 24000;
    SpielerInfo[pID][LVPass] = 1;
    PassVergeben[playerid] = 2;
    if(SpielerInfo[playerid][Rank] == 5) { format(derpass,sizeof derpass, "SA Minister"); }
    else if(SpielerInfo[playerid][Rank] == 6) { format(derpass,sizeof derpass, "SA Präsident"); }
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"* %s %s hat dir den Las Venturas Pass ausgestellt. Preis: $40000. *",derpass,spieler);
    SendClientMessage(pID,gelb,string);
    format(string,sizeof string,"* Pass: $40000, Verdienst: $16000, Staatskasse: $24000 *");
    SendClientMessage(playerid,gelb,string);
    PassVergeben[playerid] = 0;
    }
    else { return SendClientMessage(playerid,weiß,"Dieser Spieler besitzt bereits den Las Venturas Pass."); }
    }
    if(strcmp(paesse,"Bayside",true) == 0 || strcmp(paesse,"bayside",true) == 0)
    {
    if(SpielerInfo[playerid][BSPass] == 0)
    {
    if(GetPlayerMoney(pID) < 50000) return SendClientMessage(playerid,weiß,"Dieser Spieler hat nicht genug Geld.");
    GivePlayerMoney(pID,-50000);
    GivePlayerMoney(playerid,20000);
    Staatskasseeingezahlt += 30000;
    SpielerInfo[pID][BSPass] = 1;
    PassVergeben[playerid] = 3;
    if(SpielerInfo[playerid][Rank] == 5) { format(derpass,sizeof derpass, "SA Minister"); }
    else if(SpielerInfo[playerid][Rank] == 6) { format(derpass,sizeof derpass, "SA Präsident"); }
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"* %s %s hat dir den Bayside Pass ausgestellt. Preis: $50000. *",derpass,spieler);
    SendClientMessage(pID,gelb,string);
    format(string,sizeof string,"* Pass: $5000, Verdienst: $20000, Staatskasse: $30000 *");
    SendClientMessage(playerid,gelb,string);
    PassVergeben[playerid] = 0;
    }
    else { return SendClientMessage(playerid,weiß,"Dieser Spieler besitzt bereits den Bayside Pass."); }
    }
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////
    if(PassVergeben[playerid] == 1) { format(derpasss,sizeof derpasss, "Los Santos"); }
    else if(PassVergeben[playerid] == 2) { format(derpasss,sizeof derpasss, "Las Venturas"); }
    else if(PassVergeben[playerid] == 3) { format(derpasss,sizeof derpasss, "Bayside"); }
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"* %s hat %s den %s Pass ausgestellt. *",spieler,spieler2,derpasss);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][Fraktion] == 3)
    {
    if(SpielerInfo[i][Rank] >= 5)
    {
    SendClientMessage(playerid,gelb,string);
    }
    }
    }
    }
    }
    else { return SendClientMessage(playerid,weiß,"Der Spieler ist nicht in deiner Nähe."); }
    }


    }
    else { return SendClientMessage(playerid,weiß,"Du bist nicht der Präsident von San Andreas oder der Minister."); }
    }
    else { return SendClientMessage(playerid,weiß,"Du bist nicht befugt diesen Befehl auszuführen."); }
    return 1;
    }

    | Green Day - Nickelback - Rise Against - 3 Doors Down | \m/

  • du verwendest imscript arrays die so aussehen können


    new test[128]
    oder viele andere möglichkeiten und wenn du da eine bestimme größe erreichthast zeigt dir der screen wie die byts aufgeteilt sind dass man einen kleinen überblick hat