Abfragen ob der Spieler bereits einen Job hat.

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
  • Hay,
    wie frage ich hab ob der Spieler bereits ein Job hat?



    Der Befehl:
    if(strcmp(cmd, "/accept", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (IsPlayerInRangeOfPoint(playerid,3.0,1785.0625,-1889.1119,13.3930))
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Herzlichen Glückwunsch du bist jetzt Mechaniker.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Befehle zu deinem Job findest du unter /help.");
    PlayerInfo[playerid][pJob] = 7;
    PlayerInfo[playerid][pContractTime] = 0;
    }
    }
    return 1;
    }


    und falls nötig.. Quitjob:


    if(strcmp(cmd, "/jobkuendigen", true) == 0 || strcmp(cmd, "/quitjob", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pJob] > 0)
    {
    if(PlayerInfo[playerid][pDonateRank] > 0)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast deinen Donator Vertrag erfüllt und den Job gekündigt.");
    PlayerInfo[playerid][pJob] = 0;
    PlayerInfo[playerid][pChar] = 0;
    PlayerInfo[playerid][pContractTime] = 0;
    return 1;
    }
    if(PlayerInfo[playerid][pContractTime] >= 2)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast deinen 1 Stunden Vertrag erfüllt und den Job gekündigt.");
    PlayerInfo[playerid][pJob] = 0;
    PlayerInfo[playerid][pChar] = 0;
    PlayerInfo[playerid][pContractTime] = 0;
    }
    else
    {
    new chours = PlayerInfo[playerid][pContractTime];
    format(string, sizeof(string), "*Du musst 1Stunde lang arbeiten, du hast erst %d x30Minuten lang gearbeitet.", chours);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keinen Job !");
    }
    }
    return 1;
    }


    Danke im Voraus


    MfG

  • Danke.


    & wenn ich jetzt z.b. einen neuen Job dazu machen will?
    Also
    das man an einem Anderen Ort einen Anderen Job annehmen kann mit dem Selben befehl :x ?

  • if(strcmp(cmd, "/accept", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pJob] > 0) return SendClientMessage(playerid, COLOR_GREY, "Du hast schon einen Job !");
    {
    if (IsPlayerInRangeOfPoint(playerid,3.0,1785.0625,-1889.1119,13.3930))
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Herzlichen Glückwunsch du bist jetzt Mechaniker.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Befehle zu deinem Job findest du unter /help.");
    PlayerInfo[playerid][pJob] = 7;
    PlayerInfo[playerid][pContractTime] = 0;
    }
    }
    }
    else
    {
    if(IsPlayerInRangeOfPoint(.....))
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Herzlichen Glückwunsch du bist jetzt Mechaniker.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Befehle zu deinem Job findest du unter /help.");
    PlayerInfo[playerid][pJob] = 7;
    PlayerInfo[playerid][pContractTime] = 0;
    }
    }

    return 1;
    }


    so?

  • if(IsPlayerInRangeOfPoint(playerid,range,x,y,z)//job 1
    {


    }
    else if(IsPlayerInRangeOfPoint(playerid,range,x,y,z)//job 2
    {


    }
    else if(IsPlayerInRangeOfPoint(playerid,range,x,y,z)//job 3
    {


    }
    else if(IsPlayerInRangeOfPoint(playerid,range,x,y,z)// ..
    {


    }
    else if(IsPlayerInRangeOfPoint(playerid,range,x,y,z)// job 30
    {


    }

    Es gäbe noch viele andere Möglichkeiten.

  • Hallo, ob der Spieler schon einen Job hat, könnte man so Abfragen.
    Einfach und Simple.


    if(PlayerInfo[playerid][pJob]!=0)return SendClientMessage(playerid,DEINE_FARBE,"Du hast bereits einen Job, zum kündigen nutze (/quitjob)");


    Wenn du einen neuen Job haben möchtest, musst du Abfragen ob er in der nähe des Jobs ist.
    Dann setzt du pJob einfach auf eine Zahl, die noch keinen Job hat. Vielleicht solltest du die Abfrage noch in deinen Statistiken/stats ändern, damit auch der
    richtige Jobname in den Stats steht. Da könne man zb. einfach einen stock erstellen.

    stock Jobname(playerid)
    {
    new jname[54];
    switch(PlayerInfo[playerid][pJob])
    {
    case 0:{jname="Kein Job";}
    case 1:{jname="Dein Name des Jobs 1";}
    case 2:{jname="Dein Name des Jobs 2";}
    default:{jname="Fehler";}
    }
    return jname;
    }


    Jetzt setzt du den Stock nurnoch ein, da du es selber lernen sollst, mache ich hier nur ein Beispiel.


    new string[128];
    format(string,sizeof(string),"Du hast den Job %s",Jobname(playerid));
    SendClientMessage(playerid,FARBE_BLAU,string);


    So würde er dir den Job anzeigen den du gerade hast. Du musst den stock natürlich noch weiter ausbauen.
    LG und viel Erfolg...

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.