Playerheal in einem bestimmten Vehicle

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
  • Ich möchte, dass der Spieler, wenn er sich in einen Wagen mit BESTIMMTER Id setzt im 1sekundentakt geheilt wird und dass er, wenn er den Wagen verlässt aber auch wieder verwundbar ist.
    Ich hab schon ein paar Lösungen ausprobiert, die aber alle nicht funktioniert haben. (Ich bin schon an dem Timer gescheitert) xD
    Es wäre nett, wenn ihr mir helft :thumbup:


    #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

    Der Satz des Dracoblue

  • Als erstes erstellst du einen Timer und speicherst die Timer-ID in einer Variable ab:


    new Timer;


    public OnFilterScriptInit()
    {
    Timer = SetTimer("SpielerHeilen", 1000, 1);
    return 1;
    }


    Danach erstellst du eine public namens SpielerHeilen (das soll ja jede Sekunde aufgerufen werden):



    forward SpielerHeilen();
    public SpielerHeilen()
    {
    for(new i=0; i<GetMaxPlayers(); i++) // erstellt eine Schleife mit "i"
    {
    if(IsPlayerConnected(i) == 1) // falls er mit dem Server verbunden ist...
    {
    if(GetPlayerVehicleID(i) == 1) // sitzt der Spieler in einem Fahrzeug mit der ID: 1 ...
    {
    SetPlayerHealth(i,100); // ... heile ihn
    }
    }
    }
    }


    Jetzt muss der Timer auch zerstört werden, wenn das Script unloaded wird:


    public OnFilterScriptExit()
    {
    KillTimer(Timer);
    return 1;
    }


    Fertig.

    mfg RedDragon 8)


    Was ist GFKD?


    Ein revolutionärer Clan, dessen Eröffnung kurz bevorsteht.
    Mehr Informationen folgen bald.