Kleine Nebenjob Frage.

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..
    Ich scripte gerade den Nebenjob Eismanm.


    //Edit



    Ich brauche nur noch die Checkpoints wie mache ich die jetzt habe noch nie welche gemacht pls genau erklären.


    (PS: Es soll immer nur 1 Checkpoint angezeigt werden wenn ich in das erste rein fahre soll das erste weggehen und das zweite kommen.)


    Hoffe es geht :D

    Einmal editiert, zuletzt von _Deluxe_ () aus folgendem Grund: Nur noch 1 Frage


  • Guten Abend,
    meinst du das evtl. so?



    //bei deinen news
    new SpielerEis[MAX_PLAYERS];
    new Eisverkaufer[MAX_PLAYERS];


    dcmd_kaufen(playerid,params[])
    {
    #pragma unused params
    if(SpielerEis[playerid] == 0)
    return SendClientMessage(playerid,COLOR_GREY,"Es hat dir niemand angeboten, ein Eis zu kaufen.");
    SpielerEis[playerid] = 0;
    GivePlayerMoney(playerid,-3);
    GivePlayerMoney(Eisverkaufer[playerid],3);
    SendClientMessage(Eisverkaufer[playerid],COLOR_GREY,"Du hast ein Eis für 3$ verkauft.");
    SendClientMessage(playerid,COLOR_GREY,"Du hast dir ein Eis für 3$ gekauft.");
    return 1;
    }



    dcmd_eisverkaufen(playerid,params[])
    {
    #pragma unused params
    new pID;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new Float:x, Float:y, Float:z;
    new pname[16],string[150],playa;
    GetPlayerPos(i, x, y, z);
    if(sscanf(params,"u",pID))
    return SendClientMessage(playerid,COLOR_GREY,"Benutze: /eisverkaufen [playerid]");
    if(pID == playerid)
    return SendClientMessage(playerid,COLOR_GREY,"Du kannst dir selber kein Eis verkaufen.");
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 423)
    {
    if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(playerid,5.0,x,y,z))
    {
    GetPlayerName(playerid,pname,16);
    format(string, 256, "[ Eisverkäufer ] %s bietet dir ein Eis an, tippe /kaufen.",pname);
    SendClientMessage(i, COLOR_LIGHTGREEN, string);
    Eisverkaufer[playa] = playerid;
    SpielerEis[i] = 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Um Eis verkaufen zu können musst du in einem Mr. Whoopee sitzen.");
    }
    }
    return 1;
    }



    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    Falls du Checkpoints benutzen möchtest, kannst du auch das hier verwenden. ;)



    //bei deinen defines
    #define Eischeckpoints 5
    #define LetzteCheckpointIst 4
    #define UnsichtbarerEisCheckpointIst -1



    //unter deinen forwards (das sind nur Checkpoints am LSPD)
    new AkCP[MAX_PLAYERS];
    new Float:EisVerkauferCPS[Eischeckpoints][3]={
    {1496.4276,-1735.4198,13.4091},
    {1531.6920,-1674.6602,13.4083},
    {1494.8685,-1593.8156,13.4082},
    {1428.9519,-1628.6586,13.4082},
    {1429.0505,-1716.8529,13.4074}
    };


    //unter OnPlayerConnect
    AkCP[playerid] = UnsichtbarerEisCheckpointIst;


    //unter OnPlayerEnterCheckpoint
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 423)
    {
    if(AkCP[playerid] != UnsichtbarerEisCheckpointIst)
    {
    if(AkCP[playerid] == LetzteCheckpointIst)
    {
    DisablePlayerCheckpoint(playerid);
    AkCP[playerid] = UnsichtbarerEisCheckpointIst;
    GivePlayerMoney(playerid,350);
    SendClientMessage(playerid,COLOR_LIGHTBLUE, "Du hast deine Runde beendet und 350$ erhalten.");
    }
    else
    {
    AkCP[playerid]++;
    SetPlayerCheckpoint(playerid,EisVerkauferCPS[AkCP[playerid]][0],EisVerkauferCPS[AkCP[playerid]][1],EisVerkauferCPS[AkCP[playerid]][2], 8.0);
    }
    }
    }



    dcmd_eisverkaufen(playerid,params[])
    {
    #pragma unused params
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 423)
    {
    if(AkCP[playerid] != UnsichtbarerEisCheckpointIst)return SendClientMessage(playerid,COLOR_GREY, "{FFFFFF}Du fährst bereits deine Runde und verkaufst Eis.");
    AkCP[playerid]++;
    SetPlayerCheckpoint(playerid,EisVerkauferCPS[AkCP[playerid]][0],EisVerkauferCPS[AkCP[playerid]][1],EisVerkauferCPS[AkCP[playerid]][2], 8.0);
    SendClientMessage(playerid,COLOR_LIGHTBLUE, "{FFFFFF}Du verkaufst nun Eis und musst die Checkpoints abfahren.");
    }
    else
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE, "Um Eis verkaufen zu können musst du in einem Mr. Whoopee sitzen.");
    }
    return 1;
    }



    //unter OnPlayerCommandText
    dcmd(kaufen,6,cmdtext);
    dcmd(eisverkaufen,12,cmdtext);


    PS: du kannst bei den Chckpoints z.B noch eine Time einbauen welche sagt, dass man nur alle 15 Minuten z.B eine Runde Eis verkaufen kann





    Ich hoffe, ich konnte dir ein bisschen helfen, bei Fragen oder Probleme einfach eine Nachricht.


    ----


    Mit freundlichen Grüßen,
    [GGR]Radio_Bot