ocmd:motor befehl buggy brauche bitte hilfe

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
  • if(strcmp(cmd, "/motor", true) == 0) { if(IsPlayerConnected(playerid)) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if(IsPlayerInAnyVehicle(playerid)) { new vid = GetPlayerVehicleID(playerid), string[128]; if(IsAFahrrad(vid)) { GetVehicleParamsEx(vid, engine, light, alarm, doors, bonnet, boot, objective); if(engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET) { SetVehicleParamsEx(vid, VEHICLE_PARAMS_ON, light, alarm, doors, bonnet, boot, objective); format(string, sizeof(string), "* %s betätigt die Zündung. Der Motor springt an!", SpielerName(playerid)); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); } else { SetVehicleParamsEx(vid, VEHICLE_PARAMS_OFF, light, alarm, doors, bonnet ,boot, objective); format(string, sizeof(string), "* %s stellt den Motor ab.", SpielerName(playerid)); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); } } else SendClientMessage(playerid, COLOR_GRAD2, "Fahrräder haben keinen Motor."); } } } return 1; }


    hier noch mal damit man es sieht da der pwn code spinnt.


    http://pastebin.de/22594


    dieser befehl ist buggy wen ich in einem auto bin und den motor starte kommt die narchicht fahrräder haben keinen motor


    bitte um hilfe

  • pass es für deine bedürfnisse an ;D


    ocmd:motor(playerid,params[])
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(vid != INVALID_VEHICLE_ID)
    {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    }
    else
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    }
    }
    return 1;
    }

  • if(strcmp(cmdtext,"/motor",true) == 0)
    {
    new Float:vx, Float:vy, Float:vz;
    new vehicleid = GetPlayerVehicleID(playerid);
    GetVehiclePos(vehicleid,vx,vy,vz);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    new motor,licht,alarm,ture,motorhaube,kofferraum,objective;
    GetVehicleParamsEx(vehicleid,motor,licht,alarm,ture,motorhaube,kofferraum,objective);
    if(motor == 0)
    {
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,licht,alarm,ture,motorhaube,kofferraum,objective);
    GameTextForPlayer(playerid,"~w~Motor ~g~angeschaltet",1000,6);
    }
    else
    {
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,licht,alarm,ture,motorhaube,kofferraum,objective);
    GameTextForPlayer(playerid,"~w~Motor ~r~abgeschaltet",1000,6);
    }
    }
    return 1;
    }


    Und bei mir klappt alles perfekt^^

  • sollte so gehen


    if(strcmp(cmd, "/motor", true) == 0)
    {
    new vid = GetPlayerVehicleID(playerid), string[64];
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Du bist in keinem Fahrzeug.");
    if(IsAFahrrad(vid)) return SendClientMessage(playerid, COLOR_GRAD2, "Fahrräder haben keinen Motor.");
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
    GetVehicleParamsEx(vid, engine, light, alarm, doors, bonnet, boot, objective);
    if(engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET){
    SetVehicleParamsEx(vid, VEHICLE_PARAMS_ON, light, alarm, doors, bonnet, boot, objective);
    format(string, sizeof(string), "* %s betätigt die Zündung. Der Motor springt an!", SpielerName(playerid));
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }else{
    SetVehicleParamsEx(vid, VEHICLE_PARAMS_OFF, light, alarm, doors, bonnet ,boot, objective);
    format(string, sizeof(string), "* %s stellt den Motor ab.", SpielerName(playerid));
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    }
    return 1;
    }


    zum einen hast du if(IsAFahrrad(vid)) und gibst zum schluss die else abfrage falls da snicht so sein sollte also wird dir bestimmt ein message ausgeben ich geh mal davon aus das
    diese funktion den wert 1 zurück gibt und den string brauchst du auch nicht so groß machen ein name hat nur maximal 16 Zeichen und der text wird zusätzlich auch nicht aus
    48 Zeichen bestehen.