Hallo..
Ich möchte ein NPC erstellen in Game da der ein Zug fahren soll ..
Ich weiß nicht mehr wie man so einen Startet also als Aufnehme?!
Können sie mir helfen.
Hallo..
Ich möchte ein NPC erstellen in Game da der ein Zug fahren soll ..
Ich weiß nicht mehr wie man so einen Startet also als Aufnehme?!
Können sie mir helfen.
Lad dir das gl_npc Filterscript. Dort sind die Bots schon von Anfang an drin.
Lad dir das gl_npc Filterscript. Dort sind die Bots schon von Anfang an drin.
Möchte aber Selber welche erstellen....
Ja dann lad dir das Filterscript NPC_Record. Dann steigst du in einen Zug ein und startets die Aufnahme mit vrecord (Botname). Mit Stoprecord beendest du die Aufnahme. Für die weiteren sachen gibt es hier ein gutes Tutorial. Musst mal die SuFu benutzen.
Filterscript : npc_record Klick mich
Dann halt abfragen Ob er ein Bot ist oder nicht
Code :
public OnGameModeInit()
{
//Bots/NPCS
ConnectNPC("BSNBot","bsnrec");
ConnectNPC("BSNAuto","autorec");
botauto=CreateVehicle(411,1227.1797,-914.0590,42.6812,99.6721,126,126,1);
return 1;
}
ACHTUNG Du musst das mit den botauto dann nur machen, wenn du ein bot hast wie du...
Dann musst du halt die Zug ID, dann die Koordinaten, wo er stehen soll...
Dann geht du unter OnPlayerCOnnect:
public OnPlayerConnect(playerid)
{
//NPC/Bot Abfrage
if(IsPlayerNPC(playerid)) return 1;
}
Damit fragst du ab, ob er Beim connect ein bot ist, da er sich meines Wissen nach nicht einloggen kann...
Dann gehst du unter OnPlayerDisconnect:
public OnPlayerDisconnect(playerid, reason)
{
//NPC/Bot Abfrage
if(IsPlayerNPC(playerid)) return 1;
}
Das gleiche wie oben.
Dann gehst du zu OnPlayerSpawn:
public OnPlayerSpawn(playerid)
{
//NPC Auto
if(!strcmp(SpielerName(playerid),"BSNAuto",true))
{
PutPlayerInVehicle(playerid,botauto,0);
}
//NPC Skin Setzung
if(IsPlayerNPC(playerid))
{
new botname[MAX_PLAYER_NAME];
GetPlayerName(playerid,botname,sizeof(botname));
if(!strcmp(botname,"BSNBot",true))
{
SetPlayerSkin(playerid,26);
}
}
//NPC/Bot Abfrage
if(IsPlayerNPC(playerid)) return 1;
}
Das sind dann die abfragen...
Als ersten musst du dann hat fragen ob es ein Auto gibt, und ob er in einem drinne sitzt...
Dann erklärt sich alles von selber.
Hoffe es hilft dir.
Hier als Test, mit meinen
Bei weiter fragen falls du was nicht verstehst schreib mir eine PN
Du hast da bißchen was vergessen.
Wenn er einen Bot erstellt, welcher in ein Fahrzeug sitzt,
muss er diesen auch eintragen im Script.
oben:
new autobot;
Außerdem ist es unnötig die Bots bei OnPlayerDisconnect disconnecten zu lassen ...
Bringt gar nichts, wenn er einen normalen Bot erstellt, welcher bis zum Server Shutdown connectet bleiben soll.
Außerdem wenn er den Bot erstellt bei OnPlayerSpawn solltest du ebenfalls dazu sagen, dass er auch Scheine geben soll,
ansonsten hüpft der Bot direkt wieder raus, dein OnPlayerSpawn ist ebenfalls unlogisch:
if(IsPlayerNPC(playerid))
{
if(!strcmp(SpielerName(playerid),"BotName",true))
{
//Scheine zuweisen beispiel mit Spieler[playerid][SCHEINNAME] = 1;
//Bot ins Auto bringen mit: PutPlayerInVehicle(playerid,BOTNAME,0);
//Skin zuweisen
}
}
//dadurch du oben ein if mit IsPlayerNPC erstellt hast, brauchst du das nicht bei jeden Bot abfragen sondern kannst mit if(!strcmp weiter arbeiten am schluss eben mit } beenden
Zudem wieso lässt du den Bot bei OnPlayerConnect connecten?
Mach es doch einfacher bei OnGameModeInit ?
Unnötige Sachen. ...
Atomfisch: Wo werden die NPC Gespeichert ?
Wenn du die Ingame aufgenommen hast,
werden die nach /stoprecord unter deinem Scriptfiles Ordner gespeichert.
Wenn du die Ingame aufgenommen hast,
werden die nach /stoprecord unter deinem Scriptfiles Ordner gespeichert.
Ist die aber nicht drin..
Ist die aber nicht drin..
Ingame den Filterscript geladen?
Wenn ja, hast du /vrecord NAME (auch eingeben ? )
bzw. /ofrecord für Bots zu Fuss,
hast du dann auch /stoprecord benutzt?
Wenn ja, befindet sich die .rec Datei im Scriptfiles Ordner bei dir, mit dem Namen denn du eingeben hast.
//edit
@Azuru
Wie du dann den Bot auf den Server bekommst,
musst du folgendes machen:
1. Nimm die .rec Datei verschiebe sie in Ordner -> npcmodes -> recordings
2. Wenn du im Script beispiel: ConnectNPC("Bot1","BotTest"); geschrieben hast, musst du auch die .rec Datei in "BotTest" umbenennen, oder änderst den Namen "BotTest" in den Namen der .rec Datei um
3. Die Datei die im Anhang von meinen Beitrag musst du bei "BOTNAME" den Namen von der .rec Datei eintragen, dann compilen und die .amx Datei unter Ordner -> npcmodes verschieben.
In dieser Datei musst du ebenfalls bei Recording_Type ändern in 1 (Im Fahrzeug aufgenommener Bot) oder in 2 (zu Fuß aufgenommener Bot).