/orten abfrage

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
  • Wie mache ich des oder besser gesagt kann mir jemand erklären wie ich diesne befehl so mache das wenn die Person die geortet wird auch wenn es sich bewegt das dieses checkpoint pickup immernoch wandert sodass man nicht X mal /orten eingeben muss...


    Also checkpoint sollte mit dem Spieler wandern falls der Spieler sich bewegt...


    if(strcmp(cmd, "/orten", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(!IsACop(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /orten [Spieler ID]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Falsche ID!");
    }
    }
    return 1;
    }

  • Also so?


    if(strcmp(cmd, "/orten", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(!IsACop(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /orten [Spieler ID]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    SetTimerEx("OrtenTimer", 1000*2, false, "d", playerid);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Falsche ID!");
    }
    }
    return 1;
    }

  • Ich würde es so machen(nicht getestet):


    Spoiler anzeigen
    new OrtTimer[MAX_PLAYERS];

    Spoiler anzeigen
    if(strcmp(cmd, "/orten", true) == 0)
    {
    new bool:on;
    if(IsPlayerConnected(playerid))
    {
    if(!IsACop(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
    return 1;
    }
    if(on == false)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /orten [Spieler ID]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    new Float:X,Float:Y,Float:Z;
    on = true;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    OrtTimer[playerid] = SetTimerEx("OrtenTimer", 1000*2, false, "d", playerid);
    SendClientMessage(playerid,Rot,"Du hast das Orten gestartet...");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Falsche ID!");
    }
    }
    else if(on == true)
    {
    KillTimer(OrtTimer[playerid]);
    on = false;
    SendClientMessage(playerid,Rot,"Du hast das Orten abgebrochen!");
    }
    }
    return 1;
    }

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • if(strcmp(cmd, "/orten", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(!IsACop(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /orten [Spieler ID]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Falsche ID!");
    }
    }
    return 1;
    }

  • Ungetestet.



    new MoveTimerIDs[MAX_PLAYERS] = {0, ...};


    public OnPlayerDisconnect(playerid) {
    KillTimer(MoveTimerIDs[playerid]);
    return 1;
    }


    forward MoveTimer(playerid, user);
    public MoveTimer(playerid, user) {
    new Float:X, Float:Y, Float:Z;
    DisablePlayerCheckpoint(playerid);
    GetPlayerPos(user, X, Y, Z);
    SetPlayerCheckpoint(playerid, X, Y, Z, 6);
    return 1;
    }


    if(strcmp(cmd, "/orten", true) == 0) {
    tmp = strtok(cmdtext, idx);


    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /orten [Spieler ID]");
    if(!IsACop(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");


    new Float:X,
    Float:Y,
    Float:Z,
    user = ReturnUser(tmp);


    if(!IsPlayerConnected(user)) return SendClientMessage(playerid, COLOR_GREY, "Falsche ID!");


    GetPlayerPos(user, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y, Z, 6);
    MoveTimerIDs[user] = SetTimerEx("MoveTimer", 5000, true, "ii", playerid, user);
    return 1;
    }



  • gibt jetzt aber ein problem man kann des nichtmehr löschen :S

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Deine Fehlerbeschreibung ist suboptimal. Quellcode und klare Fehlerbeschreibung bitte.

  • Deine Fehlerbeschreibung ist suboptimal. Quellcode und klare Fehlerbeschreibung bitte.


    Doch nicht hier es sagt immer wieder "Du bist kein Hitman obwohl ich in der Fraktion bin


    //Hitman Orten
    if(strcmp(cmd, "/horten", true) == 0) {
    tmp = strtok(cmdtext, idx);


    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /horten [Spieler ID]");
    if(PlayerInfo[playerid][pMember] == 8 || PlayerInfo[playerid][pLeader] == 8) return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Hitman Mitglied!");


    new Float:X,
    Float:Y,
    Float:Z,
    user = ReturnUser(tmp);


    if(!IsPlayerConnected(user)) return SendClientMessage(playerid, COLOR_GREY, "Falsche ID!");


    GetPlayerPos(user, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y, Z, 6);
    MoveHTimerIDs[user] = SetTimerEx("MoveHTimer", 1000, true, "ii", playerid, user);
    return 1;
    }


    das mit dem Cop befehl geht nur für hitman nicht hatte es alles kopiert..

    2 Mal editiert, zuletzt von CengizHan ()