SA-MP Forums Archive
[Tutorial] Agregar NPC a un RP - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+----- Forum: Lanzamientos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=59)
+----- Thread: [Tutorial] Agregar NPC a un RP (/showthread.php?tid=108798)



Agregar NPC a un RP - GroX0r - 15.11.2009

[size=20pt][size=10pt][size=10pt]Para empezar usaremos el Filterscript npc_record

abrimos el archivo Server.cfg y nos dirigimos a la linea

FilterScript y agregaremos npc_record
quedandonos asi

Код:
Filterscript npc_record
Una ves echo esto vamos al servidor y utilizamos los siguientes comandos:

Quote:

/vrecord te gravas en un vehiculo

/ofrecord te gravas andando a pie

/stoprecord detienes la gravaciуn

De aqui una ves echa la grabacion, vamos a Scriptfiles y copiamos el archivo que grabamos... ejemplo "Grabacion.rec"
lo copiamos y lo pegamos en la carpeta

Quote:

npcmodes/ recording

luego volvemos acia atras y nos cituamos en "npcmodes" alli creamos un archivo .pawno "NUEVO" y le ponemos el msmo nombre que el archivo que grabamos...

ejemplo mi archivo se llamaba Grabacion.rec y creare el archivo Gravacion.pwn

en ese archivo agregamos lo siguiente....

Quote:

#define RECORDING "Grabacion"
#define RECORDING_TYPE 2 // 1 = si esta en Vehiculos - 2 = si esta Caminando

#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCExitVehicle() StopRecordingPlayback();

solo deben cambiar "GRABACION" por el nombre de su archivo .rec

luego Compilamos y nos vamos al Gm, o al fs que quieran agregarlo.....

************************************************** ********************

ATENCION

************************************************** ********************
----------------------
Vamos a

Quote:
Public OnplayerConnect

Код:
  public OnPlayerConnect(playerid)
  {
    if(IsPlayerNPC(playerid)) // Esta funcion es para verificar si se conecta un Npc
    {
            ShowPlayerMarkers(0); // Esta funcion es para que aparezca en el mapa con color. 1 = Si || 2 = No
       PutPlayerInVehicle(playerid, PorDefecto, 0); // Esto no cmbiarlo, Sin asignar vehiculo el bot no spawnea
     SpawnPlayer(playerid); // Con esto EL bot spawnea sin pasar registros ni nada.... Directamente spawnea
    }
Luego Definimos el vehiculo "PORDEFECTO" ya que sin el el bot no spaneara
Arriba de todo agregamos

Код:
new PorDefecto;
luego en Ongamemodeinit o en OnFilterscript
agregamos

Код:
PorDefecto = AddStaticVehicle(420,2044.8854,1473.2106,10.4494,181.3339,6,1);
es un vehiculo en el agua, apartado de todo, ya que solo se usa para el spawn de los bots, No afecta en anda
Seguimos....

Asta ahora les ecplique como crear los archivos y editar para q los bots spawneen sin ningun error...
Ahoro les explicare a poner el NpC (bot)

Vamos a Ongamemodeinit y agregamos lo siguiente

Quote:

ConnectNPC("NOMBRE_DelNpC","Nombre_Del_NpcMode");

solo deben editar este cod..

aqui un ejemplo de como seria

Quote:

ConnectNPC("Taxista","Grabacion");

Quote:

"NOMBRE_DelNpC" = Nombre q le asignamos y con el cual logeara el npc (bot)
"Nombre_Del_NpcMode" = Nombre del archivo .amx del pawno q esta en la carpeta npcmode q creamos anteriormente

y por ultimo El Npc.... Vamos a onplayerspawn

y agregamos lo siguiente

Quote:

if(!IsPlayerNPC(playerid)) return 0; //

new playername[64];
GetPlayerName(playerid,playername,64);

if(!strcmp(playername,"Taxista",true)) { // Aqui le asignamos el recorrido al bot "TAXISTA"
// PutPlayerInVehicle(playerid, VEHICULO, 0); // Si tu npc tendria q ahcer su recorrido en un vehiculo asignaselo con esta funcion
SetSpawnInfo(playerid, 0, 255, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 ); // Solo cambien el skin
}

pues la funcion

SetSpawnInfo(playerid, 0, 255, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 );

solo modifiquen el numero en rosa que es el skin que tendra el npc

pero por si las dudas se lo explico

SetSpawnInfo(playerid, Team, Skin, coord x, coord y, coord z, Angulo, Arma1, balas, Arma2, Balas, Arma3, Balas ); //

pero eso no haec falta solo cambien skin y ara su recorrido

bueno espero que les aya servido.


Re: [TUTORIAL] Agregar NPC a un RP - Joe19 - 19.11.2009

Muy Bueno lo voy a probar

Me alegra que en este foro aiga gente q hable espaсol


Re: [TUTORIAL] Agregar NPC a un RP - GROVE4L - 20.11.2009

Muy buenb tutorial


Re: [TUTORIAL] Agregar NPC a un RP - RastamaN[BzD] - 03.12.2009

Muy Bueno xD


Re: [TUTORIAL] Agregar NPC a un RP - xenowort - 07.12.2009

exelente muy bueno!

el aporte esta muy bien relatado


Re: [TUTORIAL] Agregar NPC a un RP - Cesar_Biker - 15.01.2010

Esta todo muy bien pero a mi no me va

icluyo los codigos que puse para hacer un conductor de autobus

pawn Код:
public OnPlayerConnect(playerid)
{
    GameTextForPlayer(playerid,"~w~SA-MP: ~r~Las Venturas ~g~MoneyGrub",5000,5);
    SendPlayerFormattedText(playerid, "Welcome to Las Venturas MoneyGrub, For help type /help.", 0);
    gActivePlayers[playerid]++;
    gLastGaveCash[playerid] = GetTickCount();
    return 1;
   
    if (IsPlayerNPC(playerid)) // Esta funcion es para verificar si se conecta un Npc
    {
            ShowPlayerMarkers(0); // Esta funcion es para que aparezca en el mapa con color. 1 = Si || 2 = No
       PutPlayerInVehicle(playerid, PorDefecto, 0); // Esto no cmbiarlo, Sin asignar vehiculo el bot no spawnea
     SpawnPlayer(playerid); // Con esto EL bot spawnea sin pasar registros ni nada.... Directamente spawnea
    }
  return 1;
}
pawn Код:
new PorDefecto;
pawn Код:
PorDefecto = AddStaticVehicle(420,2044.8854,1473.2106,10.4494,181.3339,6,1);
pawn Код:
ConnectNPC("Conductor_Autobus","Autobus");
pawn Код:
public OnPlayerSpawn(playerid)
{
    GivePlayerMoney(playerid, PocketMoney);
    SetPlayerInterior(playerid,0);
    SetPlayerRandomSpawn(playerid);
    TogglePlayerClock(playerid,1);
    return 1;
    if(!IsPlayerNPC(playerid)) return 0; //

    new playername[64];
    GetPlayerName(playerid,playername,64);

    if(!strcmp(playername,"Conductor_Autobus",true)) { // Aqui le asignamos el recorrido al bot "TAXISTA"
    PutPlayerInVehicle(playerid, VEHICULO, 1); // Si tu npc tendria q ahcer su recorrido en un vehiculo asignaselo con esta funcion
    SetSpawnInfo(playerid, 0, 255, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 ); // Solo cambien el skin
    }
}
errores y warnings al copilar:

pawn Код:
C:\Users\Administrador\Desktop\samp03asvr_R4_win32\gamemodes\lvdm.pwn(159) : warning 225: unreachable code
C:\Users\Administrador\Desktop\samp03asvr_R4_win32\gamemodes\lvdm.pwn(268) : warning 225: unreachable code
C:\Users\Administrador\Desktop\samp03asvr_R4_win32\gamemodes\lvdm.pwn(274) : error 017: undefined symbol "VEHICULO"
C:\Users\Administrador\Desktop\samp03asvr_R4_win32\gamemodes\lvdm.pwn(277) : warning 209: function "OnPlayerSpawn" should return a value
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


1 Error.



Re: [TUTORIAL] Agregar NPC a un RP - camiloasc1 - 15.01.2010

GroX0r:
Quote:

...
maxnpc 3 <-- pones el numero de bots en el server.cfg
...

Te falto esta parte

Cesar_Biker:
pawn Код:
public OnPlayerSpawn(playerid)
{
    GivePlayerMoney(playerid, PocketMoney);
    SetPlayerInterior(playerid,0);
    SetPlayerRandomSpawn(playerid);
    TogglePlayerClock(playerid,1);
    return 1;
    if(!IsPlayerNPC(playerid)) return 0; //

    new playername[64];
    GetPlayerName(playerid,playername,64);

    if(!strcmp(playername,"Conductor_Autobus",true)) { // Aqui le asignamos el recorrido al bot "TAXISTA"
    PutPlayerInVehicle(playerid, VEHICULO, 1); // Si tu npc tendria q ahcer su recorrido en un vehiculo asignaselo con esta funcion
    SetSpawnInfo(playerid, 0, 255, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 ); // Solo cambien el skin
    }
return 1;//<--- te falto esto
}



Re: [TUTORIAL] Agregar NPC a un RP - differo - 15.01.2010

Код:
  public OnPlayerConnect(playerid)
  {
    if(IsPlayerNPC(playerid)) // Esta funcion es para verificar si se conecta un Npc
    {
            ShowPlayerMarkers(0); // Esta funcion es para que aparezca en el mapa con color. 1 = Si || 2 = No
       PutPlayerInVehicle(playerid, PorDefecto, 0); // Esto no cmbiarlo, Sin asignar vehiculo el bot no spawnea
     SpawnPlayer(playerid); // Con esto EL bot spawnea sin pasar registros ni nada.... Directamente spawnea
    }
El ShowPlayerMakers(0); -->deberias ponerlo en el on gamemodeinit para que no te de problemas
El PutPlayerInVehicle(playerid, PorDefecto, 0); -->Deberias ponerlo solo en el onplayerspawn
no?


Re: [TUTORIAL] Agregar NPC a un RP - Cesar_Biker - 16.01.2010

Quote:
Originally Posted by camiloasc1
GroX0r:
Quote:

...
maxnpc 3 <-- pones el numero de bots en el server.cfg
...

Te falto esta parte

Cesar_Biker:
pawn Код:
public OnPlayerSpawn(playerid)
{
    GivePlayerMoney(playerid, PocketMoney);
    SetPlayerInterior(playerid,0);
    SetPlayerRandomSpawn(playerid);
    TogglePlayerClock(playerid,1);
    return 1;
    if(!IsPlayerNPC(playerid)) return 0; //

    new playername[64];
    GetPlayerName(playerid,playername,64);

    if(!strcmp(playername,"Conductor_Autobus",true)) { // Aqui le asignamos el recorrido al bot "TAXISTA"
    PutPlayerInVehicle(playerid, VEHICULO, 1); // Si tu npc tendria q ahcer su recorrido en un vehiculo asignaselo con esta funcion
    SetSpawnInfo(playerid, 0, 255, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 ); // Solo cambien el skin
    }
return 1;//<--- te falto esto
}
Me da estos errores, intente incluir el include a_npc pero sigue igual

Код:
C:\Users\Administrador\Desktop\samp03asvr_R4_win32\gamemodes\lvdm(2).pwn(160) : warning 225: unreachable code
C:\Users\Administrador\Desktop\samp03asvr_R4_win32\gamemodes\lvdm(2).pwn(160) : error 017: undefined symbol "IsPlayerNPC"
C:\Users\Administrador\Desktop\samp03asvr_R4_win32\gamemodes\lvdm(2).pwn(272) : warning 225: unreachable code
C:\Users\Administrador\Desktop\samp03asvr_R4_win32\gamemodes\lvdm(2).pwn(272) : error 017: undefined symbol "IsPlayerNPC"
C:\Users\Administrador\Desktop\samp03asvr_R4_win32\gamemodes\lvdm(2).pwn(404) : error 017: undefined symbol "ConnectNPC"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


3 Errors.
Otra cosa lo estoy probando con el lvdm podria ser eso el problema, que es de DM??

Saben que puede pasar les agradeceria mucho



Re: [TUTORIAL] Agregar NPC a un RP - Cesar_Biker - 17.01.2010

Porfavor ayudenme nose lo que pasa gracias