Pawn Compiler funktioniert nichtmehr

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
  • Hallo !


    ( Wenn es ein Doppelpost ist, sry)


    Mein Pawn compiler funktioniert einfach nichtmehr ^^
    Ich habe einfach gescriptet und puff schon funktioniert das Compilieren nichtmehr ...



    Woran kann das liegen ?


    Vielen Dank schonmal im Vorraus!


    MfG Lysoteh ;)

  • Das ist ja das lustige ... ich habe eigentlich nur das GF Script editiert ...



    enum gebiet
    {
    gOwner,//Hier wird die Fraktionsid gespeichert, der das Gebiet im moment gehört
    Float:gMinX,//MinX - Koordinate für die Gangzone
    Float:gMinY,//MinY
    Float:gMaxX,//MaxX
    Float:gMaxY,//MaxY
    gOn,//Ob der Gangfight läuft
    gStand1,//Der Score für das Owner Team
    gStand2,//Score für die Angreifer
    gAngreifer//Hier wird die Fraktionsid gespeichert
    };
    new Gebiete[1][gebiet] = {
    {Owner,1971.4418,-2156.8086,2112.3213,-2120.2324,On,Stand1,Stand2,Angreifer},//Hier werden dann die Zonen erstellt, eigentlich alles auf 0 lassen, außer die Koordinaten...
    };
    new Gebiet[1];//Hier werden die "GangZones" gespeichert, damit wir diese in Farbe setzen können usw...
    forward GangFight(gebietid);//Dies ist eine Überschrift einer public funktion. (Timer, wann der GangWar stoppt.)
    forward UpdateZones();//Damit werden die Farben der Zonen aktualisiert.


    //OnGameModeInit
    for(new i=0;i<sizeof(Gebiete);i++)//Hier werden alle Gebiete durchgegangen die oben angegeben sind.
    {
    Gebiet[i] = GangZoneCreate(Gebiete[i][gMinX],Gebiete[i][gMinY],Gebiete[i][gMaxX],Gebiete[i][gMaxY]); // Hier wird eine Zone erstellt die in der Variable Gebiet gespeichert wird !
    }


    SetTimer("UpdateZones",10000,1);//Hier wird ein Timer gestartet der jede 10 sekunden die Funktion UpdateZones startet.



    for(new i; i<sizeof(Gebiete); i++)//Damit alle gebiete durchlaufen werden
    {
    new color;//Erstellt eine neue Variable
    if(Gebiete[i][gOwner] == 5){color=0x5A5A5AFF;}//Hier wird abgefragt welcher Fraktion das Gebiet gehört, damit dann die Farbe dafür gesetzt wird
    if(Gebiete[i][gOwner] == 6){color=0xD2D2D2FF;}
    if(Gebiete[i][gOwner] == 12){color=0xFEFEFEFF;}
    if(Gebiete[i][gOwner] == 13){color=0x00C100FF;}
    if(Gebiete[i][gOwner] == 14){color=0xB500B9FF;}
    if(Gebiete[i][gOwner] == 15){color=0x141414FF;}
    if(Gebiete[i][gOwner] == 16){color=0xFFFF00FF;}
    if(Gebiete[i][gOwner] == 17){color=0x00EBFFFF;}
    if(Gebiete[i][gOwner] == 18){color=0x0023FFFF;}
    if(Gebiete[i][gOwner] == 19){color=0xD70000FF;}
    if(Gebiete[i][gOwner] == 23){color=0xC59100FF;}


    GangZoneShowForPlayer(playerid, Gebiet[i], color); // Hier wird dann die Zone gezeigt. Als erstes die spielerid, und die ist bei OnPlayerSpawn nunmal mit playerid definiert, dann welches Gebiet also Gebiet^^ und als letztes die Farbe die wir oben definiert haben.
    }


    for(new i; i<sizeof(Gebiete); i++)
    {
    GangZoneHideForPlayer(playerid,Gebiet[i]);//Für wenn das Gebiet versteckt werden soll.... und welches Gebiet
    }



    stock IsPlayerInGebiet(playerid)//Funktion bennen mit den jeweiligen Variablen oder auch Parameter genannt.
    {
    for(new i;i<sizeof(Gebiete);i++)//Damit wieder nach allen Zonen geschaut wird.
    {
    new Float:GetX,Float:GetY,Float:GetZ;//Neue Float Variablen erstellen, damit wir dort die Positionen des Spielers speichern können
    GetPlayerPos(playerid,GetX,GetY,GetZ);//Die Position des Spielers in den oben genannten Variablen speichern.
    if(Gebiete[i][gMinX] < GetX && Gebiete[i][gMaxX] > GetX && Gebiete[i][gMinY] < GetY && Gebiete[i][gMaxY] > GetY)//Hier wird abgefragt ob die Spielerkooridnanten in dem Bereich der Gangzone sind.
    {
    return i;//Hier wird die Gebietsid returned
    }
    return -1;//Wenn der nirgendwo drin ist wird halt -1 returned damit wir einen unterschied haben
    }
    return -1;//s.o.
    }


    dcmd_gw(playerid,params[])
    {
    #pragma unused params
    if(PlayerInfo[playerid][pLeader] == 5||PlayerInfo[playerid][pLeader] == 6||PlayerInfo[playerid][pLeader] == 12||PlayerInfo[playerid][pLeader] == 13||PlayerInfo[playerid][pLeader] == 14||PlayerInfo[playerid][pLeader] == 15||PlayerInfo[playerid][pLeader] == 16||PlayerInfo[playerid][pLeader] == 17||PlayerInfo[playerid][pLeader] == 18||PlayerInfo[playerid][pLeader] == 19||PlayerInfo[playerid][pLeader] == 23||)//Hier wird abefragt welche Fraktion einen Gangfight starten darf
    {
    if(IsPlayerInGebiet(playerid) > -1)//Ob der Spieler in einem Gebiet ist.
    {
    new zone = IsPlayerInGebiet(playerid);//Die Gebietsid wird in der Variable zone gespeichert.
    if(Gebiete[zone][gOn] == 1) return SendClientMessage(playerid,COLOR_BLUE,"Das Gebiet wird schon Umkämpft!");//Hier wird abgefragt ob das Gebiet schon bekämpft wird
    if(Gebiete[zone][gOwner] == PlayerInfo[playerid][pLeader]) return SendClientMessage(playerid,COLOR_BLUE," Deine Fraktion ist im Besitzt dieses Gebietes");//Hier wird abgefragt ob die Fraktion schon im besitzt dieser Funktion ist
    Gebiete[zone][gAngreifer] = PlayerInfo[playerid][pLeader];//Hier wird der Angreifer gesetzt.
    Gebiete[zone][gOn] = 1;//Das der Gangfight für dieses Gebiet läuft
    SetTimerEx("GangFight",3600000,0,"i",zone); //Dies startet einen Timer der eine Stunde läuft , damit beenden wir den Gangifght. Die Zoneid wird mit übergeben
    for(new i; i<MAX_PLAYERS; i++)//Damit jeder Spieler abgefragt wird
    {
    if(PlayerInfo[i][pLeader] == Gebiete[zone][gOwner] ||PlayerInfo[i][pMember] == Gebiete[zone][gOwner])//Ob spieler oder Leader in dieser Fraktion ist
    {
    SendClientMessage(playerid,COLOR_RED,"Eines ihrer Gebiete wird angegriffen.");
    }
    if(PlayerInfo[i][pLeader] == Gebiete[zone][gAngreifer] ||PlayerInfo[i][pMember] == Gebiete[zone][gAngreifer])
    {
    SendClientMessage(playerid,COLOR_RED,"Dein Leader hat einen Gangwar gestartet!");
    }
    }
    }
    }
    return 1;
    }


    public GangFight(gebietid)
    {
    Gebiete[gebietid][gOn] = 0;
    if(Gebiete[gebietid][gStand2] > Gebiete[gebietid][gStand1])
    {
    Gebiete[gebietid][gOwner] = Gebiete[gebietid][gAngreifer];
    }


    new string[128];
    format(string,sizeof(string),"Der Gewinner des Gebiets %d ist Fraktionsid: %d, mit %d : %d gewonnen",gebietid,Gebiete[gebietid][gOwner],Gebiete[gebietid][gStand1],Gebiete[gebietid][gStand2]);
    SendClientMessageToAll(0x000000,string);
    Gebiete[gebietid][gStand2]= 0;
    Gebiete[gebietid][gStand1]=0;
    Gebiete[gebietid][gAngreifer]=0;
    return 1;
    }


    if(IsPlayerInGebiet(playerid) > -1)
    {
    new zone = IsPlayerInGebiet(playerid) ;
    if(Gebiete[zone][gOn] == 1)
    {
    if(PlayerInfo[playerid][pLeader]==Gebiete[zone][gOwner] ||PlayerInfo[playerid][pMember]==Gebiete[zone][gOwner])
    {
    if(PlayerInfo[killerid][pLeader] == Gebiete[zone][gAngreifer] || PlayerInfo[killerid][pMember] == Gebiete[zone][gAngreifer])
    {
    Gebiete[zone][gStand2] ++;
    }
    }
    if(PlayerInfo[playerid][pLeader]==Gebiete[zone][gAngreifer] ||PlayerInfo[playerid][pMember]==Gebiete[zone][gAngreifer])
    {
    if(PlayerInfo[killerid][pLeader] == Gebiete[zone][gOwner] || PlayerInfo[killerid][pMember] == Gebiete[zone][gOwner])
    {
    Gebiete[zone][gStand1] ++;
    }
    }
    }
    }

  • mhh ich kann mir gut vorstellen das es nicht mehr geht wen man das Gang System aus den Tutorial einfach Kopiert und wider einfügt.
    lese dir das Tutorial am besten einfach noch mal genau durch und mach alles mit was er da schreibt un nicht Kopieren einfügen und sagen wirt schon Funktionieren und wen nich Gibt es ja noch welsche die mir das machen.

  • Ich habe es ja nicht einfach rauskopiert ... nen Kumpel von mir wollte das schreiben, hat mir das so gegeben und ich habe die Farben+Fraktionsids eingefügt,
    also ist das nur ein Script von nem Tutorial ?
    -> Habe dies auch in das Script eingefügt, meiner Meinung nach auch korrekt ...

  • Hmm wieso haben viel zu viele diesen komischen Pawno fehler ?
    Bei mir funktioniert erst das Script mit mein alten Pawno und mit den neuen includes die ich einfach ersetze funktioniert der Pawno nicht mehr ? WIESO ?

  • Zitat

    Wen der Pawn Compiler beim Compilen abstürzt hast du einen klammer fehler....


    c.a. die selbe erscheinung wie bei 26 error´s

    Also bei mir ist das irgend wie nicht so da wenn ich mit den anderen includes das Script Compilen will.
    Funktioniert das auch aber ich habe nun die neuen include im "Pawno" Ordner eingefügt und jetzt kommt das hier.

  • Wenn ich den Compiler starten lassen möchte, wird im Compiler nichts angezeigt und SAMP startet.


    Ich habe nur die SetPlayerPs/SetPlayerCameraPos/SetPlayerCameraLookAt in OnPlayerRequest Class geändert.


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 791.1174,-1333.1149,-0.5078);
    SetPlayerCameraPos(playerid, 791.1174,-1333.1149,-0.5078);
    SetPlayerCameraLookAt(playerid, 793.7679,-1335.5204,-0.5078);
    return 1;
    }