Beiträge von Waterwavez

    Dann würde ich Errors bzw. Warnungen im Compiler bekommen. Außerdem wird ja eine neue .amx Datei meines Scriptes erstellt, das heißt alles ist okay.

    Hey Com,
    immer wenn ich mein Script compilen möchte, stürzt mein compiler ab. Ich bekomme trotzdem 0 Errors 0 Warnings, kann aber den Server nicht starten.


    Fenster das sich beim compilen öffnet:




    Wenn ich dann den Server straten möchte steht in meiner Console folgendes:


    Script[gamemodes/Tutorial.amx]: Run time error 17: "Invalid/unsupported P-code file format"
    Failed to load ´gamemodes/Tutorial.amx´script.


    "Tutorial.amx" = Scriptname


    Da ich mit den Deutschen Compiler von Trooper geholt habe, dachte ich ich muss ihn neu installieren, das hat aber auch nicht geholfen.


    Was ist zu tun?


    MfG.

    Ich bräuchte nochmal Hilfe zum /makeleader-Befehl.
    Wenn ich "/makeleader 0 0" eingebe (Also mich zum Zivi mache) ist alles ok. Wenn ich dann aber
    "/makeleader 0 1" (Regierung) eingeben steht da das ich mich Zivilist gemacht hab. Wenn ich nochmal eingebe "/makeleader 0 1" dann steht da ich bin Regierung.


    ocmd:makeleader(playerid,params[])
    {
    new pID,fID;
    new string[128];
    new fraktname[128];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    **FRAKTIONSDEFINES**
    }
    if(!IsPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,ROT,"Dein Adminrang ist zu niedrig!");
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,ROT,"/makeleader [ID] [Fraktions ID] (/fraks)");
    if(fID<0||fID>11)return SendClientMessage(playerid,ROT,"Bitte gültige Fraktion angeben (0-11).");
    SetPVarInt(pID,"Fraktion",fID);
    SetPVarInt(pID,"Leader",1);
    SpielerSpeichern(pID);
    format(string,sizeof(string),"Du hast %s Leader der Fraktion %s gemacht",SpielerName(pID),fraktname);
    SendClientMessage(playerid,HBLAU,string);
    format(string,sizeof(string),"%s hat dich Leader der Fraktion %s gemacht",SpielerName(playerid),fraktname);
    SendClientMessage(playerid,HBLAU,string);
    format(string,sizeof(string),"AdmCmd: %s hat %s Leader der Fraktion %s gemacht",SpielerName(playerid),SpielerName(pID),fraktname);
    SendClientMessageToAll(ADMROT,string);
    return 1;
    }


    Der Fehler kommt aber auch erst seit gerade eben. Vorher hat alles super funktioniert. Ich habe nichts an dem Befehl oder den Fraktionsdefines geändert.

    Nein, funktioniert noch nicht.


    //edit: Wenn ich die Messages ändere auf:


    format(string,sizeof(string),"Du hast %s Leader der Fraktion %i (%s) gemacht",SpielerName(pID),fID,fraktname);
    SendClientMessage(playerid,HBLAU,string);
    format(string,sizeof(string),"%s hat dich Leader der Fraktion %i (%s) gemacht",SpielerName(playerid),fID,fraktname);
    SendClientMessage(pID,HBLAU,string);
    format(string,sizeof(string),"AdmCmd: %s hat %s Leader der Fraktion %i (%s) gemacht",SpielerName(playerid),SpielerName(pID),fID,fraktname);
    SendClientMessageToAll(ADMROT,string);


    Dann gibt er mir die richtige ID (%i) an aber nicht den Fraktionsnamen (fraktname).

    Jetzt funktionierts danke!


    Ich bräuchte aber nochmal fix Hilfe zum /makeleader-Befehl. Der Fehler ist mir gerade aufgefallen.
    Wenn ich "/makeleader 0 0" eingebe (Also mich zum Zivi mache) ist alles ok. Wenn ich dann aber
    "/makeleader 0 1" (Regierung) eingeben steht da das ich mich Zivilist gemacht hab. Wenn ich nochmal eingebe "/makeleader 0 1" dann steht da ich bin Regierung.


    ocmd:makeleader(playerid,params[])
    {
    new pID,fID;
    new string[128];
    new fraktname[128];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    **FRAKTIONSDEFINES**
    }
    if(!IsPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,ROT,"Dein Adminrang ist zu niedrig!");
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,ROT,"/makeleader [ID] [Fraktions ID] (/fraks)");
    if(fID<0||fID>11)return SendClientMessage(playerid,ROT,"Bitte gültige Fraktion angeben (0-11).");
    SetPVarInt(pID,"Fraktion",fID);
    SetPVarInt(pID,"Leader",1);
    SpielerSpeichern(pID);
    format(string,sizeof(string),"Du hast %s Leader der Fraktion %s gemacht",SpielerName(pID),fraktname);
    SendClientMessage(playerid,HBLAU,string);
    format(string,sizeof(string),"%s hat dich Leader der Fraktion %s gemacht",SpielerName(playerid),fraktname);
    SendClientMessage(playerid,HBLAU,string);
    format(string,sizeof(string),"AdmCmd: %s hat %s Leader der Fraktion %s gemacht",SpielerName(playerid),SpielerName(pID),fraktname);
    SendClientMessageToAll(ADMROT,string);
    return 1;
    }


    Der Fehler kommt aber auch erst seit gerade eben. Vorher hat alles super funktioniert. Ich habe nichts an dem Befehl oder den Fraktionsdefines geändert.

    Hey Com,
    ich habe mir einen Selfmade /invite Befehl gemacht und komme da an folgendes Problem:
    Wenn ich mir selber in eine Fraktion invite, also sozusagen in meine eigene Fraktion, werde ich immer wieder auf Zivilist gesetzt.


    ocmd:invite(playerid,params[])
    {
    new pID,fID;
    new string[128];
    new fraktname[128];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    **FRAKTIONSDEFINES**
    }
    if(!IsPlayerAnLeader(playerid))return SendClientMessage(playerid,ROT,"Du bist kein Leader.");
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"/invite [ID]");
    GetPVarInt(playerid,"Fraktion");
    SetPVarInt(pID,"Fraktion",fID);
    SetPVarInt(pID,"Leader",0);
    format(string,sizeof(string),"Du hast %s in die Fraktion %s invitet.",SpielerName(pID),fraktname);
    SendClientMessage(playerid,HBLAU,string);
    format(string,sizeof(string),"%s hat dich in seine Fraktion %s invitet",SpielerName(playerid),fraktname);
    SendClientMessage(playerid,HBLAU,string);
    return 1;
    }


    Eigentlich klappt alles, bis auf das Problem mit dem Setzen der Fraktion.


    MfG.

    Versuchs mal so:


    #define fraktname0 "NAME DER FRAK"
    #define fraktname1 "NAME DER FRAK"
    #define fraktname2 "NAME DER FRAK"
    #define fraktname3 "NAME DER FRAK"
    #define fraktname4 "NAME DER FRAK"
    #define fraktname5 "NAME DER FRAK"
    #define fraktname6 "NAME DER FRAK"
    #define fraktname7 "NAME DER FRAK"
    #define fraktname8 "NAME DER FRAK"
    #define fraktname9 "NAME DER FRAK"
    #define fraktname10 "NAME DER FRAK"
    #define fraktname11 "NAME DER FRAK"


    Und dann beim Befehl das:


    new fraktname[128];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{fraktname=fraktname0;}
    case 1:{fraktname=fraktname1;}
    case 2:{fraktname=fraktname2;}
    case 3:{fraktname=fraktname3;}
    case 4:{fraktname=fraktname4;}
    case 5:{fraktname=fraktname5;}
    case 6:{fraktname=fraktname6;}
    case 7:{fraktname=fraktname7;}
    case 8:{fraktname=fraktname8;}
    case 9:{fraktname=fraktname9;}
    case 10:{fraktname=fraktname10;}
    case 11:{fraktname=fraktname11;}
    }


    MfG.

    Hey Com,
    ich habe mich mal an die 3 o.g. Befehle gesetzt und folgendes geschrieben:



    ocmd:spawn(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    new pID;
    new string[128];
    if(sscanf(params,"ui",pID))return SendClientMessage(playerid,ROT,"/spawn [ID]");
    format(string,sizeof(string),"Der Admin %s hat den Spieler %s gespawnt",SpielerName(playerid),SpielerName(pID));
    SendClientMessageToAll(ADMROT,string);
    SpawnPlayer(pID);
    return 1;
    }


    ocmd:freeze(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    new pID;
    new string[128];
    if(sscanf(params,"ui",pID))return SendClientMessage(playerid,ROT,"/freeze [ID]");
    TogglePlayerControllable(pID,0);
    format(string,sizeof(string),"Du wurdest von %s gefreezed.",SpielerName(playerid));
    SendClientMessage(pID,ROT,string);
    return 1;
    }


    ocmd:unfreeze(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    new pID;
    new string[128];
    if(sscanf(params,"ui",pID))return SendClientMessage(playerid,ROT,"/unfreeze [ID]");
    TogglePlayerControllable(pID,1);
    format(string,sizeof(string),"Du wurdest von %s unfreezed.",SpielerName(playerid));
    SendClientMessage(pID,ROT,string);
    return 1;
    }


    Die Befehle habe ich getestet und erstmal nur den Befehl eingegeben, also ohne ID. Ich habe dann einen Error bekommen "/(befehl) [ID]" so wie es sein soll.
    Gebe ich aber "/spawn 0" ein bekomme ich den selben Error "/(befehl) [ID]". Und dass bei allen 3 Befehlen. Einmal Hilfe bitte.


    MfG.

    *Unbekannt Variable "playerid" brauch ich gar nicht erst versuchen. Wenn man in samp wiki schaut weiß man es ;)


    //edit
    streamer.inc im PawnoOrdner
    Im script ist #define streamer
    server cfg hat
    plugin streamer
    streamer.dll und .os sind im Pluginordner.


    Noch was?