Nur an bestimmter Stelle unlimited Health

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
  • Nabend Leute,


    ich hoffe ihr könnt mir helfen und zwar wollte ich, dass man nur wenn man bei mir auf dem Server zu /megaspeed geht unlimited Health hat und nur dort, nirgends anders. Überall wo man sonst is soll man das normale Health von 100 haben und dort wird es auch normal abgezogen.


    Nur bei diesem Objekt brauche ich eben Unsterblichkeit da es da ziemlich abgeht mit einer übelen Abfahrt und lauter Explosionen :)





    Gruß
    Colin

  • ich kanns net mehr soo gut hab grad ers wieder nagefang mit scripten versuchs mit IsPlayerToPoint... SetPlayerHealth(playerid, 10000000000); dann sollte er ersma genug haben dann machste nen timer der jede sekunde überprüft o du in der nähe bist biste nich in der nähe machste wieder SetPl...(playerid, 100);

  • so hab da mal was gemacht ^^


    ganz oben new bool:god[MAX_PLAYERS];
    forward godupdate();


    bei gamemodeint SetTimer("godupdate",2000,1);


    bei playerconnect god[playerid] = false;


    bei playerdeath, oder wo du es halt haben willst, dass der spieler nicht mehr godmode hat das hier god[playerid]=false;


    in den cmd den du haben willst das hier god[playerid]=true;


    und dann noch das hier public godupdate()
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if (god[i] == true)
    {
    SetPlayerHealth(i,10000000);
    return 1;
    }
    }
    return 1;
    }


    müsste klappen, wenns Probleme gibt meld dich =D

  • Ich denke das ist so: Du hast Playergod, du brauchst aber cargod, denn wenn man im Auto sitzt und das Auto explodiert (wenn du kein Cargod hast) bist du sofort tot. Du brauchst ein cargod!

    Alkohol löst keine Probleme, Milch aber auch nicht! ;)

  • SO müsste es gehen


    public godupdate()
    {
    for(new i=0;i<MAX_PLAYERS;i++);
    new currentveh; currentveh = GetPlayerVehicleID(playerid);
    {
    if (god[i] == true)
    {
    SetVehicleHealth(currentveh,10000000);
    return 1;
    }
    }
    return 1;
    }

  • So wird es nicht gehen. Dein Code ist schlecht eingerückt und somit kaum lesbar und außerdem stimt irgendetwas mit den Klammern nicht. "playerid" ist außerdem nicht definiert, weil es nicht übergeben wird.
    for(new i = 0; i < GetMaxPlayers(); i++);
    {
    if(IsPlayerConnected(i))
    {
    if(godmode[i] == true)
    {
    new
    carid = GetPlayerVehicleID(i);
    SetVehicleHealth(carid,1000);
    SetPlayerHealth(i, 9999);
    }
    }
    }

  • Funktion auch iwo wo Leer is ausser in eine andere Klasse
    IsPlayerInArea(playerID, Float:minx, Float:miny, Float:maxx, Float:maxy)
    {
    new Float:X, Float:Y, Float:Z;


    GetPlayerPos(playerID, X, Y, Z);
    if(X >= minx && X <= maxx && Y >= miny && Y <= maxy) {
    return 1;
    }
    return 0;
    }


    OnGameModeInit:
    SetTimer("godupdate",1000,1);


    Wo Leer is, eigene Klasse is klar , nicht in eine Andere Klasse
    public godupdate()
    {
    for(new i=0;i<MAX_PLAYERS;i++);
    {
    if(IsPlayerInArea(i,minimalx,minimaly,maximalx,maximaly)){
    if(IsPlayerInAnyVehicle(i)){ new id = GetPlayerVehicleID(i);SetVehicleHealth(id,100000.0); }
    SetPlayerhealth(i,1000000); }
    }
    }
    return 1;
    }

    Mfg. BlackFoX_UD_ alias [BFX]Explosion