/taze in bestimmter reichweite

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
  • Hier mein CMD


    ocmd:taze(playerid,params[])
    {
    if(!isPlayerInFrakt(playerid,5))return 0;
    new dieb;
    new string[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(sscanf(params,"u",playerid,dieb))return SendClientMessage(playerid,hellblau,"/taze [Spieler]");
    format(string, sizeof(string),"%s schießt mit dem Tazer auf dich!",name);
    TogglePlayerControllable(playerid,0);
    SendClientMessage(playerid,hellblau,string);
    SetTimer("frei",1000*60*2,false);
    return 1;
    }




    Ich möchte das er nur in einer reichweite von 3 metern tazern kann.
    ich weis das es mit IsPlayerInRangeOfPoint geht aber bei mir funktoniert es nie richtig. -.-



    danke im voraus :)


    // satz hinzugefügt

  • IsPlayerNearPlayer(playerid, n_playerid, Float:radius){
    new Float:npx, Float:npy, Float:npz;
    GetPlayerPos(n_playerid, npx, npy, npz);
    if(IsPlayerInRangeOfPoint(playerid, radius, npx, npy, npz)){
    return true;
    } else {
    return false;
    }
    }
    sollte dir dabei helfen

  • hier:



    ocmd:taze(playerid,params[])
    {
    if(!isPlayerInFrakt(playerid,5))return 0;
    new Float:pos[3], pID, name[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid,name,sizeof(name));
    if(sscanf(params,"u",playerid,pID))return SendClientMessage(playerid,hellblau,"/taze [Spieler]");
    GetPlayerPos(pID, pos[0],pos[1], pos[2]);
    if(!IsPlayerInRangeOfPoint(playerid, 3, pos[0], pos[1], pos[2]))return SendClientMessage(playerid,farbe,"Du bist nicht in der nähe des Spielers!");
    format(string, sizeof(string),"%s schießt mit dem Tazer auf dich!",name);
    TogglePlayerControllable(pID,0);
    SendClientMessage(playerid,hellblau,string);
    SetTimer("frei",1000*60*2,false);
    return 1;
    }


    MFG


    Mr_x

  • was bring der timer ohne public und forward :D



    //oben hin
    forward frei(playerid);




    //i.wo unten
    public frei(playerid)
    {
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,DEINE FARBE,"Du bist frei und kannst dich wieder bewegen !");
    return 1;
    }



    mach das noch dazu