Checkpoint definieren und abfragen

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
  • Hallo liebe Brotfische.


    Ich habe eine sicher leicht zu klärende Frage.


    Und zwar möchte ich einen Checkpoint erstellen, und diesen zerstören und eine Nachricht abgeben, sobald er in diesem ist.
    Ich habe so angefangen:

    if(dialogid == DIALOG_FIRSTLOG)
    {
    if(response == 0)
    {
    new FluchtCheckpoint = SetPlayerCheckpoint(playerid, 1481.0374, -1750.7924, 15.4453, 2.0);
    SendClientMessage(playerid, Gelb, "Du musst nun aus Las Venturas fliehen. Pass auf, dass dir keine Gang über den Weg läuft!");
    }
    if(response == 1)
    {
    return 1;
    }
    }


    Wie frage ich jetzt hier ab:

    public OnPlayerEnterCheckpoint(playerid)
    {
    if(checkpointid == FluchtCheckpoint)
    {

    }
    return 1;
    }

    So habe ich es probiert, jedoch gibt es einen Error. Wie mache ich das richtig?



    Mfg,
    Bosei


  • if(strcmp(cmd,"/startfarm",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(pDaten[playerid][Job] == 1)
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 532 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 531)
    {
    ShowPlayerDialog(playerid,DIALOG_DFELD,DIALOG_STYLE_LIST,"Von Welchen Feld willst du die Drogen farmen?","Hanffeld\nMarihuanafeld\nHaschischfeld\nOpiumfeld","Auswählen","Abbrechen");
    }
    else
    {
    SendClientMessage(playerid,GRAU, "Du musst in einen Mähdräscher oder Traktor sein! ");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,GRAU, "Du musst in einen Mähdräscher oder Traktor sein!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,GRAU,"Du arbeitest nicht als Drogenfarmer!");
    return 1;
    }
    return 1;
    }




    if(dialogid == DIALOG_DFELD)
    {
    if(response)
    {
    switch (listitem)
    {
    case 0:
    {
    dfarm[playerid]=1;
    SendClientMessage(playerid,ROT, "Ernte nun das Hanffeld.");
    SetPlayerCheckpoint(playerid,-130.2605,53.4170,3.1172,5.0);
    df1=CreateDynamicPickup(19473,1,-130.2605,53.4170,3.1172,0);
    }
    case 1:
    {
    dfarm[playerid]=65;
    SendClientMessage(playerid,ROT, "Ernte nun das Marihuanafeld.");
    SetPlayerCheckpoint(playerid,-120.8214,98.4925,3.1172,5.0);
    df1=CreateDynamicPickup(2901,1,-120.8214,98.4925,3.1172,0);
    }
    case 2:
    {
    dfarm[playerid]=93;
    SendClientMessage(playerid,ROT, "Ernte nun das Haschischfeld.");
    SetPlayerCheckpoint(playerid,11.6143,33.1112,3.117,5.0);
    df1=CreateDynamicPickup(806,1,11.6143,33.1112,3.117,0);
    }
    case 3:
    {
    dfarm[playerid]=25;
    SendClientMessage(playerid,ROT, "Ernte nun das Opiumfeld.");
    SetPlayerCheckpoint(playerid,-10.1902,-1.4897,3.1172,5.0);
    df1=CreateDynamicPickup(19473,1,-10.1902,-1.4897,3.1172,0);
    }
    }
    return 1;
    }
    }




    public OnPlayerEnterCheckpoint(playerid)
    {
    if(dfarm[playerid]==1&& IsPlayerInRangeOfPoint(playerid,10.0,-130.2605,53.4170,3.1172))
    {
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,WEIS,"Du erntest 1kg von 62kg Hanf");
    SetPlayerCheckpoint(playerid,-136.2191,37.8461,3.1172, 5.0);
    df2=CreateDynamicPickup(19473,1,-136.2191,37.8461,3.1172,0);
    DestroyDynamicPickup(df1);
    dfarm[playerid]=2;
    }
    if(dfarm[playerid]==2&& IsPlayerInRangeOfPoint(playerid,10.0,-136.2191,37.8461,3.1172))
    {
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,WEIS,"Du erntest 2kg von 62kg Hanf");
    SetPlayerCheckpoint(playerid,-139.9762,27.2394,3.1172, 5.0);
    df1=CreateDynamicPickup(19473,1,-139.9762,27.2394,3.1172,0);
    DestroyDynamicPickup(df2);

    dfarm[playerid]=3;
    }


    So z.B. :D