Hallöchen Easy-Scripting Community,
Fan Gemeinde von Pawn...
Lizenz:
[Blockierte Grafik: http://i.creativecommons.org/l/by/3.0/88x31.png]
[Tutorial] Bar Keeper NPC von Bubelbub steht unter einer Creative Commons Namensnennung 3.0 Unported Lizenz.
Vorwort:
Ich möchte euch heute, in meinem ersten Tutorial (vorher nur Software-Dokumentationen etc.), einen Bar Keeper NPC vorstellen.
Diesen kann man ganz leicht auch zum Waffenhändler umfunktionieren.
Auch einen Willkommen´s NPC kann man daraus machen.
Oder vielleicht sogar Quest NPC´s
Nebenbei:
Das Tutorial ist in erster Linie für zwei Personen gemacht, die ohne das Tutorial nicht klar kämen
easy-scripting.net/index.php?p…read&postID=3911#post3911
easy-scripting.net/index.php?p…read&postID=3855#post3855
Schritte:
Schritt 1:
Zu aller erst benötigen wir ein NPC Recording.
Dieses machen wir Ingame.
Einfach an die richtige Position stellen und los legen.
[Blockierte Grafik: http://www.abload.de/thumb/step1gyjqp.png]
/ofrecord bar_keeper
in den Chat eingeben.
Dann einfach kurz warten (3-5 Sekunden). <- Man kann den Bot auch ein bisschen Laufen lassen o.ä.
Und dann /stoprecord eingeben.
Info: Vorher natürlich per RCON einloggen und das passende Filterscript laden. (npc_record).
Schritt 2:
Jetzt haben wir unseren Record von einem NPC, der an einer Stelle steht und sich nicht bewegt....
Jetzt müssen wir das Recording noch verschieben.
Aus dem Ordner "scriptfiles" in den Ordner "npcmodes/recordings".
Schritt 3:
Wir legen uns im Ordner "npcmodes" eine Datei an.
Bsp. "bar_keeper.pwn".
Diese findet ihr auch im Anhang. (Mit Beschriftung etc.)
Hier ist diese in "Klein".
[pwn]#include <a_npc>
main(){}
NextPlayback()
StartRecordingPlayback(PLAYER_RECORDING_TYPE_ONFOOT, "bar_keeper");
public OnRecordingPlaybackEnd()
NextPlayback();
public OnNPCSpawn()
NextPlayback();[/pwn]
Für alle, die etwas lernen wollen: Guckt euch die bar_keeper.pwn in dem Archiv an (Ende des Postes).
Schritt 4:
Nun können wir in unserem Script den Bot spawnen lassen.
[pwn]public OnGameModeInit()
return ConnectNPC("Bar_Keeper", "bar_keeper");[/pwn]
[Blockierte Grafik: http://www.abload.de/thumb/stepoykmu.png]
Schritt 5:
Jetzt soll man in der Nähe des Bots per F/Enter an einen Dialog kommen, in dem der Bot etwas verkauft.
[pwn]public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
if(PRESSED(KEY_SECONDARY_ATTACK))
if(IsPlayerInRangeOfPoint(playerid, 5.0, 410.694030, -1874.031738, 3.852387))
return ShowPlayerDialog(playerid, DIALOG_BAR, DIALOG_STYLE_LIST, "Was möchten Sie?", "Wasser (Nicht betrunken)\nBier (Halbwegs betrunken)\nVodka (Total betrunken)", "Das!", "Nichts, Danke!");
return 1;
}[/pwn]
Man kann auch immer die aktuelle Position des Bots abfragen.
Bsp. wenn er sich bewegt, dass man dann keine genauen Positionen hat.
In dem Beispiel funktioniert das Script auch, wenn der Bot (warum auch immer) nicht gespawnt ist.
Und Schritt 6:
Der Spieler soll sich etwas kaufen. Bzw. die Ware erhalten.
[pwn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)
if(dialogid == DIALOG_BAR)
switch(listitem)
{
case 0: return SetPlayerDrunkLevel (playerid, 0);
case 1: return SetPlayerDrunkLevel (playerid, 5000);
case 2: return SetPlayerDrunkLevel (playerid, 50000);
}
return 1;
}[/pwn]
Wie gesagt, für eine richtig detaillierte Beschreibung empfehle ich euch:
Ladet das Archiv runter und schaut es euch an.
Ich habe alles bestmöglich kommentiert.
Eigentlich jede Zeile ist mit Kommentaren versehen.
Fan Gemeinde von Pawn...
Lizenz:
[Blockierte Grafik: http://i.creativecommons.org/l/by/3.0/88x31.png]
[Tutorial] Bar Keeper NPC von Bubelbub steht unter einer Creative Commons Namensnennung 3.0 Unported Lizenz.
Vorwort:
Ich möchte euch heute, in meinem ersten Tutorial (vorher nur Software-Dokumentationen etc.), einen Bar Keeper NPC vorstellen.
Diesen kann man ganz leicht auch zum Waffenhändler umfunktionieren.
Auch einen Willkommen´s NPC kann man daraus machen.
Oder vielleicht sogar Quest NPC´s

Nebenbei:
Das Tutorial ist in erster Linie für zwei Personen gemacht, die ohne das Tutorial nicht klar kämen

easy-scripting.net/index.php?p…read&postID=3911#post3911
easy-scripting.net/index.php?p…read&postID=3855#post3855
Schritte:
Schritt 1:
Zu aller erst benötigen wir ein NPC Recording.
Dieses machen wir Ingame.
Einfach an die richtige Position stellen und los legen.
[Blockierte Grafik: http://www.abload.de/thumb/step1gyjqp.png]
/ofrecord bar_keeper
in den Chat eingeben.
Dann einfach kurz warten (3-5 Sekunden). <- Man kann den Bot auch ein bisschen Laufen lassen o.ä.
Und dann /stoprecord eingeben.
Info: Vorher natürlich per RCON einloggen und das passende Filterscript laden. (npc_record).
Schritt 2:
Jetzt haben wir unseren Record von einem NPC, der an einer Stelle steht und sich nicht bewegt....
Jetzt müssen wir das Recording noch verschieben.
Aus dem Ordner "scriptfiles" in den Ordner "npcmodes/recordings".
Schritt 3:
Wir legen uns im Ordner "npcmodes" eine Datei an.
Bsp. "bar_keeper.pwn".
Diese findet ihr auch im Anhang. (Mit Beschriftung etc.)
Hier ist diese in "Klein".
[pwn]#include <a_npc>
main(){}
NextPlayback()
StartRecordingPlayback(PLAYER_RECORDING_TYPE_ONFOOT, "bar_keeper");
public OnRecordingPlaybackEnd()
NextPlayback();
public OnNPCSpawn()
NextPlayback();[/pwn]
Für alle, die etwas lernen wollen: Guckt euch die bar_keeper.pwn in dem Archiv an (Ende des Postes).
Für die nächsten Schritte empfehle ich euch, Schaut euch die tutorial.pwn aus dem Archiv an (Ende des Postes).
Schritt 4:
Nun können wir in unserem Script den Bot spawnen lassen.
[pwn]public OnGameModeInit()
return ConnectNPC("Bar_Keeper", "bar_keeper");[/pwn]
[Blockierte Grafik: http://www.abload.de/thumb/stepoykmu.png]
Schritt 5:
Jetzt soll man in der Nähe des Bots per F/Enter an einen Dialog kommen, in dem der Bot etwas verkauft.
[pwn]public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
if(PRESSED(KEY_SECONDARY_ATTACK))
if(IsPlayerInRangeOfPoint(playerid, 5.0, 410.694030, -1874.031738, 3.852387))
return ShowPlayerDialog(playerid, DIALOG_BAR, DIALOG_STYLE_LIST, "Was möchten Sie?", "Wasser (Nicht betrunken)\nBier (Halbwegs betrunken)\nVodka (Total betrunken)", "Das!", "Nichts, Danke!");
return 1;
}[/pwn]
Man kann auch immer die aktuelle Position des Bots abfragen.
Bsp. wenn er sich bewegt, dass man dann keine genauen Positionen hat.
In dem Beispiel funktioniert das Script auch, wenn der Bot (warum auch immer) nicht gespawnt ist.
Und Schritt 6:
Der Spieler soll sich etwas kaufen. Bzw. die Ware erhalten.
[pwn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)
if(dialogid == DIALOG_BAR)
switch(listitem)
{
case 0: return SetPlayerDrunkLevel (playerid, 0);
case 1: return SetPlayerDrunkLevel (playerid, 5000);
case 2: return SetPlayerDrunkLevel (playerid, 50000);
}
return 1;
}[/pwn]
Wie gesagt, für eine richtig detaillierte Beschreibung empfehle ich euch:
Ladet das Archiv runter und schaut es euch an.
Ich habe alles bestmöglich kommentiert.
Eigentlich jede Zeile ist mit Kommentaren versehen.
Archiv zum Download: file-upload.net/download-43153…l_bar_keeper_npc.zip.html
-> Beachtung: Die Server Dateien gehören (c) Sa-MP.com | Nur die Tutorial Dateien gehören Bubelbub
-> Beachtung: Die Server Dateien gehören (c) Sa-MP.com | Nur die Tutorial Dateien gehören Bubelbub