Handschellen System

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
  • Nabend ihr nachtfische,


    hab da nur ne kleine frage an der ich zurzeit hänge ....
    Bin noch recht neu im Geschäft habe aber zurzeit einen Handschellen befehl gemacht der wie folgt aussieht.


    ocmd:hs(playerid,params[])
    {
    if(IsACop(playerid))
    {
    new pID;
    if(sscanf(params, "u", pID))
    {
    SendClientMessage(playerid,F_O, "Benutzung: /hs [ID]");
    return 1;
    }
    if(ProxDetectorS(5.0,playerid,pID))
    {
    new str[128], Officer[MAX_PLAYER_NAME], Spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Officer, sizeof(Officer));
    GetPlayerName(pID, Spieler, sizeof(Spieler));
    format(str, sizeof(str), "Officer %s hat %s Handschellen angelegt", Officer, Spieler);
    SendClientMessageToAll(COLOR_LIGHTBLUE, str);
    SetPlayerSpecialAction(pID,24);
    SetPlayerAttachedObject(pID, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Der Spieler ist nicht in deiner nähe!");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Beamter");
    }
    return 1;
    }
    ocmd:hsab(playerid,params[])
    {
    if(IsACop(playerid))
    {
    new pID;
    if(sscanf(params, "u", pID))
    {
    SendClientMessage(playerid,F_O, "Benutzung: /hsab [ID]");
    return 1;
    }
    if(ProxDetectorS(5.0,playerid,pID))
    {
    new str[128], Officer[MAX_PLAYER_NAME], Spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Officer, sizeof(Officer));
    GetPlayerName(pID, Spieler, sizeof(Spieler));
    format(str, sizeof(str), "Officer %s hat %s Handschellen abgelegt", Officer, Spieler);
    SendClientMessageToAll(COLOR_LIGHTBLUE, str);
    RemovePlayerAttachedObject(pID,0);
    SetPlayerSpecialAction(pID, 0);
    }
    else
    {
    SendClientMessageToAll(COLOR_RED,"Der Spieler ist nicht in deiner nähe!");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Beamter");
    }
    return 1;
    }


    Nun habe ich es fertig. Und nun will mein "Leiter" für den ich in "Arbeite" :D Das es nich Sendclientmessagetoall ist :D Nun versuche ich es die ganze zeit umzuschreiben aber bekomme immer wieder errors .....


    Jemand ne ahnung wie ich es im ungefähren umschreibe. Möchte nich gerne vorgeschrieben bekommen möchte ja was lernen. Aber nen kleiner stupps in die richtige richtung hilft vielleicht.

  • Farbe anpassen ;) , das andere ist ein Stock mit dem du es machen kannst, musst du auf dich anpassen.


    ocmd:hs(playerid,params[])
    {
    if(IsACop(playerid))
    {
    new pID;
    if(sscanf(params, "u", pID)) return SendClientMessage(playerid,F_O, "Benutzung: /hs [ID]");
    if(ProxDetectorS(5.0,playerid,pID))
    {
    new str[128], Officer[MAX_PLAYER_NAME], Spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Officer, sizeof(Officer));
    GetPlayerName(pID, Spieler, sizeof(Spieler));
    format(str, sizeof(str), "Officer %s hat %s Handschellen angelegt", Officer, Spieler);
    PlayerTalkPublic(playerid,FARBE,string,15);
    SetPlayerSpecialAction(pID,24);
    SetPlayerAttachedObject(pID, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Der Spieler ist nicht in deiner nähe!");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Beamter");
    }
    return 1;
    }
    ocmd:hsab(playerid,params[])
    {
    if(IsACop(playerid))
    {
    new pID;
    if(sscanf(params, "u", pID)) return SendClientMessage(playerid,F_O, "Benutzung: /hsab [ID]");
    if(ProxDetectorS(5.0,playerid,pID))
    {
    new str[128], Officer[MAX_PLAYER_NAME], Spieler[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Officer, sizeof(Officer));
    GetPlayerName(pID, Spieler, sizeof(Spieler));
    format(str, sizeof(str), "Officer %s hat %s Handschellen abgelegt", Officer, Spieler);
    PlayerTalkPublic(playerid,FARBE,string,15);
    RemovePlayerAttachedObject(pID,0);
    SetPlayerSpecialAction(pID, 0);
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Der Spieler ist nicht in deiner nähe!");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Beamter");
    }
    return 1;
    }


    stock PlayerTalkPublic(playerid,color,const string[],Float:radius)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    for(new i=0;i<sizeof(MAX_PLAYERS);i++)
    {
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(GetPVarInt(i,"Eingeloggt") == 1)
    {
    if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid))
    {
    if(IsPlayerInRangeOfPoint(i,radius,x,y,z))
    {
    SendClientMessage(i,color,string);
    }
    }
    }
    }
    }
    }
    return 1;
    }

  • Klappt perfekt :) Danke dir


    //edit


    Kleine frage am Rande bekommt es auch hin eine Fall anim zu machen ? Wenn ich es einfüge tut er es nur 1 mal beim anlegen aber ich würds gerne haben wenn er springt. Klappt das mit ner abfrage ? wenn ja wie würde diese ungefähr aussehen ^^ ?

  • Also zurzeit macht er Ja die Anim : Hände auf den Rücken. So und ich dachte daran das mann vieleicht einbauen kann das wenn, der spieler mit den Handschellen Springt er Hinfällt und dann wieder aufsteht. Heisst das er halt nicht wirklich flüchten kann den wenn er immer hinfällt ist es ja schwerer :D


    //edit


    und wie gesagt als ich es einbaute war es immer nur wenn man ihm die Handschellen anlegte das er einmal hinfällt dann wieder aufsteht. Hoffe man versteht mich :D