Beiträge von coVer

    Das würde dann etwa so ausschauen,



    if(newkeys & KEY_FIRE) // Ob der Spieler die Linke Maustaste betätigt
    {
    if(IsPlayerInFrak(playerid,Feuerwehr)) // Ob der Spieler ein Feuerwehrmann ist
    {
    if(IsPlayerInAnyVehicle(playerid)) // Ob der Spieler in einem Fahrzeug sitzt
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(vehicleid) == 407) // ob er in einem Feuerwehrwagen sitzt
    {
    if(wasser[vehicleid] == 0) // Deine Funktion fürs Wasser
    {
    SendClientMessage(playerid,farbe,"Dein Wasser ist aufgebraucht, geh nachfüllen!"); // Eine Nachricht, dass er kein Wasser mehr hat.
    return 0; // Die Linke Maustaste blockieren
    }
    }
    }
    }
    }








    Ungetestet! Musst es natürlich an dein Script anpassen.


    MfG


    if(killerid != INVALID_PLAYER_ID)
    {
    SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
    GivePlayerMoney(killerid, 500);
    return 1;
    }
    else if(playerid !=INVALID_PLAYER_ID)
    {
    SetPlayerScore(playerid,GetPlayerScore(playerid) -1);
    GivePlayerMoney(playerid,-500);
    return 1;
    }





    Bitteschön, das ganze unter OnplayerDeath.


    MfG

    Ich glaube sowas ist nicht möglich, da es keine Funktion gibt diese Löschfunktion bzw. den Wasserwerfer zu blockieren o.Ä.


    Du könntest nachdem die 100L Wasser abgelaufen sind, die Linke Maustaste blockieren, jedoch hat jeder Spieler seine eigene Tastenbelegung.


    MfG

    Hattest du davor bereits eine externe Grafikkarte drinnen? Wenn ja, die rausschrauben, gucken ob sie eine externe Stromzufuhr gebraucht hatte oder nicht.


    Kannst du eventuell erkennen ob die neue Grafikkarte die du bekommen hast eine externen Stromzufuhr braucht? Dürfte ein 6 PIN Einschubloch sein. Wenn ja, müsste das Netzteil von dir auch eins haben.


    Welchen Anschluss benutzt dein Monitor? HDMI,DVI, etc...


    Bist du dir auch sicher, dass du den Monitorstecker auch in die Grafikkarte einsteckst und nicht in die Onboard Grafikkarte des Mainboards?


    Eventuell würden Fotos helfen.


    Wenn du Zeit findest, mach mal ein Foto von der Grafikkarte und deinem PC Innenraum.


    MfG,


    coVer

    Brain.exe ist das beste Antivirenprogramm

    Hilft aber nicht immer ;).


    Es gibt ab und zu eine Aktion von Computerbild, auf der Heft-CD ist dann ein Kasperksy-Securitycenter vorhanden, welches du installieren kannst. Einen Aktivierungscode kannst du dir immer neu zuschicken lassen wenn er abgelaufen ist.


    Jedoch ist diese Aktion nicht immer. Falls sie sein sollte, lohnt es sich die 2,70€ für die Heft-CD auszugeben. Benutze das Virenprogramm seit 2 Jahren auf 2 Laptops, bisher ohne Probleme.


    MfG,


    coVer

    Vielleicht solltest du ihm noch erklären wo der Fehler lag, damit er es in Zukunft auch selber verbessern kann, nur so als kleiner Tipp, denn alles vorkauen bringt auch nicht viel.


    MfG

    Es soll lediglich ein Tutorial sein wie man es erstellt. Ich hab nirgendwo geschrieben, dass es Resourcenschonend ist oder viele Resourcen verbraucht. Natürlich kann man es auf andere Weißen lösen, ich habe jedoch die genommen...

    Abend Brotfische,


    in diesem Tutorial möchte ich euch erklären, wie man eine genau Lebensanzeige in dem Lebensbalken scriptet.




    Schritt 1. - TextDraw definierung.


    Erst einmal müssen wir das Textdraw für jeden Spieler definieren. Einfach Im Script oben unter den restlichen News einfügen.



    new Text:lebensanzeige[MAX_PLAYERS];



    Damit haben wir nun den Text für jeden Spieler definiert, da wir das Max_Players in Klammern dahinter gesetzt haben.


    Schritt 2. - TextDraw erstellen.


    Nun kommen wir zum erstellen des TextDraws.


    Wichtig ist es, dass ihr es unter "OnPlayerConnect" erstellt und nicht unter "OnGameModeInit", da wir ja für jeden Spieler ein eigenes brauchen.



    public OnPlayerConnect(playerid)
    {
    lebensanzeige[playerid] = TextDrawCreate(563.000000,67.000000,"100"); // Das ist die genaue Position in dem Lebensbalken.
    TextDrawSetShadow(lebensanzeige[playerid],0); // Damit die Schrift keinen Schatten hat.
    TextDrawFont(lebensanzeige[playerid],1); // Die Schriftart, finde ich meiner Meinung nach am besten.
    TextDrawLetterSize(lebensanzeige[playerid],0.410000,0.799999); // Die Schriftgröße, passt somit genau in den Lebensbalken.
    SetTimerEx("hpanzeige",1000*10,true,"i",playerid); // Einen Timer, damit die Lebensanzeige nachher geupdatet werden kann.
    return 1;
    }


    Nun haben wir das TextDraw für jeden Spieler, der Connected, erstellt.


    Schritt 3. - TextDraw zeigen / verstecken


    Damit diese Lebensanzeige im Lebensbalken auch sichtbar wird, müssen wir nun unter "OnPlayerSpawn" den TextDraw sichtbar machen.



    public OnPlayerSpawn(playerid)
    {
    TextDrawShowForPlayer(playerid,lebensanzeige[playerid]);
    return 1;
    }



    beim Tod soll dieser für den Spieler unsichtbar gemacht werden, deshalb unter "OnPlayerDeath":



    public OnPlayerDeath(playerid, killerid, reason)
    {
    TextDrawHideForPlayer(playerid,lebensanzeige[playerid]);
    return 1;
    }



    Dann hätten wir schon mal das TextDraw für jeden Spieler erstellt, dass es beim Spawnen erscheint und beim Tod verschwindet. Jetzt bearbeiten wir die Funktion des Timers, damit die Lebensanzeige auch mit dem aktuellen Leben des Spielers übereinstimmt.


    Schritt 4. - Timer


    Den Timer haben wir als



    SetTimerEx("hpanzeige",1000*10,true,"i",playerid); // 10 Sekunden, damit das alles möglichst schnell geupdatet wird.



    unter "OnPlayerConnect" definiert.


    Dann gehen wir ganz runter ins Script und fügen folgendes ein:



    forward hpanzeige(playerid);
    public hpanzeige(playerid)
    {
    new hptext[64]; // Der String für die Zahlen die geupdatet werden.
    new Float:HP; // Eine neue Float, damit wir das Leben des Spielers auslesen können.
    GetPlayerHealth(playerid,HP); // Das Leben des Spielers herausfinden.
    format(hptext, sizeof(hptext),"%d",floatround(HP)); // Hier wird das herausgelesene Leben in einen String gepackt.
    TextDrawSetString(lebensanzeige[playerid],hptext); // Und hiermit wird der String im TextDraw geupdatet.
    }



    Damit hätten wir in vier einfachen Schritten, eine genaue Serverseitige Lebensanzeige.


    Dies kann man natürlich auch mit der Rüstung des Spielers machen.


    Ich hoffe ich konnte es euch so leicht wie möglich erklären, falls noch Fragen offen sein sollten, könnt ihr diese ruhig stellen


    Mit freundlichem Gruß,


    coVer

    Okay, sorry mein Fehler.


    Probier mal die Hide-Funktion ganz oben reinzufügen und schau ob die anderen auch dannach noch ausgeführt werden.



    if(GetPVarInt(playerid,"AdminDuty") == 1)
    {
    TextDrawHideForPlayer(playerid, Textdraw11[playerid]);//Das will nicht
    SetPlayerColor(playerid,0xFFFFFF00);
    ResetPlayerWeapons(playerid);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,0);
    format(string,sizeof(string),"{FFFFFF}>>%s hat sich als %s {FFFFFF}abgemeldet.<<",SpielerName(playerid),adminname);
    SendClientMessageToAll(cGold,string);
    ChatLog(SpielerName(playerid), string);
    DeletePVar(playerid,"AdminDuty");
    return 1;
    }


    Probiers mal so:



    if(GetPVarInt(playerid,"AdminDuty") == 1)
    {
    SetPlayerColor(playerid,0xFFFFFF00);
    ResetPlayerWeapons(playerid);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,0);
    format(string,sizeof(string),"{FFFFFF}>>%s hat sich als %s {FFFFFF}abgemeldet.<<",SpielerName(playerid),adminname);
    SendClientMessageToAll(cGold,string);
    ChatLog(SpielerName(playerid), string);
    TextDrawHideForPlayer(playerid, Textdraw11[playerid]);//Das will nicht
    DeletePVar(playerid,"AdminDuty");
    return 1;
    }
    else if(GetPVarInt(playerid,"AdminDuty") == 0)
    {
    SetPlayerColor(playerid,cBlue);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,100);
    format(string2,sizeof(string2),"{FFFFFF}>>%s hat sich als %s {FFFFFF}angemeldet.<<",SpielerName(playerid),adminname);
    SendClientMessageToAll(cGold,string2);
    ChatLog(SpielerName(playerid), string2);
    TextDrawShowForPlayer(playerid, Textdraw11[playerid]);
    SendClientMessage(playerid,cYellow,"Du bist nun ein Vorbild Benimm dich!");
    SendClientMessage(playerid,cYellow,"Für weitere hilfe /ahelp eingeben.");
    SetPVarInt(playerid,"AdminDuty",1);
    return 1; // Das Return fehlte
    }





    Ein Return fehlte, und ich habe die Abfrage etwas verändert.


    MfG