Motorsystem 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
  • Wie geht das, das wenn der spieler /starten schreibt das er dann losfahren kann


    ich hab schon mal sowas gehabt aber da war der spieler immer schon gefreezt bevor der spieler im auto war


    bitte um hilfe


    Könnte mir jemand so etwas machen bitte!!!

  • Du erstellst eine Variable:


    new MotorOn[MAX_VEHICLES];
    new IsInCar[MAX_PLAYERS];


    Erstellst unter OnGameModeInit Fahrzeuge und fügst das hinzu:


    for(new c = 0; c<MAX_VEHICLES; c++)
    {
    MotorOn[code=c] = 0;
    }


    Unter OnPlayerConnect:


    IsInCar[playerid] = 0;


    Unter PLAYER_STATE_DRIVER:


    if(MotorOn[code=c] == 0)
    {
    SendClientMessage(playerid, COLOR_RED, "Der Motor ist aus, starte ihn mit /start!");
    TogglePlayerControllable(playerid, 0);
    IsInCar[playerid] = 1;
    }


    Unter OnPlayerCommand:


    if(strcmp(cmd, "/start", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(MotorOn[GetPlayerVehicleID(playerid)] == 0)
    {
    SendClientMessage(playerid, COLOR_GREEN, "Du hast den Motor gestartet!");
    MotorOn[GetPlayerVehicleID(playerid)] = 1;
    TogglePlayerControllable(playerid, 1);
    }
    else if(MotorOn[GetPlayerVehicleID(playerid)] == 1)
    {
    SendClientMessage(playerid, COLOR_RED, "Du hast den Motor ausgeschaltet!");
    MotorOn[GetPlayerVehicleID(playerid)] = 0;
    TogglePlayerControllable(playerid, 0);
    }
    }
    }


    Unter OnPlayerKeyStateChange:


    if(IsKeyJustDown(16, newkeys, oldkeys))
    {
    if(IsInCar[playerid] == 1)
    {
    TogglePlayerControllable(playerid, 1);
    RemovePlayerFromVehicle(playerid);
    IsInCar[playerid] = 0;
    }
    }


    Und das irgendwo unten im Script:


    IsKeyJustDown(key, newkeys, oldkeys)
    {
    if((newkeys & key) && !(oldkeys & key)) return 1;
    return 0;
    }

  • for(new c = 0; c<MAX_VEHICLES; c++)
    {
    MotorOn[code=c] = 0;
    }


    was soll ich da machen


    ich hab halt 137 autos

  • PLAYER_STATE_DRIVER:


    muss ich da ein neues public machen und wenn ja wei soll das heißen


    public PlayerStateDriver

  • Versuchs mal so:


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new string[150];
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(MotorOn[GetPlayerVehicleID(playerid)] == 0)
    {
    SendClientMessage(playerid, COLOR_RED, "Der Motor ist aus, starte ihn mit /start!");
    TogglePlayerControllable(playerid, 0);
    IsInCar[playerid] = 1;
    return 1;
    }
    }
    return 1;
    }

  • C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(898) : warning 204: symbol is assigned a value that is never used: "vehidz"
    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1259) : warning 219: local variable "tmp" shadows a variable at a preceding level
    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1282) : warning 219: local variable "tmp" shadows a variable at a preceding level
    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1311) : warning 217: loose indentation
    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(579) : warning 204: symbol is assigned a value that is never used: "tmp"
    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(578) : warning 204: symbol is assigned a value that is never used: "spieler"
    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1456) : error 017: undefined symbol "newkeys"
    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1468) : error 021: symbol already defined: "OnPlayerStateChange"
    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1476) : warning 217: loose indentation
    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1469) : warning 204: symbol is assigned a value that is never used: "string"
    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1469 -- 1482) : warning 203: symbol is never used: "ret_memcpy"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

  • C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1468) : error 021: symbol already defined: "OnPlayerStateChange"


    Du darfst natürlich nicht zwei mal ein public mit gleichem Namen machen. Das was Alex gemacht hat in dein bisheriges OnPlayerStateChange einfügen.

    How do I post wrong?


    After successfully ignoring Google, the FAQ, Stickies and the Search button, I create two to five new threads in the wrong section, with creative titles and unclear text that everybody can imagine something different from.

  • C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(898) : warning 204: symbol is assigned a value that is never used: "vehidz"


    "vehidz" das hast du irgendwo erstellt, was nicht benutzt wird, entfern oder kommentier es aus, z. b. ---> // new vehidz .... keine Ahnung wie du es drinne hast ^^


    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1259) : warning 219: local variable "tmp" shadows a variable at a preceding level
    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1282) : warning 219: local variable "tmp" shadows a variable at a preceding level

    tmp ist schon definiert, entferne es, damit es nur 1 mal in einem Public definiert ist.


    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1311) : warning 217: loose indentation


    du musst entweder drüber oder drunter der Zeile 1311 alles mit TAB taste richtig einrücken.


    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(579) : warning 204: symbol is assigned a value that is never used: "tmp"


    tmp wird hier nicht benutzt, entfern es.


    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(578) : warning 204: symbol is assigned a value that is never used: "spieler"


    spieler wird hier nicht benutzt, entfern es.

    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1456) : error 017: undefined symbol "newkeys"


    Kommt wohl davon, dass du 2 mal OnPlayerStateChange drinn hast. Tuh den Code vom OnPlayerStateChange von mir in dein OnPlayerStateChange.


    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1468) : error 021: symbol already defined: "OnPlayerStateChange"


    siehe oben.


    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1476) : warning 217: loose indentation


    siehe oben.


    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1469) : warning 204: symbol is assigned a value that is never used: "string"


    string wird nicht benutzt, entfern es.


    C:\Users\Rene\Desktop\Sonstige & Spiele\GTA Server\gamemodes\Reallife.pwn(1469 -- 1482) : warning 203: symbol is never used: "ret_memcpy"


    ret_memcpy wird nicht benutzt, entfern es.

  • 1Problem wenn man dan /start eingibt steht da der Motro ist gestartet und darunter server unkown command

  • und fals mich wer rausschmeißt bevor ich gestartet habe dann muss ich halt amchen


    if (strcmp("/aussteigen", cmdtext, true, 10) == 0)
    {
    TogglePlayerControllable(playerid, 1);
    return 1;
    }


    //edit das sol aber nur gehen wenn er nicht im auto sitzt

  • man soll das ja nur machen könen wenn man nicht im auto sitzt

  • also so
    if (strcmp("/aussteigen", cmdtext, true, 10) == 0)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return true;
    {
    TogglePlayerControllable(playerid, 1);
    }
    return 1;
    }


    oder so??
    if (strcmp("/aussteigen", cmdtext, true, 10) == 0)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return true;
    TogglePlayerControllable(playerid, 1);
    return 1;
    }

  • geht trozdem noch wenn ich auf einem auto/motorrad sitze! wenn ich /aussteigen schreibe ist das so wie wenn ich /start aufm auto schreib

  • playerstatechange. newstate == onfoot, oldstate == driver... unfreezen

    mfg RedDragon 8)


    Was ist GFKD?


    Ein revolutionärer Clan, dessen Eröffnung kurz bevorsteht.
    Mehr Informationen folgen bald.

  • Also unter onplayerstatechange:


    if(newstate == PLAYER_STATE_ONFOOT)
    {
    if(oldstate == PLAYER_STATE_DRIVER && IsInCar[playerid] == 1)
    {
    TogglePlayerControllable(playerid, 1);
    IsInCar[playerid] = 0;
    }
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen