Heal & Armor Dynamisch erstellen?

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
  • Hallo ,


    Es geht darum das man Ingame Heal & Armor Punkte für Fraktionen erstellen kann & diese über Dini dann gespeichert werden.
    Nur leider habe ich es nach dem 7. Anlauf immer noch nicht geschafft .


    Hoffentlich kann mir einer Erklären wie sowas Struckturiert ist , bzw. wie man sowas Scriptet .


    Würde mich sehr Freuen :thumbup: Danke im Vorraus

  • Zitat

    Nur leider habe ich es nach dem 7. Anlauf immer noch nicht geschafft .


    Dann zeig uns mal, wie du es gemacht hast? ;)
    Ist ziemlich einfach: Beim Befehl wir eine Datei erstellt, fertig?
    Man kann dann noch Angeben für welche Fraktion das ist, und dann noch einen Befehl um das zu löschen.

  • Also es sollte so sein :


    Admin gibt befehl "/crateheal [Fraktion]" oder "/createarmor [Fraktion]" ein .


    Es wird eine Datei angelegt wo die Positionen gespeichert wurden


    Es werden die Pickups erstellt (Diese Heal & Armor pickups)


    Beim Laden des Scripts werden die Heal & Armor Pickups wieder erstellt (anhand der Dini Datei)


    Jeder Member der Fraktion die Angegeben wurde kann oder sollte nun /heal & /armor an den beiden Pickups machen können .


    /Edit



    stock Heal(Float:mx,Float:my,Float:mz,fraktion)
    {
    new HDatei[64];
    for(new numb=1;numb<MAX_PLAYERS;numb++)
    {
    format(HDatei,50,"/heal/%s.txt",numb);
    if(!fexist(HDatei))
    {
    dini_Create(HDatei);
    dini_FloatSet(HDatei,"X",mx);
    dini_FloatSet(HDatei,"Y",my);
    dini_FloatSet(HDatei,"Z",mz);
    dini_IntSet(HDatei,"Frktion",fraktion);
    CreatePickup(1239,2,mx,my,mz);
    return 1;
    }
    }
    return 1;
    }


    ocmd:createheal(playerid,params[])
    {
    new Float:mx, Float:my, Float:mz;
    new fraktion;
    if(sscanf(params,"d",fraktion))
    { return SendClientMessage(playerid,COLOR_RED,"Nutze /createheal [Frak]"); }
    GetPlayerPos(playerid ,mx,my,mz);
    Heal(Float:mx,Float:my,Float:mz,fraktion);
    SendClientMessage(playerid,ROT,"Erfolgreich");
    return 1;
    }