Hola, a pedido del Usuario Erick y por los otros Usuarios que han tenido problemas con el tutorial de kingworld he creado este Tutorial. Si siguen los pasos correctamente les va a funcionar el Bot, sigan todo al pie de la letra.
Grabación
Para grabar un bot debemos tener el FS 'npc_record', si no lo tienen aquí se los dejo:
http://www.megaupload.com/?d=BTFGMEQMDeben colocarlo en la carpeta filterscripts y colocarlo en el server.cfg
Código:
filterscripts npc_record
Los comandos para grabar se deben usar cuando esten logeados con RCON: /rcon login 'contraseña'
/vrecord [Nombre] > Graban en Vehiculo
/ofrecord [Nombre] > Graban a pie (OJO: Antes de comenzar a grabar, en el punto de inicio de la Grabacion guarden la posicion con /save y luego graben)
/stoprecord > Detienen la grabacion (IMPORTANTE: Despues de grabar detengan la grabacion o les podria quedar bug)
El archivo .rec se guarda en la carpeta scriptfiles
Ordenando Archivos
Coloquen el .rec en la carpeta npcmodes > recordings
Crean un nuevo .pwn con este codigo:
Código:
#define RECORDING "Hunter" // Nombre de la Grabacion .rec
#define RECORDING_TYPE 1 // 1 = Bot en Vehiculo - 2 = Bot a pie
#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
#if RECORDING_TYPE == 1 // ESTO NO LO MODIFIQUEN...
public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCExitVehicle() StopRecordingPlayback();
#else
public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
#endif
Lo guardan en la carpeta npcmodes con cualquier nombre y compilan.
Configurando el GM
· Si el BOT es en Vehiculo deben hacer lo siguiente:
Spoiler:
Agregan un new definiendo el nombre del Vehiculo al principio del GM
Ej:
Código:
new NPCVeh;
En OnGameModeInit definen el Vehiculo
Ej:
Código:
NPCVeh = AddStaticVehicle(425,1293.5668,1630.2488,20.4353,86.4402,0,0); // Vehiculo del BOT
Tambien en OnGameModeInit agregamos esto:
Código:
ConnectNPC("NombredelBot","Archivo"); // Nombre que tendra el Bot - Nombre del .amx en NPCMODES
En OnPlayerSpawn:
Código:
if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "NombredelBot", true)) // El nombre debe ser igual al de arriba
{
PutPlayerInVehicle(playerid, NPCVeh, 0); // Nombre del Veh
SetPlayerSkin(playerid, 287); // ID del Skin
return 1;
}
return 1;
}
Y por ultimo en OnPlayerRequestClass
Código:
if (IsPlayerNPC(playerid))
{
SpawnPlayer(playerid);
}
· Si el BOT es a Pie deben hacer lo siguiente:
En OnGameModeInit agregamos esto:
Código:
ConnectNPC("NombredelBot","Archivo"); // Nombre que tendra el Bot - Nombre del .amx en NPCMODES
En OnPlayerSpawn:
Código:
if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "NombredelBot", true)) // El nombre debe ser igual al de arriba
{
SetSpawnInfo(playerid, 0, Skin, X, Y, Z, 0, 0, 0, 0, 0, 0); // Cambien 'Skin' por la ID del Skin y X,Y,Z por las coordenadas del /save en el inicio de la Grabación
return 1;
}
return 1;
}
Y por ultimo en OnPlayerRequestClass
Código:
if (IsPlayerNPC(playerid))
{
SpawnPlayer(playerid);
}
ERRORES FRECUENTES (F.A.Q)
Q: ¿Mi bot es Kickeado del Server?
F: Tal vez es un RP y el nombre de tu Bot no tiene el formato Nombre_Apellido
Q: ¿No aparece mi Bot?
F: Asegurate de que hayas colocado todo bien, codigos, archivos, etc
Q: ¿Mi bot no conecta?
F: En el server.cfg cambia el Numero de maxnpc
Creditos: Leonardo Parisca
Espero que les funcione el Tutorial, me llevo tiempo hacerlo. No vengan a joder diciendo que esta guia la copie de otro lado
Disfrutenla. Saludos
Comentar es Agradecer