[Include] Script-Feuer

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
  • Tag,
    ich hatte Gestern die Idee für ein gescriptetes Feuer mit Leben und habs auch gleich versucht. Das Script besteht in der Standartfassung aus keinem Timer (nur OnPlayerUpdate)


    VIDEO:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Jedes einzelne Feuer hat eine gewisse Anzahl an Leben (kann man bei jedem Einstellen)
    Natives:

    Code
    AddFire(Float:X, Float:Y, Float:Z, Firehealth);
    DeleteFire(FireID);
    DeleteAllFire();
    IsValidFire(FireID);
    GetClosestFire(playerid);


    Installation:
    1.#include <fire2> oben im Script einfügen
    2. f_init(); in OnGameModeInit und f_OnPlayerUpdate(playerid); in OnPlayerUpdate(playerid); einfügen
    3. Befehle zum Feuer spawnen erstellen


    Extra:
    Es gibt zwei kleine Extras:
    Labels = 3D Texte über dem Feuer welche seine jetzige HP und maximal HP anzeigt.
    Healthdown = Spieler und Fahrzeuge die bei/in den Flammen stehen verlieren HP (600 ms Timer)


    Pastebin link: http://pastebin.com/MJeGjmcR



    Viel spaß :D


    mfg Sniperwolfes

  • Wer die Grundlagen des PAWN Coding versteht, ist das eigentlich ganz simple nachzubauen. Also kein besonderes Include. Trotzdem, hat bis jetzt noch keiner gemacht, weder noch ist jemand auf die Idee gekommen so ein Feuer Include zu schreiben. Hätte man noch etwas Optimieren können. Ansonsten gutes Include :)

  • @tommy2
    das löschen übernimmt ja das script und nicht der feuerlöscher (wenn du das so meinst)


    @shukaz
    stimmt schon^^ ich frage mich seit 0.3a warum das noch niemand gemacht hat! ist ja sogesehen recht simpel

  • Kann mann machen das das "Health" vom feuer weg ist?

  • Lol.
    Mach ma nen Filterscript dazu

    Dieser Beitrag wurde bereits 2853564 mal editiert, zuletzt von »Vanish« (Heute,16:46)
    _______________________________________________________________________________________________________________________________________________________________

  • Du kannst ja machen, dass wenn man zu nah kommt, dass dann eine Variable auf 1 gesetzt wird, und ein Feuer-Objekt an dir klebt.


    das feuer selber ist kein Objekt es gehört zu einem Fackel Objekt wenn man müste man das fuer unter ihm kleben und wenn er dann springt sieht man die fackel.

  • Zitat

    Das Script besteht in der Standartfassung aus keinem Timer (nur OnPlayerUpdate)


    Einfach zu geil :thumbup:


    Besser: "Bei mir laggt nicht der Spieler (nur der Server)" ;)


    Eine schöne Idee, aber es wird Zeit für die nächste Lektion:
    Benutze am besten NIE OnPlayerUpdate !


  • Einfach zu geil :thumbup:


    Besser: "Bei mir laggt nicht der Spieler (nur der Server)" ;)


    Eine schöne Idee, aber es wird Zeit für die nächste Lektion:
    Benutze am besten NIE OnPlayerUpdate !

    Wie Trooper schon sagt ich habs jetzt mal mit
    3 Leuten aufm Homeserver getestet und nach ein
    paar Feuern fängt es richtig an zu ruckeln.


    Gute Idee und guter Gedanke ,
    aber nicht so gut umgesetzt!

  • Wow, 10/10... Das ist einfach genial.. ^^


    Was ich nicht verstehe ist das Löschen des Feuers:
    DeleteFire(FireID);


    Was ist da die FireID, bzw. wie kriege ich sie raus? Also das wenn man neben dem Feuer steht und den Befehl ausführt dass das Feuer gelöscht wird.


    Könnte man irgendwie auch noch den Feuerwehrwagen als Löschmittel hinzufügen? Im Moment gehts ja nur mitm Feuerlöscher, wie könnt man denn abfragen ob der Wasserstrahl auf das Feuer trifft?

  • Ich denke mal du musst die FireID definieren (hab mir das jetzt nicht genauer angeschaut).


    Das wäre dann inetwa so:
    new fire;
    fire = CreateFire(...);


    //Edit: zu 2. schau dir mal an wie das Feuer gelöscht wird + isPlayerInVehicle + isPlayerInRangeOfPoint + OnPlayerKeyStateChange, damit solltest du das lösen können

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

    Einmal editiert, zuletzt von dead ()

  • hab oben include fire2


    if(strcmp(cmd,"/hfire",true) == 0)
    {
    if (!IsACop(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
    if (PlayerInfo[playerid][pRank] < 5)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du mußt mindestens Rang 5 haben um diesen Befehl nutzen zu können!");
    return 1;
    }
    {
    AddFire(playerid);
    }
    return 1;
    }
    if(strcmp(cmd,"/fire",true) == 0)
    {
    if (!IsACop(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
    if (PlayerInfo[playerid][pRank] < 5)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du mußt mindestens Rang 5 haben um diesen Befehl nutzen zu können!");
    return 1;
    }
    {
    DeleteFire(playerid);
    }
    return 1;
    }


    klappt irgendwie net^^

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen