Aduty Sirene über kopf?

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

  • Schau dir den Eintrag im Wiki genau an, dann sollte es nicht mehr so schwer sein ;)


    Ich habs mal eben versucht
    Es funkoniert leider nicht.


    if (strcmp(cmd, "/aduty", true) == 0 || strcmp(cmd, "/aduty", true) == 0)
    {
    if(AdminDuty[playerid] == 0)
    {
    if(PlayerInfo[playerid][pAdmin] == 1)
    {
    SendClientMessage(playerid,NAMECOLOR_Ballas,"Du bist nun als Moderator im Dienst!");
    SetPlayerColor(playerid,NAMECOLOR_Ballas);
    AdminDuty[playerid] = 1;
    Mod[playerid] = Create3DTextLabel("*Moderator on Duty*",NAMECOLOR_Ballas,30.0,40.0,50.0,40.0,0);
    Attach3DTextLabelToPlayer(Mod[playerid], playerid, 0.0, 0.0, 0.4);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,sizeof(string),"* Moderator %s[ID:%d] ist nun Onduty *",sendername,playerid);
    SendClientMessageToAll(NAMECOLOR_Ballas, string);
    SetPlayerAttachedObject(playerid, 3, 1609, 2);
    SetPlayerAttachedObject(playerid, 3, 19487, 2, 0.101, -0.0, 0.0, 5.50, 84.60, 83.7, 1, 1, 1, 0xFF00FF00);
    SetPlayerHealth(playerid, 0x7F800000);
    SetPlayerArmour(playerid, 100);
    return 1;
    }

  • SetPlayerHealth(playerid, 0x7F800000);


    Hmm.. du setzt ne Farbe als Health?


    sollte es nicht so lauten:



    SetPlayerHealth(playerid,100.0);



    und was genau geht net?
    Bekommst du Errors ?
    Oder kommt die "Lampe" nicht übern Kopf?

    Scripter Gesucht
    Wir suchen einen Scripter auf den Verlass ist.
    Dieser sollte auch MySQL können.


    TS3 / Page und Server vorhanden!


    Einfach melden ;)

  • Wenn mich nicht alles täuscht hast du aus dem WiKi 1zu1 kopiert .. richtig?
    und wenn man ein bissel englisch kann... sieht man auch was da auf den Kopf kommt ;)




    SetPlayerAttachedObject(playerid, 3, 1609, 2); //Attach a turtle to the playerid's head, in slot 3

    // example of using colors on an object being attached to the player:
    SetPlayerAttachedObject(playerid, 3, 19487, 2, 0.101, -0.0, 0.0, 5.50, 84.60, 83.7, 1, 1, 1, 0xFF00FF00);
    // Attach a white hat to the head of the player and paint it green



    Das Rote lampe wie beim UCL wäre glaube ich die ID 18646

    Scripter Gesucht
    Wir suchen einen Scripter auf den Verlass ist.
    Dieser sollte auch MySQL können.


    TS3 / Page und Server vorhanden!


    Einfach melden ;)

  • Wie auch im Wiki steht.. das waren beispiele wie man z.b. ein Hut übern kopf bekommt ;)


    Ist ja klar das Du es auf das Licht anpassen musst dann ...

    Scripter Gesucht
    Wir suchen einen Scripter auf den Verlass ist.
    Dieser sollte auch MySQL können.


    TS3 / Page und Server vorhanden!


    Einfach melden ;)

  • Da es sich hierbei um mein Script handelt werde ich hier etwas helfen :P


    Zuerst erstelle ich ganz oben im Script eine Variable, in der ich später das Objekt speichere:
    new asirene[MAX_PLAYERS];


    Beim Adminduty-Befehl erstelle ich dann das Objekt und setze es auf den Kopf des Spielers:
    asirene[playerid] = CreateObject(18646,0,0,0,0,0,0,100);
    AttachObjectToPlayer(asirene[playerid],playerid,0.0,0.0,0.93,0,0,0);


    Wenn er nun wieder Offduty als Admin geht muss das Objekt wieder gelöscht werden:
    DestroyObject(asirene[playerid]);


    Solltest du einen Timer haben, der in einem bestimmten Intervall die Spieler durchloopt bietet es sich an, hier immer wieder das Objekt an den Spieler zu attachen, da z.B. durch Teleports manchmal die Sirene irgendwo in der Welt stecken bleibt. Dabei stammt "i" aus einer for new Schleife:
    if(aDuty[i] == 1)
    {
    AttachObjectToPlayer(asirene[i],i,0.0,0.0,0.93,0,0,0);//kopf sirene
    }


    Und nun soll die Leuchte ja auch verschwinden, wenn ein Spieler Adminduty offlinegeht. Folgendes unter OnPlayerDisconnect:
    if(aDuty[playerid] == 1) DestroyObject(asirene[playerid]);
    aDuty[playerid] sollte auch wieder auf 0 gesetzt werden.


    @Skype_x3:
    Ich hoffe ich konnte helfen.