3D Text - Cops

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 Abend, breadfish'ler!


    Habe zur Zeit das Problem, dass das Wantedlabelsystem nicht funktioniert.
    Scripttechnisch müsste es eigentlich zu 100% klappen, aber in der Praxis schaut das leider ganz anders aus, denn die Labels werden nicht gesetzt.


    Es sollen Labels sein, die nur Cops sehen können.


    Meine Funktion dazu sieht folgendermaßen aus:


    stock SetWantedLabel(attachid)
    {
    new label[128];
    format(label,sizeof(label),"[%d] %s\nWantedlevel: %i\nGrund: %s",attachid,SpielerName[attachid],pInfo[attachid][Wanteds],pInfo[attachid][lastreason]);
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(attachid,X,Y,Z);
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(pInfo[i][Fraktion] == 4 || pInfo[i][Fraktion] == 9)
    {
    if(pInfo[attachid][Wanteds] > 0)
    {
    if(HaveWantedLabel[attachid] == 0)
    {
    wantedlabel[attachid] = CreatePlayer3DTextLabel(i,label,COLOR_RED,X,Y,Z,20.0,attachid,INVALID_VEHICLE_ID,0);
    HaveWantedLabel[attachid] = 1;
    }
    else if(HaveWantedLabel[attachid] == 1)
    {
    UpdatePlayer3DTextLabelText(i,wantedlabel[attachid],COLOR_RED,label);
    }
    }
    else DeletePlayer3DTextLabel(i,wantedlabel[attachid]);
    }
    else DeletePlayer3DTextLabel(i,wantedlabel[attachid]);
    }
    }


    Jede Hilfe ist willkommen! Das System wäre sehr wichtig für mich.


    Mit freundlichen Grüßen,


    Soul

  • Versuch das mal bei OnPlayerStreamIn anzuzeigen und bei OnPlayerStreamOut zu löschen.


    //edit habe es so gemacht, trzdm sehen andere Spieler dass dann halt auch, aber bei mir funktioniert CreatePlayer3DTextLabel auch nicht richtig. :/

    Spoiler anzeigen
    10 Beiträge [X]
    50 Beiträge [X]
    100 Beiträge [X]
    150 Beiträge [X]
    200 Beiträge [X]
    250 Beiträge [X]
    300 Beiträge [X]
    350 Beiträge [X]
    400 Beiträge [X]
    450 Beiträge [X]
    500 Beiträge [X]
    550 Beiträge []
    600 Beiträge []
    650 Beiträge []
    700 Beiträge []
    750 Beiträge []

  • OnPlayerStreamIn= Wenn eine playerid für eine andere playerid sichtbar wird.
    OnPlayerStreamOut= Wenn eine playerid für eine andere playerid nicht mehr sichtbar ist.


    So würde ich es jetzt in etwa beschreiben ^^

    Spoiler anzeigen
    10 Beiträge [X]
    50 Beiträge [X]
    100 Beiträge [X]
    150 Beiträge [X]
    200 Beiträge [X]
    250 Beiträge [X]
    300 Beiträge [X]
    350 Beiträge [X]
    400 Beiträge [X]
    450 Beiträge [X]
    500 Beiträge [X]
    550 Beiträge []
    600 Beiträge []
    650 Beiträge []
    700 Beiträge []
    750 Beiträge []

  • Beim Spawn oder wie Objekte die ab einer bestimmten Entfernung streamen? :D


    das die Player streamen, ja :D

    Spoiler anzeigen
    10 Beiträge [X]
    50 Beiträge [X]
    100 Beiträge [X]
    150 Beiträge [X]
    200 Beiträge [X]
    250 Beiträge [X]
    300 Beiträge [X]
    350 Beiträge [X]
    400 Beiträge [X]
    450 Beiträge [X]
    500 Beiträge [X]
    550 Beiträge []
    600 Beiträge []
    650 Beiträge []
    700 Beiträge []
    750 Beiträge []

  • So, hab's mal eingebaut, funktioniert aber nicht.


    stock CreateWantedLabel(attachid,forplayerid)
    {
    new label[128];
    format(label,sizeof(label),"[%d] %s\nWantedlevel: %i\nGrund: %s",attachid,SpielerName[attachid],pInfo[attachid][Wanteds],pInfo[attachid][lastreason]);
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(attachid,X,Y,Z);
    if(pInfo[forplayerid][Fraktion] == 4 || pInfo[forplayerid][Fraktion] == 9)
    {
    if(pInfo[attachid][Wanteds] > 0)
    {
    if(HaveWantedLabel[attachid] == 0)
    {
    wantedlabel[attachid] = CreatePlayer3DTextLabel(forplayerid,label,COLOR_RED,X,Y,Z,20.0,attachid,INVALID_VEHICLE_ID,0);
    HaveWantedLabel[attachid] = 1;
    }
    else if(HaveWantedLabel[attachid] == 1)
    {
    UpdatePlayer3DTextLabelText(forplayerid,wantedlabel[attachid],COLOR_RED,label);
    }
    }
    else DeletePlayer3DTextLabel(forplayerid,wantedlabel[attachid]);
    }
    else DeletePlayer3DTextLabel(forplayerid,wantedlabel[attachid]);
    }


    stock DeleteWantedLabel(attachid,forplayerid)
    {
    if(pInfo[forplayerid][Fraktion] == 4 || pInfo[forplayerid][Fraktion] == 9)
    {
    DeletePlayer3DTextLabel(forplayerid,wantedlabel[attachid]);
    HaveWantedLabel[attachid] = 0;
    }
    }


    public OnPlayerStreamIn(playerid, forplayerid)
    {
    CreateWantedLabel(playerid,forplayerid);
    return 1;
    }


    public OnPlayerStreamOut(playerid, forplayerid)
    {
    DeleteWantedLabel(playerid,forplayerid);
    return 1;
    }


    Hat jmd. Vorschläge? Hab schon überlegt, man erstellt für alle ein Label und für nicht Cops wird es dann eben beim StreamIn gelöscht, sonst eben ein normales Label.