FarView Spielerlabel V.1.2

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
  • FarView Spielerlabel V.1.2


    Hallo,


    dieses Filterscript bietet z.B. Admins die Möglichkeit die Spieler auf ihren Servern, bzw. Infos über die Spieler über eine sehr weite Distanz zu sehen. Ich hatte es damals gescriptet da es nützlich war z.B. für Events in denen man den Gewinner sehen muss der als letztes auf dem Feld ist oder gegen Cheater die wegfliegen oder Leute die mit einem Flugzeug z.B. auf euer Event fliegen.


    Der Code müsste so funktionieren wie er gerade ist, ich hab ihn davor nochmal getestet. Bug`s melden & Verbesserungsvorschläge einbringen erwünscht ;) .
    Dieses Script ist geschrieben als Filterscript welches einen kleinen Code im Hauptgamemode braucht. Das Beispiel unten ist auf Godfather abgestimmt, ihr könnt es aber jederzeit ändern.


    Das Script wurde:


    -Gescriptet von: Cody09


    Infos:


    -Das Label wird wenn es aktiviert wird alle ca. 5 Sekunden geupdatet
    -Wenn der Spieler Level 1 ist, also auf vielen Servern ein Neuling wird das Label in der Farbe Türkis angezeigt
    -Ist der Spieler ein Admin bzw. als Admin definiert ist das Label Rot
    -Ist der Spieler ein Normaler Spieler ist das Label Lila


    -> Die Farben können auch geändert werden unter "'Einstellungen" im Script, das mit den Neulingen kann auch unter "Einstellungen" deaktiviert werden


    -Seit v.1.2 kann man unter "Einstellungen auswählen ob man foreach benutzen möchte! Wer foreach benutzen möchte: Download Foreach Dowload


    Befehle:


    -/adminlabelon-> das 3d Label anschalten
    -/adminlabeloff-> das 3d Label ausschalten


    Installation:


    1. Das Filterscript wie gewohnt in der server.cfg unter Filterscripts das Script "farview" (ohne "") hinzufügen
    2. Dann gehe in deinen Gamemode und kopiere die beiden Funktionen an das Ende deines Scriptes:

    forward GetPlayerFarLevel(playerid);
    public GetPlayerFarLevel(playerid)
    {
    return PlayerInfo[playerid][pLevel];
    }

    forward GetPlayerFarAdminLevel(playerid);
    public GetPlayerFarAdminLevel(playerid)
    {
    return PlayerInfo[playerid][pAdmin];
    }
    3. Jetzt ersetze PlayerInfo[playerid][pAdmin] & PlayerInfo[playerid][pLevel] mit deinen Werten für Admin & Level, bei der Verwendung von Godfather kannst du die Werte so lassen



    Bilder:


    Normaler User:

    Neuling:

    Admin:

    Im Auto:


    Download:


    Pastebin ->Sry wenn der Pastebin Code ein wenig verzerrt ist


    Wichtig:


    Mirrors: erlaubt
    Script auf Server verwenden: erlaubt
    Bearbeiten: erlaubt
    Credits entfernen: verboten (Man nennt sowas Höflichkeit ;))
    Veröffentlichen: verboten(Nur auf Anfrage bei mir)
    Verkaufen: verboten


    Rückmeldung erwünscht und konstruktive Kritik ;)


    MfG


    //edit1: eingerückt
    //edit2:bilder eingefügt!
    //edit3: update v.1.1 (bugfixxes)
    //edit4: update v.1.2 (man kann auswählen ob man foreach verwenden will)
    //edit5: -.- titel vergessen zu äntern :D

    4 Mal editiert, zuletzt von Cody09 ()

  • Nice, nice aber warum steht da 2x mal der Name und ID? ;)


    Ansonsten sehr gut 10/10.

  • Toll dieses FS erlaubt mir zwar leute die ca 250m von mir eintfernt sind zu sehen, jedoch nicht wenn sie hinter einer Wand sind.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • bei mir kommen diese Warnings:


    C:\Users\Oliver - Kai\Documents\Selfmade\gamemodes\Selfmade.pwn(249) : error 029: invalid expression, assumed zero
    C:\Users\Oliver - Kai\Documents\Selfmade\gamemodes\Selfmade.pwn(249) : error 029: invalid expression, assumed zero
    C:\Users\Oliver - Kai\Documents\Selfmade\gamemodes\Selfmade.pwn(249) : error 029: invalid expression, assumed zero
    C:\Users\Oliver - Kai\Documents\Selfmade\gamemodes\Selfmade.pwn(249) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    Die Zeile ist die hier:

    SetWerte(playerid);


    der Abschnid bei OnPlayerConnect

    public OnPlayerConnect(playerid)
    {
    new txt[100];
    GetPlayerName(playerid, txt, MAX_PLAYER_NAME);
    format(txt,sizeof(txt),"[Server Connect]: {FFFFFF} %s (ID: %d) hat sich eingeloggt.",txt,playerid);
    SendJoinMessage(Leuchtrot,txt,1);

    SetPVarInt(playerid, "hatlabel",0);
    foreach (Character, ii)
    {
    if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", ii) >= 3 && GetPVarInt(ii, "hatlabel") == 1)
    {
    SetWerte(playerid);
    format(farstring, sizeof(farstring), "%s(%d)\n\nHP:[%.2f]\nARMOUR:[%.2f]\nLevel:[%d]",LabelName,playerid,LabelLeben,LabelArmour,LabelLevel);
    if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", playerid) >= 1)
    {
    LabelID[ii][playerid] = CreatePlayer3DTextLabel(ii,farstring,0xF50000FF,0,0,0.9,250,playerid,INVALID_VEHICLE_ID,1);
    }
    else
    {
    if(LabelLevel == 1)
    {
    LabelID[ii][playerid] = CreatePlayer3DTextLabel(ii,farstring,0x00FFFAFF,0,0,0.9,250,playerid,INVALID_VEHICLE_ID,1);
    }
    else
    {
    LabelID[ii][playerid] = CreatePlayer3DTextLabel(ii,farstring,0xFF00E1FF,0,0,0.9,250,playerid,INVALID_VEHICLE_ID,1);
    }
    }
    }
    }

    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden.\nGib bitte dein Passwort ein!","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte dein gewünschtes Passwort ein!\nDu darfst es nicht weitergeben oder verlieren!!","Registrieren","Abbrechen");
    }

    SendClientMessage(playerid, Weis ,"");
    SendClientMessage(playerid, WilkommensRot ,"---------------------| Herzlich Wilkommen |---------------------.");
    SendClientMessage(playerid, Gelb ,"Dein Account wurde gefunden, du kannst dich einlogen.");
    SendClientMessage(playerid, Gelb ,"Deinen Skin kannst du dir später im Skinshop auswählen.");
    SendClientMessage(playerid, Grün ,"________________________________________________________________.");
    return 1;
    }

  • Ok kurz ein paar Fragen


    Du hast das Tool in deinen Gamemode eingebaut oder??
    Hast du die New´s am Anfang und die Public´s am Ende des Scriptes?
    Verwendest du die Funktion "SetWerte" vllt schon in deinem gamemode also als public?




    #define SetWerte(%0); GetPlayerName(%0,LabelName,MAX_PLAYER_NAME);\
    GetPlayerHealth(%0,LabelLeben);\
    GetPlayerArmour(%0,LabelArmour);\
    LabelLevel = CallRemoteFunction("GetPlayerFarLevel", "d", %0);

    ---------------------------------------------------------------------------------------------------------


    Neue Version v.1.2


    Neuerungen:
    -Man kann nun auswählen ob man foreach benutzen möchte oder nicht


    Ich hoffe das ganze funktioniert so wie ich es gemacht habe, mir ist jetzt grade auch keine bessere Möglichkeit eingefallen das zu lösen, Bugs melden :)


    Download:
    http://pastebin.com/7RumLayV


    Beitrag oben auch schon editiert!

    2 Mal editiert, zuletzt von Cody09 () aus folgendem Grund: Text geändert 2. edit: update!