Müllmann Bug

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
  • Guten Tag liebe Community...


    Ich habe ein Problem...


    Undzwar kommt immer, dass ich in keinem Müllwagen wäre obwohl ich in einem bin...



    if(strcmp(cmdtext,"/start",true) == 0) { if(IsPlayerInJob(playerid,2)) { if(IsPlayerInVehicle(playerid, 408)) { new gPlayerCheckpointStatus[MAX_PLAYERS]; gPlayerCheckpointStatus[playerid] = check1; SetPlayerCheckpoint(playerid, 2070.1125,-1986.1920,14.0974, 5.0); } else { SendClientMessage(playerid,ROT,"Du bist nicht in einem Müllwagen!"); } } return 1; }


    Könnt ich das auch anders machen mit
    if(IsPlayerInVehicle(playerid, 408))


    Also, IsPlayerInMuellWagen oder so?
    Aber wie?


    /edit:
    Warum wird der kack pawn code nicht normal angezeigt?! :thumbdown: :thumbdown: :thumbdown:
    Weiß keiner Warum es nicht geht?

    Einmal editiert, zuletzt von TakeItEasy ()

  • Dann mach das es richtig angezeigt wird.


    if(strcmp(cmdtext,"/start",true) == 0)
    {
    if(IsPlayerInJob(playerid,2))
    {
    if(IsPlayerInVehicle(playerid, 408))
    {
    new gPlayerCheckpointStatus[MAX_PLAYERS];
    gPlayerCheckpointStatus[playerid] = check1;
    SetPlayerCheckpoint(playerid, 2070.1125,-1986.1920,14.0974, 5.0);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist nicht in einem Müllwagen!");
    }


    }
    return 1;
    }

    Die Variable gPlayerCheckpointStatus in dem Command zu erstellen ist sinnlos. Die muss als erstes einmal Global sein.
    Zu deiner Sache,dass immer angezeigt wird, du sitzt nicht im Müllwagen. Das ist auch richtig so, dass es dir so angezeigt wird.
    Denn

    Zitat

    IsPlayerInVehicle(playerid, vehicleid)


    vehicleid ist nicht die ID des Fahrzeugmodells
    http://wiki.sa-mp.com/wiki/Function:IsPlayerInVehicle


    new gPlayerCheckpointStatus[MAX_PLAYERS]; // Global


    if(strcmp(cmdtext,"/start",true) == 0)
    {
    if(IsPlayerInJob(playerid,2))
    {
    new
    modelid,
    vehicleid;
    vehicleid = GetPlayerVehicleID( playerid );
    if( !vehicleid ) {
    SendClientMessage(playerid,ROT,"Du bist in keinem Fahrzeug!");
    return 1;
    }
    modelid = GetVehicleModel( vehicleid );
    if( modelid == 408)
    {
    gPlayerCheckpointStatus[playerid] = check1;
    SetPlayerCheckpoint(playerid, 2070.1125,-1986.1920,14.0974, 5.0);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist nicht in einem Müllwagen!");
    }


    }
    return 1;
    }

  • Okay, nun geht das...
    Aber warum nun wird der Checkpoint nicht disabled und es wird kein neuer gesetzt...


    Weiß einer warum?


    new gPlayerCheckpointStatus[MAX_PLAYERS]; // Global
    if(strcmp(cmdtext,"/start",true) == 0) { if(IsPlayerInJob(playerid,2)) { new modelid, vehicleid; vehicleid = GetPlayerVehicleID( playerid ); if( !vehicleid ) { SendClientMessage(playerid,ROT,"Du bist in keinem Fahrzeug!"); return 1; } modelid = GetVehicleModel( vehicleid ); if( modelid == 408) { gPlayerCheckpointStatus[playerid] = check1; SetPlayerCheckpoint(playerid, 2070.1125,-1986.1920,14.0974, 5.0); } else { SendClientMessage(playerid,ROT,"Du bist nicht in einem Müllwagen!"); }
    } return 1;}



    public OnPlayerEnterCheckpoint(playerid){ new gPlayerCheckpointStatus[MAX_PLAYERS]; switch (gPlayerCheckpointStatus[playerid]) { case check1: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 1961.4962,-1966.7809,14.1003, 5.0); gPlayerCheckpointStatus[playerid] = check2; } case check2: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 1964.0538,-1782.9188,13.9324, 5.0); gPlayerCheckpointStatus[playerid] = check3; } case check3: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2008.5854,-1727.8459,14.0954, 5.0); gPlayerCheckpointStatus[playerid] = check4; } case check4: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2008.7031,-1692.7627,14.1031, 5.0); gPlayerCheckpointStatus[playerid] = check5; } case check5: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2008.5082,-1639.0389,14.0955, 5.0); gPlayerCheckpointStatus[playerid] = check6; } case check6: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2068.7617,-1605.4576,14.0950, 5.0); gPlayerCheckpointStatus[playerid] = check7; } case check7: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2074.2925,-1654.1500,14.0964, 5.0); gPlayerCheckpointStatus[playerid] = check8; } case check8: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2074.5410,-1707.5818,14.0990, 5.0); gPlayerCheckpointStatus[playerid] = check9; } case check9: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2142.9006,-1746.6788,14.0157, 5.0); gPlayerCheckpointStatus[playerid] = check10; } case check10: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2185.3518,-1669.5153,15.0672, 5.0); gPlayerCheckpointStatus[playerid] = check11; } case check11: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2241.5491,-1646.8016,16.0380, 5.0); gPlayerCheckpointStatus[playerid] = check12; } case check12: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2310.5784,-1664.5812,14.8950, 5.0); gPlayerCheckpointStatus[playerid] = check13; } case check13: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2339.6250,-1716.8276,13.9077, 5.0); gPlayerCheckpointStatus[playerid] = check14; } case check14: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2418.3479,-1753.2440,14.0014, 5.0); gPlayerCheckpointStatus[playerid] = check15; } case check15: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2381.2705,-1936.2224,14.0924, 5.0); gPlayerCheckpointStatus[playerid] = check16; } case check16: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2391.1316,-1966.8835,14.00358, 5.0); gPlayerCheckpointStatus[playerid] = check17; } case check17: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2280.9380,-1966.2844,14.0533, 5.0); gPlayerCheckpointStatus[playerid] = check18; } case check18: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2261.7063,-2051.6626,13.9664, 5.0); gPlayerCheckpointStatus[playerid] = check19; } case check19: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2182.9937,-2142.0037,13.9502, 5.0); gPlayerCheckpointStatus[playerid] = check20; } case check20: { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 2102.8271,-2020.6099,14.0942, 5.0); gPlayerCheckpointStatus[playerid] = checkend; } case checkend: { DisablePlayerCheckpoint(playerid); GivePlayerMoney(playerid,3500); SendClientMessage(playerid,GRÜN,"Du hast die Straßen von Los Santos wieder sauber geräumt!"); SendClientMessage(playerid,GRÜN,"Belohnung: 3500$"); } } return 1;}



    http://pastebin.com/XYzBqkZx



    edit:
    Warum werden diese kack Pawn Codes in nur einer Zeile angezeigt -.-'
    Ging doch sonst immer!


    Weiß keiner eine Antwort?

    Einmal editiert, zuletzt von TakeItEasy ()

  • Weil du nicht gemacht hast, was Ich geschrieben habe.
    Du hast gPlayerCheckpointStatus immernoch nicht als Globale Variable erstellt.


    Entfern

    Zitat

    new gPlayerCheckpointStatus[MAX_PLAYERS];

    bei

    Zitat

    public OnPlayerEnterCheckpoint(playerid)

    und füge es über

    Zitat

    main()

    bzw über

    Zitat

    OnFilterScriptInit()

    falls es ein Filterscript ist.


    Dir fehlen wohl einige Grundlagen.
    http://wiki.sa-mp.com/wiki/Scripting_Basics#Variables