Beiträge von Kaliber

    Du darfst dich von der Bezeichnung von Variablen nicht verwirren lassen ^^


    C
    new x = 5;
    new playerid = x;
    new pID = x;
    new bla = x;

    Es spielt in diesem Beispiel ja gar keine Rolle, wie du die Variable bezeichnest, alle besitzen den selben Wert von x und zwar 5.


    Das mit dem pID wird nur oft gemacht, damit man in diesem Kontext weiß, dass die Variable den Wert von einer anderen Spielerid enthält.


    Aber in diesem Fall erstellst du ja das Fahrzeug für playerid. Also brauchst du keine weitere Variable.


    Wie du es zuvor gelöst hattest mit dem pID, da war der Wert immer auf 0, das hätte ja so oder so nicht funktioniert. Irgendwo muss der Wert für den Spieler ja herkommen ^^

    3x number of arguments does not match definition

    Du rufst folgendes auf:


    createPlayerCar(pID,vehid,color[0],color[1], Pos[0], Pos[1], Pos[2], Pos[3], -1);


    definiert ist es aber:


    createPlayerCar(playerid, modelid, Float:x,Float:y,Float:z,Float:r)


    Wie du siehst, hast du color[0], color[1] und die -1 am Ende gar nicht in der Funktion oben angegeben.



    Sieht dann so aus.


    Das respawn=-1 in der Parameterliste oben sorgt btw dafür, dass der default wert von der Respawn-Zeit bei -1 liegt.

    Sprich du könntest es auch nur so aufrufen:


    createPlayerCar(pID,vehid,color[0],color[1], Pos[0], Pos[1], Pos[2], Pos[3]);


    und es würde funktionieren (da -1 default gesetzt wird) ;)

    Hmmm debugging wäre jetzt interessant...

    füge das mal deinem Skript hinzu und gib nochmal einen Befehl ein:

    Wenn nichts im Server Log steht, wird das Plugin bei dir nicht richtig geladen...

    Und es passiert einfach nichts?!


    Kann ich mir nicht erklären...noch nie erlebt.


    Also du hast mehrere Befehle ausprobiert und keiner klappt mehr?


    Und du bist sicher, dass du kein OnPlayerCommandText mehr nutzt...und keine andere CMD Prozessoren, wie ycmd, ocmd, zcmd...o.ä.?


    Was für Includes nutzt du denn alles?

    Du benötigst den Callback OnPlayerCommandText gar nicht mehr. Lösche diesen am Besten.


    Und nutze nur:


    C
    public OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags)
    {
      if (result == -1)
      {
        SCM(playerid, 0xFFFFFFFF, "SERVER: Befehl nicht gefunden.");
        return 0;
      }
      return 1;
    }

    Und du bist sicher, dass du oben im Skript #include <ocmd> quasi rausgeschmissen hast und nur #include <Pawn.CMD>  verwendest?

    Jedoch frag ich mich immer noch wieso sobald ich beim accept Befehl InGame /accept eingebe sofort die einladung angenommen wird!? weil wie gesagt gibt ja noch weitere dinge die man accepten kann bspw. /accept dice etc.

    Ah, ja stimmt ich habe nicht bedacht, dass ocmd ja gar nicht \0 in den String packt sondern \1...


    Lösung 1:



    Oder Lösung 2:


    Also wäre es zum Vorteil dies auch bei meinem accept Befehl umzuändern? von quasi so:

    Das kommt darauf an...

    In diesem Fall funktioniert es, da keine Weiteren Parameter außer dem Keyword eingegeben werden. Aber falls doch, solltest du das so machen.


    //Und hier dann immer die nächsten keyword hinter invite einfügen?

    Joaa, ansonsten weiß der Nutzer ja nicht, welche Optionen er alle hat :)


    Und anstatt dem return 1 unten würde ich nochmal wie oben erklärt SCM(playerid, WEISS, info); nutzen, damit er direkt weiß, welche keywords es gibt.


    Nur als Info noch:


    C
    if(!strcmp(item, "invite",false)) // Das sorgt dafür, dass nur "invite" geschrieben werden kann. Es wird quasi geprüft, ob die Groß- und Kleinschreibung richtig ist. Für den Nutzer ist das oft nervig, da es ja egal ist, ob er Invite oder invite, invitE schreibt, ist ja alles das Selbe und es soll funktionieren
    
    if(!strcmp(item, "invite")) //<< das sorgt dafür, dass die Groß-und Kleinschreibung ignoriert wird und alles gültig ist ;)


    jedoch wird mein Fraktionsrang in der DB auf 70 gesetzt wie kann das zustande kommen?

    Kann ich dir so nicht sagen, vllt geht etwas beim Speichern schief?

    Dazu müsste ich dein Speichersystem begutachten.



    SetPVarInt(playerid, "getfrak", 0);

    Noch ein Hinweis dazu, lösche das ruhig einfach:


    DeletePVar(playerid, "getfrak");


    Dann sinkt der RAM Verbrauch vom Server ^^

    Also zuerst zu der Info Variable:



    Zu dem Code:

    Probiers mal so: