Ja das weiss ich doch selber nur es funktioniert bei mein GM nicht.
Und wollte trosdem die ganzen Brotfischer hier fragen warum es nicht geht habe alles richtig gemacht und auch an der richtigen stellen.
Samp 0.3 Bots Erstellen [überarbeitet]
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
-
-
So hats bei mir geklappt, ich hab ein LARP:
Alles wie im Tutorial machen, nur bei OnPlayerConnect NICHTS hinschreiben!
Als erstes fügt ihr unter
public SetPlayerSpawn(playerid)
Das hier ein:
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "BOTNAME", true)) {
PutPlayerInVehicle(playerid,BOTAUTO,0)
}
return 1;
}Dann unter
public OnPlayerSpawn(playerid)
nochma:
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "BOTNAME", true)) {
PutPlayerInVehicle(playerid,BOTAUTO,0)
}
return 1;
}Dann unter:
public OnPlayerRequestClass(playerid, classid)
das:
new playername[64];
GetPlayerName(playerid,playername,64);
if(IsPlayerNPC(playerid))
{
if(!strcmp(playername,"BOTNAME",true)) {
OnPlayerCommandText(playerid,"/login bot_passwort"); // Ihr müsst zuerst einen Account mit Passwort für den Bot erstell haben
}
}Dann noch unter:
public OnPlayerLogin(playerid,password[])
das:
if(IsPlayerNPC(playerid))
{
if(!strcmp(npcname, "BOTNAME", true))
{
OnPlayerSpawn(playerid);
SpawnPlayer(playerid);
}
return 1;
}
Dann müsste es auch auf dem GF klappen!MfG Cutler
-
Okay ich teste es mal mal sehn ob es geht wenn es geht dann schulde ich dir was
Kannst du das Lieber in ein Filterscript rein packen und Hochladen weil bei mir Funktioniert es nicht !!
-
Du musst das in deinen GameMode bauen sonst funzt das erstrecht nicht
-
Was genau geht denn nicht?
-
Jo habe alles eingebaut nur die Bots wollen nicht los Fahren und verstehe nicht warum ?
-
hast du auch den timer eingebaut
also damit er weiß das er fahren muss sprich im script angegeben die record datei
//geiles deutsch ich glaub ich muss noch an dem forumulieren üben
-
So hats bei mir geklappt, ich hab ein LARP:
Alles wie im Tutorial machen, nur bei OnPlayerConnect NICHTS hinschreiben!
Als erstes fügt ihr unter
public SetPlayerSpawn(playerid)
Das hier ein:
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "BOTNAME", true)) {
PutPlayerInVehicle(playerid,BOTAUTO,0)
}
return 1;
}Dann unter
public OnPlayerSpawn(playerid)
nochma:
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "BOTNAME", true)) {
PutPlayerInVehicle(playerid,BOTAUTO,0)
}
return 1;
}Dann unter:
public OnPlayerRequestClass(playerid, classid)
das:
new playername[64];
GetPlayerName(playerid,playername,64);if(IsPlayerNPC(playerid))
{
if(!strcmp(playername,"BOTNAME",true)) {
OnPlayerCommandText(playerid,"/login bot_passwort"); // Ihr müsst zuerst einen Account mit Passwort für den Bot erstell haben
}
}Dann noch unter:
public OnPlayerLogin(playerid,password[])
das:
if(IsPlayerNPC(playerid))
{
if(!strcmp(npcname, "BOTNAME", true))
{
OnPlayerSpawn(playerid);
SpawnPlayer(playerid);
}
return 1;
}
Dann müsste es auch auf dem GF klappen!MfG Cutler
Ich habe einen Error:
\\Server\samp\Samp3Server\gamemodes\Game.pwn(3438) : warning 225: unreachable code
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4000) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4004) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4009) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4732) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4736) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(5842) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(8392) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(10050) : error 017: undefined symbol "npcname"
\\Server\samp\Samp3Server\gamemodes\Game.pwn(10055) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(10058) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(32096) : warning 235: public function lacks forward declaration (symbol "OnPlayerPrivmsg")
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
Betrifft das hier:
public OnPlayerLogin(playerid,password[])
{if(IsPlayerNPC(playerid))
{
if(!strcmp(npcname, "hubi", true)) //Fehler soll "npcname" sein
{
OnPlayerSpawn(playerid);
SpawnPlayer(playerid);
}
return 1;
}Wer den Error klären kann wäre toill...
Korrektur!
Ich habe folgendes Problem jetzt
\\Server\samp\Samp3Server\gamemodes\Game.pwn(3261) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(3445) : warning 225: unreachable code
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4007) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4011) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4016) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4739) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4743) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(5849) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(8399) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(10057) : error 017: undefined symbol "npcname"
\\Server\samp\Samp3Server\gamemodes\Game.pwn(10061) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(10064) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(32102) : warning 235: public function lacks forward declaration (symbol "OnPlayerPrivmsg")Wieso ist das jetzt ein Fehler und nicht der mit dem npcname !?
Erbitte um mögliche UrsachenerklärungDanke
KLÄRUNG:
Wenn ich nix in public OnPlayerLogin(playerid,password[]) hinzufüge klappts!
-
Schreib mal das drüber:
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname)); -
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));B I N G O
Das Script ist jetzt fehlerfrei!
Nu bin ich ma gespannt.Das Vehicle ist gespawnt.
Kein Player drin
Bot läuft nichtMir ist was aufgefallen!
Ihr nutzt Botname sowie Botauto
Könnte das der fehler sein!? Ist das das selbige!? -
Botname musst du durch den Namen, den du definiert hast ersetzten, genauso Botauto.
-
Botname musst du durch den Namen, den du definiert hast ersetzten, genauso Botauto.
Script ist fehlerfrei
doch Nur das Vehicle ist gespawnt, tut sich leider nix. Ist auch kein Pilot drin...
Wat nu!?\\Server\samp\Samp3Server\gamemodes\Game.pwn(3441) : warning 225: unreachable code
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4003) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4007) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4012) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4735) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(4739) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(5845) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(8395) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(10059) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(10061) : warning 217: loose indentation
\\Server\samp\Samp3Server\gamemodes\Game.pwn(32099) : warning 235: public function lacks forward declaration (symbol "OnPlayerPrivmsg")
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhaseHeader size: 8328 bytes
Code size: 1312652 bytes
Data size: 4627124 bytes
Stack/heap size: 16384 bytes; estimated max. usage=5326 cells (21304 bytes)
Total requirements: 5964488 bytesAber da tut sich nix!
1 Vehicle wurde gespawnt und läuft nicht.
Kein Bot da...
ERBITTE UM HILFE ! Denn nach den obigen vorgaben läuft kein Bot
-
Zitat
hast du auch den timer eingebaut
also damit er weiß das er fahren muss sprich im script angegeben die record datei
Was meinst du damit genau ?
Bei mir sind die aufen Server und das sind sogar die Standardt Bots und habe die in mein GM gebaut aber es funktioniert nicht.
Also die sind aufen Server aber sind nicht in den Fahrzeugen und fahren nicht. -
Was meinst du damit genau ?
Bei mir sind die aufen Server und das sind sogar die Standardt Bots und habe die in mein GM gebaut aber es funktioniert nicht.
Also die sind aufen Server aber sind nicht in den Fahrzeugen und fahren nicht.Ich glaub ich weiss was er meint:
die Records sind drin! Aber das hier meint der bestimmt:#include <a_npc>
// name der recordeten datei (im beispiel war es CARBOT oder ZIVIBOT)
#define RECORDING "hubi"
// Record typ, 1 = in einen fahrzeug, 2 = zu fuß
#define RECORDING_TYPE 1
main()
{
}
public OnRecordingPlaybackEnd()
StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCEnterVehicle(vehicleid, seatid)
StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCExitVehicle()
StopRecordingPlaybackWas anderes wüßte ich nicht!
Das ist aber bei mir vorhandenMir schwant was...
Kann das sein, daß der GM gar nicht auf den NPC Mode zugreift? sondern nur in die GM Ebene!?hm
Ich arbeite an einer Lösung!
Es kann sein, daß die filterscriptdaten vom gl_npc übernommen werden müssen in den GM
zusätzlich der oben aufgeführten Lösungen!Kein Plan!
Beim Lösungschreiber hats ja funzt!
Wieso bei uns nicht!?Werde heute Abend wieder reinschauen!
Vielleicht hat ja einer ne Lösung vor mir parat!
Muß jetzt erstmal zu meiner Familie...WER HIER EINE FUNKTIONIERENDE LÖSUNG REINPOSTET, erhält von mir www.luimi.de
50 Wunschemailadressen
3 Subdomains
beliebige My SQL Datenbanken
Webspace & FTP ZugangIhr könnt dann auch das WoltLab Forum darauf installieren!
Habe auch das php Vollforum da!
Also!
Wer zuerst eine funktionierende Lösung hat! ReinpostenGruß Micha
-
WIR WOLLEN KEINE MAILADRESSE BREINUMER SONDERN WIR WOLLEN DIE BOTS RICHTIG ZUM LAUFEN BRINGEN !!
Und bei mir sind die aufen Server nur das die nicht in ihren ahrzeugen Spawnen.
-
L Ä U F T ->
Folgendes ist auch via Download bei mir vorhanden:
http://www.luimi.de/muster.pwn//--- BOT einfügen in Reg Systemen --- //
//--- New ---
new botname [hier habe ich jetzt mal hubi gelassen]//---public SetPlayerSpawn(playerid) ---
public SetPlayerSpawn(playerid)
{
if(IsPlayerConnected(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "hubi", true)) {
PutPlayerInVehicle(playerid,hubi,0);
return 1;
}
//---public OnPlayerSpawn(playerid) ---
public OnPlayerSpawn(playerid)
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "hubi", true)) {
PutPlayerInVehicle(playerid,hubi,0);
return 1;
}
//---public OnPlayerRequestClass(playerid, classid)---
public OnPlayerRequestClass(playerid, classid)
{
new playername[64];
GetPlayerName(playerid,playername,64);
if(IsPlayerNPC(playerid))
{
if(!strcmp(playername,"hubi",true)) {
OnPlayerCommandText(playerid,"/login BOT_PW"); // Ihr müsst zuerst einen Account mit Passwort für den Bot erstell haben
}
}
//--public OnGameModeInit()---
public OnGameModeInit()
{
ConnectNPC("hubi","hubi");// erstes carbot steht für den namen hier im script, 2tes wie der record heißt!!!!
hubi = CreateVehicle(487, 0.0, 0.0, 0.0, 0.0, 18, 18, -1);
return 1;
//!!!- Hier geht dann gleich weiter! Keiner Klammer schließen!//---public OnPlayerLogin(playerid,password[])---
public OnPlayerLogin(playerid,password[])
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(IsPlayerNPC(playerid))
{
if(!strcmp(npcname, "hubi", true))
{
OnPlayerSpawn(playerid);
SpawnPlayer(playerid);
}
return 1;
}//-- FERTIG //---
//Wenn Du jetzt alles andere aus dem Tutorial gemacht hast, läufts//
// - NPC MOD + Bot.rec sind gemeintWICHTIG
Das ist nur für Reg Systeme GM -
Breinumer brenutzt du den GF Edit oder Selfmade ?
-
Ich poste nochmal etwas genauer:
public OnGameModeInit()
{
//Anderes zeug
BUSBOTA = AddStaticVehicle(437,1624.467651,-2322.659667,13.516200,270.058685,79,7, -1);
BUSBOTB = AddStaticVehicle(437,1191.817382,-1327.586547,13.533300,180.113800,79,7, -1);ConnectNPC("BUSNPCA","L1_AP_KH");
ConnectNPC("BUSNPCB","L1_KH_APN");
//Anderes Zeug für normale Spieler
reutrn 1;
}public SetPlayerSpawn(playerid)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "BUSNPCA", true)) {
PutPlayerInVehicle(playerid,BUSBOTA,0)
return 1;
}
if(!strcmp(npcname, "BUSNPCB", true)) {
PutPlayerInVehicle(playerid,BUSBOTB,0)
return 1;
}
return 1;
}
//Anderes Zeug für normale Spielerpublic OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "BUSNPCB", true))
{
PutPlayerInVehicle(playerid, BUSBOTB, 0);
return 1;
}
if(!strcmp(npcname, "BUSNPCA", true))
{
PutPlayerInVehicle(playerid, BUSBOTA, 0);
return 1;
}
return 1;
}
//Anderes Zeug für normale Spielerpublic OnPlayerRequestClass(playerid, classid)
{
new playername[64];
GetPlayerName(playerid,playername,64);
if(IsPlayerNPC(playerid))
{
if(!strcmp(playername,"BUSNPCA",true)) {
OnPlayerCommandText(playerid,"/login bot_passwort"); //Hier müsst ihr euer vordefiniertes PW, mit dem sich der Bot einloggen soll, hin schreiben.
}
else if(!strcmp(playername,"BUSNPCB",true)) {
OnPlayerCommandText(playerid,"/login bot_passwort"); //Wenn ihr einen 2. Bot, so wie ich habt, dann das ganze nochmal.
}
}
//Anderes zeug für normale Spieler
else //Sucht diese folgenden 5 Zeilen:
{
gTeam[playerid] = PlayerInfo[playerid][pTeam];
}
gPlayerLogged[playerid] = 1; //
SpawnPlayer(playerid);
new npcname[MAX_PLAYER_NAME]; //Und fügt das ab hier darunter ein
GetPlayerName(playerid, npcname, sizeof(npcname));
if(IsPlayerNPC(playerid)) //Checking if the NPC's name is MyFirstNPC
{
if(!strcmp(npcname, "BUSNPCA", true))
{
OnPlayerSpawn(playerid);
SpawnPlayer(playerid);
}
else if(!strcmp(npcname, "BUSNPCB", true))
{
OnPlayerSpawn(playerid);
SpawnPlayer(playerid);
}
return 1;
}
//Anderes Zeug für normale SpielerFügt das genau unter die Zeilen ein, die ich gesagt habe, dann sollte es funktionieren.
-
Breinumer brenutzt du den GF Edit oder Selfmade ?
Beides
Ich habe es mit einem GF probiert, baue jedoch ein neues auf...
Das neue ist noch nicht am start.
Das wird noch 1 Jahr dauern... Selbst von 0 hochzuprogrammieren ist nicht einfach
und braucht Zeit! vor allen Dingen, wenn man für eine Familie auch noch da ist!
Ihr kennt das ja selber. Wenn man vom Bildschirm geholt wird, durch rufen..., dann kann man meist wieder fast von vorn anfangen!OK! Aber Ich glaube alles in allem haben wir alle in diesem Thread ganz gut arbeit geleistet.
Nu können wir endlich wieder an was anderes denken, als nur an die NPC Bots.Ich habe für alle die Detaillösung auch in die PWN gesetzt:
http://www.luimi.de/muster.pwn -
Also bei allen bei den das putplayerinvehicle oder sontiges nicht funzt, die abfrage und der rest "If(IsplayerNPC) muss am anfang von public IsPlayerSpawned sein, das war beimir der bug, also als hinweis.