"Abschussserien" mit Belohnung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • "Abschussserien" mit Belohnung

    "Abschussserien" mit Belohnung

    Hallo,
    dieses Tutorial kommt von der Idee von @_Crytec_: easy-scripting.net/index.php?p…ad&postID=11907#post11907 - zwar etwas spät, aber lieber spät als nie! :)

    _Crytec_ schrieb:

    Ich hätte gern ein Tutorial, indem man sehen kann, wie man jemandem Waffen geben kann, sobald man einem gekillt hat: z.b. 1kill = 9mm, 2kills=desert eagle, 3kills=mp5. MfG ;)Wenn du eins machst, bitte nochmal link als pn schicken
    Was haben wir vor?
    Wir möchten, dass der Spieler nach Abschüssen je nach "Serie" nacheinander verschiedene Waffen bekommt.

    Dazu benutzen wir:
    • Ein Array
    • Den Callback "OnPlayerDeath"
    Ich werde das so machen, dass das für euch kinderleicht erweiterbar ist... :)

    Fangen wir mit dem Array an:
    [pwn]new killUpgrades[3][5] = {
    {500, 24, 1000, 1}, // 1 Kill "Serie"
    {1500, 31, 1000, 1} // 2 Kill Serie
    };[/pwn]

    Dies sind nur mal zwei Beispiele. Was hat es mit diesen ganzen Zahlen auf sich?
    Ganz einfach:
    • Die erste "500"/"1500" steht für das Geld, was der Spieler bekommt, wenn der 1 "Kill" oder eben 2 "Kills" macht.
    • Die zweite "24"/"31" steht für die WaffenID, die er bekommt, wenn er 1 "Kill" oder 2 "Kills" macht
    • Die 1000 steht für die Munition die er bekommt
    • Die 1 steht dafür, dass die bisher vorhandenen Waffen ihm erst abgenommen werden (wenn 0, wird ihm lediglich die Waffe gegeben)
    Ich denke, ihr versteht, was ich meine... :)

    Nun machen wir schlichtweg folgendes im OnPlayerDeath:
    [pwn]SetPVarInt(killerid, "kill_strike", GetPVarInt(killerid, "kill_strike")+1);[/pwn]
    Wir erhöhen die PVar "kill_strike" (Integer) um 1.

    [pwn]if(killUpgrades[GetPVarInt(killerid, "kill_strike")+1][3]) {
    ResetPlayerWeapons(killerid);
    }[/pwn]
    Fragen ab, ob für den Killstrike (bspw. wenn 1 Kill gemacht wurde) es vorgesehen ist, dem Spieler eine Waffe zu geben bzw. abzunehmen, wenn ja werden die Waffen des Spielers "entfernt" bzw. "resettet".

    [pwn]GivePlayerWeapon(killerid, killUpgrades[GetPVarInt(killerid, "kill_strike")+1][1], killUpgrades[GetPVarInt(killerid, "kill_strike")+1][2]);[/pwn]
    Wir geben dem Spieler "killerid" die WaffenID aus der bspw. 1. Zeile, Spalte 1 (Achtung: Arraykeys fangen bei 0 an!) mit Munition aus Zeile 1, Spalte 2.

    [pwn]GivePlayerMoney(killerid, killUpgrades[GetPVarInt(killerid, "kill_strike")+1][0]);[/pwn]
    Wir geben dem Spieler noch das Geld, welches vorgesehen ist.

    Für den Ermordeten "resetten" wir die PVar:
    [pwn]DeletePVar(playerid, "kill_strike");[/pwn]

    Fertig.
    Mehr steckt da soweit nicht hinter, zumindest in meiner Theorie nicht.

    Feedback & Fragen gerne erwünscht! :)
    Grüße.