Problem mit Befehl

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
  • Liebe Community,
    Ich habe leider mal wieder ein Problem. Ich habe heute bei mein Script von 18 Fraktionen nun Fraktionsfahrzeuge hingemacht. Aber nach dem Server starten habe ich das Problem bekommen, wenn ich den Befehl /veh eingebe und ein Fahrzeug spawne kommt die Meldung: "SERVER: Unknown Command", dann spawnt das Fahrzeug und wenn ich 'N' drücke (zum Motor start) startet der Motor nicht. Aber vorher ging es. Aber die Fraktionsfahrzeug kann ich so starten. Wenn ich mir ein Privatfahrzeug kaufe startet der Motor auch nicht. Und beim nächsten Login kommt das Login Fenster nicht mehr. (der Motor startet auch nicht wenn ich mir ein Supportcar spawne) nur Fraktionsfahrzeug starten. Ich habe nix bei dem "Motorstart" Abteil geändert. Wodran liegt es? P.S. Es ging ja alles vorher :(


    MfG
    James.


    Bitte um Hilfe :( ;(

  • Guten Tag,
    kannst du uns vielleicht die Zeilen schicken?
    Sprich dein Fraktionsfahrzeug-System, dein /Veh-Befehl


    if(strcmp(cmd, "/veh", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerInfo[playerid][pAdmin] < 5)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht befugt!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
    return 1;
    }
    new car;
    car = strval(tmp);
    if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " Auto Nummer nicht weniger als 400 oder höher als 611 sein !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
    return 1;
    }
    new color1;
    color1 = strval(tmp);
    if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, " Nicht Weniger als 0 oder höher 126 !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
    return 1;
    }
    new color2;
    color2 = strval(tmp);
    if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, " Nicht weniger als 0 oder höher als 126 !"); return 1; }
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X,Y,Z);
    new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60000);
    CreatedCars[CreatedCar] = carid;
    CreatedCar++;
    Gas[carid] = GetGasMax(car);
    format(string, sizeof(string), " Auto %d gespawned.", carid);
    SendClientMessage(playerid, COLOR_GREY, string);
    PutPlayerInVehicle(playerid, carid, 0);
    return 1;


    }



    }


    P.S. wenn ich es mit pwn und /pwn mache sieht es so aus, aber das Kaufsystem geht ja auch auf einmal nicht


    if(strcmp(cmd, "/veh", true) == 0) { if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pAdmin] < 5) { SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht befugt!"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]"); return 1; } new car; car = strval(tmp); if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " Auto Nummer nicht weniger als 400 oder höher als 611 sein !"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]"); return 1; } new color1; color1 = strval(tmp); if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, " Nicht Weniger als 0 oder höher 126 !"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]"); return 1; } new color2; color2 = strval(tmp); if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, " Nicht weniger als 0 oder höher als 126 !"); return 1; } new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid, X,Y,Z); new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60000); CreatedCars[CreatedCar] = carid; CreatedCar++; Gas[carid] = GetGasMax(car); format(string, sizeof(string), " Auto %d gespawned.", carid); SendClientMessage(playerid, COLOR_GREY, string); PutPlayerInVehicle(playerid, carid, 0); return 1;
    }


    }

  • if(strcmp(cmd, "/veh", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerInfo[playerid][pAdmin] < 5)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht befugt!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
    return 1;
    }
    new car;
    car = strval(tmp);
    if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " Auto Nummer nicht weniger als 400 oder höher als 611 sein !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
    return 1;
    }
    new color1;
    color1 = strval(tmp);
    if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, " Nicht Weniger als 0 oder höher 126 !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
    return 1;
    }
    new color2;
    color2 = strval(tmp);
    if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, " Nicht weniger als 0 oder höher als 126 !"); return 1; }
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X,Y,Z);
    new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60000);
    CreatedCars[CreatedCar] = carid;
    CreatedCar++;
    Gas[carid] = GetGasMax(car);
    format(string, sizeof(string), " Auto %d gespawned.", carid);
    SendClientMessage(playerid, COLOR_GREY, string);
    PutPlayerInVehicle(playerid, carid, 0);
    return 1;


    }



    }

  • Ich habe dir deinen /Veh Befehl mal mit OCMD geschrieben.
    Dieses Include findest du bei Google. Du benötigst dafür auch sccanf.
    Allerdings sind Befehle damit einfacher und auch besser strukturiert.


    Nur ein Tipp


    ocmd:veh(playerid,params[])
    {
    new model,farbe1,farbe2,string[128],Float:x,Float:y,Float:z,Float:Angle,Carid;
    if(!IsPlayerConnected(playerid))return SendClientMessage(playerid,COLOR_GRAD1,"Du bist nicht eingeloggt!");
    if(PlayerInfo[playerid][pAdmin] < 5)return SendClientMessage(playerid,COLOR_GRAD1,"Du bist kein Teammitglied./Du hast nicht den jeweiligen Adminrang.");
    if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,COLOR_GRAD1,"Du bist bereits in einem Fahrzeug.");
    if(sscanf(params,"iii",model,farbe1,farbe2))return SendClientMessage(playerid,COLOR_GRAD1,"BENUTZE: /veh [Model][Farbe1][Farbe2]");
    if(model < 400 || model > 611)return SendClientMessage(playerid,COLOR_GRAD1,"BENUTZE: /veh [Model 400-611][Farbe1][Farbe2]");
    if((farbe1 < 0 || farbe1 > 255) || (farbe2 < 0 || farbe2 > 255))return SendClientMessage(playerid,COLOR_GRAD1,"BENUTZE: /veh [Model][Farbe1 0-255][Farbe2 0-255]");
    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,Angle);
    Carid = CreateVehicle(model,x,y,z,Angle,farbe1,farbe2,-1);
    SetVehicleVirtualWorld(Carid,GetPlayerVirtualWorld(playerid));
    LinkVehicleToInterior(Carid,GetPlayerInterior(playerid));
    PutPlayerInVehicle(playerid,Carid,0);
    AddVehicleComponent(Carid, 1010);
    format(string,sizeof(string),"Carid: %d || Modelid: %i",Carid,model);
    SendClientMessage(playerid,COLOR_GRAD1,string);
    CreatedCars[CreatedCar] = Carid;
    CreatedCar++;
    Gas[Carid] = GetGasMax(car);
    return 1;
    }

  • Dann kommt dieser Error:


    C:\LyL-Server\gamemodes\LyL-5.0.pwn(44322) : error 029: invalid expression, assumed zero
    C:\LyL-Server\gamemodes\LyL-5.0.pwn(44322) : error 017: undefined symbol "ocmd_veh"
    C:\LyL-Server\gamemodes\LyL-5.0.pwn(44322) : error 029: invalid expression, assumed zero
    C:\LyL-Server\gamemodes\LyL-5.0.pwn(44322) : fatal error 107: too many error messages on one line


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



    4 Errors.


    wenn ich ocmd_veh define dann kommt:


    C:\LyL-Server\gamemodes\LyL-5.0.pwn(44323) : error 029: invalid expression, assumed zero
    C:\LyL-Server\gamemodes\LyL-5.0.pwn(44323) : error 017: undefined symbol "params"
    C:\LyL-Server\gamemodes\LyL-5.0.pwn(44323) : warning 215: expression has no effect
    C:\LyL-Server\gamemodes\LyL-5.0.pwn(44323) : error 029: invalid expression, assumed zero
    C:\LyL-Server\gamemodes\LyL-5.0.pwn(44323) : fatal error 107: too many error messages on one line


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



    4 Errors.


    soll ich nun alles definenen?, wenn dies da steht?