Command funktioniert nur wenn Spieler 1 Score hat (brauche sehr Schnelle 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
  • Ich möchte das der command nur möglich ist wenn der Spieler 1 Score besitzt.
    Nun Wenn dieser Spieler den 1 Score nicht besitzt soll eine Nachricht ausgegeben.


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(ParkourCP[playerid] == -1)
    return 1;


    if(ParkourPickups[ParkourCP[playerid]] == pickupid)
    {
    ParkourCP[playerid]++;
    if(ParkourCP[playerid] == sizeof(ParkourCheckpoints))
    {
    ParkourCP[playerid] = -1;
    SetPlayerScore(playerid,GetPlayerScore(playerid) +1);// hier bekommt man einen Scorepunkt
    SendClientMessage(playerid, 0xFACBADFF, "Youre finished the first parkour.");
    SendClientMessage(playerid, 0xFACBADFF, "You get 1 score. (/score)");
    SendClientMessage(playerid, 0xFACBADFF, "Use `/parkour2` to start with the next.");
    RemovePlayerMapIcon(playerid, MAP_ICON_ID);
    }
    else
    {
    new string[12];
    format(string, 12, "~b~CP:~w~%i", ParkourCP[playerid]);
    GameTextForPlayer(playerid, string, 3000, 5);
    SetPlayerMapIcon(playerid, MAP_ICON_ID, ParkourCheckpoints[ParkourCP[playerid]][0], ParkourCheckpoints[ParkourCP[playerid]][1], ParkourCheckpoints[ParkourCP[playerid]][2], 53, 0);
    }
    }
    return 1;
    }


    Score benötigt mit Message:
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(GetPlayerScore(playerid) >= 1)// hier wird geprüft ob 1 Score da ist. wenn ja lässt er den Command durchgehen, wenn nein wird der befehl blockiert und ein Text erscheint.
    {
    if(strcmp(cmdtext, "/parkour2", true) == 0)
    {
    ParkourCP[playerid] = 0;
    SetPlayerMapIcon(playerid, MAP_ICON_ID, ParkourCheckpoints[0][0], ParkourCheckpoints[0][1], ParkourCheckpoints[0][2], 53, 0);
    SetPlayerPos(playerid, 1847.0726,-1593.7416,15.4674);
    SetPlayerFacingAngle(playerid, 175.9439);
    SetCameraBehindPlayer(playerid);
    SetPlayerHealth(playerid, 97.6);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,rot,"You must complete parkour 1. (/start)");//Nachricht wird ausgegeben dass 1 Scorepunkt fehlt.
    }
    return 1;
    }
    return 1;
    }

    Keine Fehler im Script jedoch Ingame gibt man als Spieler mit Score 0 den Befehl ein passiert garnichts, auch wenn man 1 Score hat passiert nichts.


    Ich will es aber so haben dass wenn 1 Score fehlt die Message kommt.
    Ist ein Score da soll der Command einfach geschehen und man soll geportet werden etc.


    Hilfe was ist Falsch???


    Schnelle Hilfe erforderlich!

  • Hier ungetestet:
    if(strcmp(cmdtext, "/parkour2", true) == 0)
    {
    if(GetPlayerScore(playerid) >= 1)// hier wird geprüft ob 1 Score da ist. wenn ja lässt er den Command durchgehen, wenn nein wird der befehl blockiert und ein Text erscheint.
    {
    SendClientMessage(playerid,COLOR_RED,"You must complete parkour 1. (/start)");
    return 1;
    }
    ParkourCP[playerid] = 0;
    SetPlayerMapIcon(playerid, MAP_ICON_ID, ParkourCheckpoints[0][0], ParkourCheckpoints[0][1], ParkourCheckpoints[0][2], 53, 0);
    SetPlayerPos(playerid, 1847.0726,-1593.7416,15.4674);
    SetPlayerFacingAngle(playerid, 175.9439);
    SetCameraBehindPlayer(playerid);
    SetPlayerHealth(playerid, 97.6);
    return 1;
    }