Positionen richtig auslesen

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
  • Schönen guten Abend,


    ich würde gerne wissen wie ich die Position auslesen lasse...


    new robs = random(sizeof(Rob));
    if(!IsPlayerInRangeOfPoint(playerid,5.0,Rob[robs][0],Rob[robs][1],Rob[robs][2]))
    {
    IsRobbing[playerid] =0;
    pRobCount[playerid] = 0;
    KillTimer(pRobTimerID[playerid]);
    robmoney[playerid] = robmoney[playerid];
    }


    Wenn ich da random reinschreibe sucht er sich eine Position aus, ich möchte aber das er die Position nimmt
    in der der Spieler grade ist. Kann mir einer sagen wie ich das richtig umschreibe ?


    Greetz 8)

  • Nein ich formuliere es richtig


    ich möchte aus diesen Positionen:


    new Float:Rob[2][3] =
    {
    {379.7124,-59.6829,1001.5078},
    {365.1240,-6.7055,1001.8516}
    };


    Es auslesen.


    Beispiel: Spieler ist im BSN und raubt gerade. So jetzt möchte ich auslesen wenn er den Checkpoint verlässt das er genau daraus
    die Position vom BSN raussucht .. wie mache ich das .. mit random kanns ja nicht sein.


  • for(new robs=0; robs < sizeof(Rob); robs++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,5.0,Rob[robs][0],Rob[robs][1],Rob[robs][2]))
    {
    IsRobbing[playerid] =0;
    pRobCount[playerid] = 0;
    KillTimer(pRobTimerID[playerid]);
    robmoney[playerid] = robmoney[playerid];
    //printf("robZone: %d", robs);
    break; // gefunden, schleife beenden
    }
    }
    Jede Rob zone wird überprüft

    <3

    Einmal editiert, zuletzt von D0erf|er ()

  • Ja aber das Problem dabei ist das er sobald er die Position gefunden hat,


    dann killt er den Timer.. obwohl ich aber abfrage ob nicht in der Position ist..


    hier mein Code:


    public pRobTimer(playerid)
    {
    new pl = GetPlayerWantedLevel(playerid);
    pl = GetPlayerWantedLevel(playerid);
    SetPlayerWantedLevel(playerid,pl +3);
    robmoney[playerid] += random(235);
    pRobCount[playerid]--;
    IsRobbing[playerid] =1;
    new rbgt[128];
    format(rbgt, sizeof(rbgt), "Raub ~g~wird ausgefuehrt.~r~Verlasse nicht den Checkpoint.~y~Geld gestohlen: ~g~%i$", robmoney[playerid]);
    GameTextForPlayer(playerid, rbgt, 30000, 5);
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    new copmsg[170];
    format(copmsg, sizeof(copmsg), "- Warnung: %s (%d) führt einen Raub durch",name,playerid);
    for(new robs=0; robs < sizeof(Rob); robs++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,5.0,Rob[robs][0],Rob[robs][1],Rob[robs][2]))
    {
    IsRobbing[playerid] =0;
    pRobCount[playerid] = 0;
    KillTimer(pRobTimerID[playerid]);
    robmoney[playerid] = robmoney[playerid];
    }
    printf("robZone: %d", robs);
    }
    switch(pRobCount[playerid])
    {
    case 29:
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(gTeam[i] == COP)
    {
    SendClientMessage(i, BLAU, copmsg);
    }
    }
    }
    case 0:
    {
    KillTimer(pRobTimerID[playerid]);
    GivePlayerMoney(playerid,robmoney[playerid]);
    new string2[128];
    new current_zone = player_zone[playerid];
    new plwl = GetPlayerWantedLevel(playerid);
    plwl = GetPlayerWantedLevel(playerid);
    SetPlayerWantedLevel(playerid,plwl +4);
    format(string2, sizeof(string2), "- Erfolgreicher Raub - Wanted Level %d - Geraubt %i$ von %s",plwl,robmoney[playerid],zones[current_zone][zone_name]);
    SendClientMessage(playerid,ROT,string2);
    GameTextForPlayer(playerid, "Raub ~r~Erfolgreich.", 3000, 5);
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
    IsRobbing[playerid] =0;
    new string3[128];
    GetPlayerName(playerid, name, sizeof(name));
    format(string3, sizeof(string3), "- Raub - %s (%d) hat %i$ von %s geraubt",name,playerid,robmoney[playerid],zones[current_zone][zone_name]);
    SendClientMessageToAll(WEIß,string3);
    new RobMsg[128];
    format(RobMsg, sizeof(RobMsg), "10%s (%d) hat %i$ von %s geraubt", name,playerid,robmoney[playerid],zones[current_zone][zone_name]);
    RobberyLog(string3);
    robmoney[playerid] = 0;
    }
    }
    return 1;
    }