1 Errors im Cuff Befehl ocmd

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
  • Guten Tag,


    Habe 2 Errors.


    Hier die Errors:


    C:\Users\Alex\Desktop\Testserver\gamemodes\Selfmade.pwn(929) : error 017: undefined symbol "ProxDetectorS"


    Hier der Befehl:



    ocmd:cuff(playerid,params[])
    {
    new pID;
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,Grau,"Du bist kein Beamter.");
    {
    if(sscanf(params, "u", pID))
    {
    SendClientMessage(playerid,Grau, "Nutze: /cuff [ID]");
    return 1;
    }
    if (ProxDetectorS(8.0, playerid, pID))
    {
    new str[128], Officer[MAX_PLAYER_NAME], Spieler11[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Officer, sizeof(Officer));
    GetPlayerName(pID, Spieler11, sizeof(Spieler11));
    format(str, sizeof(str), "Officer %s hat %s Handschellen angelegt", Officer, Spieler11);
    SendClientMessageToAll(Gold, 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,ROT, "Dieser Spieler ist nicht in deiner Nähe."); }
    }
    return 1;
    }

  • wird so geschrieben
    ProxDetector



    hier noma der Stock


    stock ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:posx, Float:posy, Float:posz;
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    GetPlayerPos(i, posx, posy, posz);
    tempposx = (oldposx -posx);
    tempposy = (oldposy -posy);
    tempposz = (oldposz -posz);
    if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))SendClientMessage(i, col1, string);
    else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))SendClientMessage(i, col2, string);
    else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))SendClientMessage(i, col3, string);
    else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))SendClientMessage(i, col4, string);
    else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))SendClientMessage(i, col5, string);
    }
    }
    return 1;
    }

    Aus Herz & Leidenschaft ein Pawn Scripter :love:


  • Danke.


    Aber dann kommt so ein Error....


    C:\Users\Alex\Desktop\Testserver\gamemodes\Selfmade.pwn(929) : error 035: argument type mismatch (argument 3)

  • if (ProxDetector(8.0, playerid, pID))



    //Edit


    Muss ich ProxDetector vl #define`?

  • ProxDetectorS ist schon richtig.

    Er kann auch "RoflXD232" schreiben, kommt drauf an wie der Stock oder Public heißt :)


    //EDIT das macht man aber anders:


    forward Float:GetDistanceBetweenPlayers(playerid,pID);


    if(GetDistanceBetweenPlayers(playerid,pID) <= 8) // Wenn er mindestens 8 Meter dran ist.



    public Float:GetDistanceBetweenPlayers(playerid,pID)
    {
    new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
    if(!IsPlayerConnected(playerid) || !IsPlayerConnected(pID))
    {
    return -1.00;
    }
    GetPlayerPos(playerid,x1,y1,z1);
    GetPlayerPos(pID,x2,y2,z2);
    return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    }

    Aus Herz & Leidenschaft ein Pawn Scripter :love:


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ProxDetector mißt den Abstand zu einem Punkt.
    ProxDetectorS den Abstand zwischen 2 Spielern!

  • Habe noch ein Problem.


    Wenn ich jemanden Cuffe sieht man das auf dem Ganzen Server.


    Wie kann ich machen das man das nur in einem bestimmten Radius sieht?


    Gruß

  • Wenn du schon so arbeitest, könntest du eine Schleife erstellen.


    Dort fragst du ab if(ProxDetectorS(playerid, i, 5.0))
    Und dann sendest du dem Clienten i die Nachricht!;)


  • for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(ProxDetectorS(playerid, i, 5.0))
    {
    SendClientMessage(i, DEINEFARBE, stringoderso);
    }
    }

  • Raffe es grade nicht....


    Könntest du das mal kurz hier in den Cuff ocmd einbauen?
    Wäre sehr Nett.


    Viele Grüße