/freeze Problem!

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
  • Hi,


    also ich habe mir mal eine Art freeze System gebastelt nun wollte ich es gerne so haben das es nur in einer bestimmten Entfernung geht und nich über die ganze Map.




    }
    dcmd_freeze(playerid,params[])
    {
    new zielid;
    if(sscanf(params, "u",zielid))
    {
    return SendClientMessage(playerid,weiß,"Benutzung: /cuff [ID]");
    }
    if(gTeam[playerid] == TEAM_POLICE || IsInAdmin[playerid] == 1)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerConnected(zielid))
    {
    SendClientMessage(playerid,rot,"Es existiert kein Spieler mit dieser ID");
    return 1;
    }
    else
    {
    if(playerid == zielid)
    {
    SendClientMessage(playerid,rot,"Fehler: Du kannst dich nicht selber cuffen");
    return 1;
    }
    else
    {
    new string[256];
    new string2[256];
    new admin[MAX_PLAYER_NAME];
    new zielname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,admin,sizeof(admin));
    GetPlayerName(zielid,zielname,sizeof(zielname));
    format(string,sizeof(string),"Cop %s hat dich gecuffed",admin);
    format(string2,sizeof(string2),"Du hast %s gecuffed",zielname);
    SendClientMessage(playerid,grün,string2);
    SendClientMessage(zielid,grün,string);

    TogglePlayerControllable(zielid,0);
    new string3[256];
    format(string3,sizeof(string3),"Cop: %s hat %s gecuffed",admin,zielname);
    print("-----");
    print(string3);
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid,rot,"Du besitzt nicht die nötige Einstufung zur Ausführung dieses Befehls");
    return 1;
    }
    }
    dcmd_unfreeze(playerid,params[])
    {
    new zielid;
    if(sscanf(params, "u",zielid))
    {
    return SendClientMessage(playerid,weiß,"Benutzung: /uncuff [ID]");
    }

    if(gTeam[playerid] == TEAM_POLICE || IsInAdmin[playerid] == 1)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerConnected(zielid))
    {
    SendClientMessage(playerid,rot,"Es existiert kein Spieler mit dieser ID");
    return 1;
    }
    else
    {
    new string[256];
    new string2[256];
    new admin[MAX_PLAYER_NAME];
    new zielname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,admin,sizeof(admin));
    GetPlayerName(zielid,zielname,sizeof(zielname));
    format(string,sizeof(string),"Cop %s hat dich uncuffed",admin);
    format(string2,sizeof(string2),"Du hast %s ungcuffed",zielname);
    SendClientMessage(playerid,grün,string2);
    SendClientMessage(zielid,grün,string);
    TogglePlayerControllable(zielid,1);
    new string3[256];
    format(string3,sizeof(string3),"Cop: %s hat %s uncuffed",admin,zielname);
    print("-----");
    print(string3);

    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,rot,"Du besitzt nicht die nötige Einstufung zur Ausführung dieses Befehls");
    return 1;
    }
    }

  • einfach eine IsPlayerInRangeOfPoint abfrage für den polizisten.


    z.B.

    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(zielid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(playerid,3.0,X,Y,Z);
    {
    TogglePlayer...........
    }
    else { return SendClientMessage(playerd,0xFFFFFFFF,"Du bist nicht nah genug dran."); }