[Ayuda] Npcs invisibles.
#1

Hola.

Hace un tiempo que me di cuenta que los npcs que colocaba en mi servidor no cargaban pero la verdad no le prestй atenciуn.
Hoy me decidн a crear un sistema el cual requiere de bots para mas realismo pero no veo a los npcs. Los bots conectan y spawnear en el servidor ( toman las IDS, 1, 2 y 3) pero cuando me teleporto a ellos me lleva a la granja pero los bots no se ven.

Lуgicamente tengo la grabaciуn en npcmodes\recordings

Asн tengo el cуdigo:

Esto en npcmodes:

pawn Код:
#include <a_npc>
main(){}

#define REC_NAME "bot" // Aquн deberбn de poner el nombre del archivo .rec
#define NPC_TYPE 0 // 0 serб a pie, cambiamos a 1 si grabemos en vehнculo.

public OnRecordingPlaybackEnd() //Cuando la reproducciуn del bot ha terminado..
{
StartRecordingPlayback(NPC_TYPE, REC_NAME); //Volvemos a empezarla...
return 1;
}

#if NPC_TYPE == 0

public OnNPCSpawn() //Cuando el bot spawnea
{
StartRecordingPlayback(NPC_TYPE, REC_NAME); //Comenzamos la reproducciуn del bot.

return 1;
}

#else

public OnNPCEnterVehicle(vehicleid, seatid) //Cuando el bot entra a un vehнculo
{
StartRecordingPlayback(NPC_TYPE, REC_NAME);
return 1;
}

public OnNPCExitVehicle() //Cuando el bot sale de un vehнculo
{
StopRecordingPlayback();
return 1;
}

public OnPlayerStreamIn(playerid)
{
    SendCommand("/Owned"); //       <---------------- Tienes que agregar est public con el resto
                                 //          DEBAJO DE OnNPCSpawn()
   
    return 1;
}
#endif
En OnGameModeInit:
pawn Код:
ConnectNPC("El_Camello", "bot");
En OnPlayerSpawn:

pawn Код:
if(IsPlayerNPC(playerid))
    {
        new npcname[24];
        GetPlayerName(playerid, npcname, 24);
        if(!strcmp(npcname, "El_Camello", true))
        {
            TogglePlayerControllable(playerid, false);
            SetPlayerSkin(playerid, 106);
            SetPlayerPos(playerid,2356.9739,-1693.7312,13.4225);
            SetPlayerFacingAngle(playerid, 186.2767);
        }
       
        return 1;
    }
Y en el server.cfg tengo ( He quitado la pass rcon para ponerlo aquн ).
pawn Код:
echo Executing Server Config...
lanmode 1
maxplayers 50
port 7777
hostname
gamemode0 gm
filterscripts npc_record
announce 0
plugins streamer.dll sscanf.dll MapAndreas.dll dns.dll
query 1
chatlogging 0
weburl [url]www.sa-mp.com[/url]
onfoot_rate 40
incar_rate 40
weapon_rate 40
stream_distance 300.0
stream_rate 1000
maxnpc 0
logtimeformat [%H:%M:%S]
maxnpc 4
Aclaro que no creo que sea fallo de cуdigo ya que lo probй en un gm de 0 y funciona correctamente.

Tambien tengo colocado

pawn Код:
if(IsPlayerNPC(playerid)) return 1;
en:
  • OnPlayerConnect
    OnPlayerRequestClass
    OnPlayerSpawn
    OnPlayerDisconnect



ї Que puede ser ?.
Reply
#2

Creo que tu error es tener en server.cfg el "maxnpc" en 0 pone en nъmero de la cantidad de bots que tengas.
Reply
#3

Si te fijas peguй el server.cfg y se puede ver el "maxnpc 4".

Los npcs entran en el servidor pero la cuestiуn es que son invisibles. Si me teleporto a ellos me lleva a la granja pero los bots spawnean.
Reply
#4

Quote:
Originally Posted by Jose_grana
Посмотреть сообщение
Si te fijas peguй el server.cfg y se puede ver el "maxnpc 4".

Los npcs entran en el servidor pero la cuestiуn es que son invisibles. Si me teleporto a ellos me lleva a la granja pero los bots spawnean.
Ah disculpa no lo vi, pero ahora veo que tenйs 2 "maxnpc" borra el que tiene 0.

maxnpc 0
logtimeformat [%H:%M:%S]
maxnpc 4
Reply
#5

Los estбs conectando pero no mostrando, prueba asн.

pawn Код:
#include <a_npc>
main(){}

#define REC_NAME "bot" // Aquн deberбn de poner el nombre del archivo .rec
#define NPC_TYPE 0 // 0 serб a pie, cambiamos a 1 si grabemos en vehнculo.

public OnRecordingPlaybackEnd() //Cuando la reproducciуn del bot ha terminado..
{
StartRecordingPlayback(NPC_TYPE, El_Camello); //Volvemos a empezarla...
return 1;
}

#if NPC_TYPE == 0

public OnNPCSpawn() //Cuando el bot spawnea
{
StartRecordingPlayback(NPC_TYPE, El_Camello); //Comenzamos la reproducciуn del bot.

return 1;
}

#else

public OnNPCEnterVehicle(vehicleid, seatid) //Cuando el bot entra a un vehнculo
{
StartRecordingPlayback(NPC_TYPE, El_Camello);
return 1;
}

public OnNPCExitVehicle() //Cuando el bot sale de un vehнculo
{
StopRecordingPlayback();
return 1;
}

public OnPlayerStreamIn(playerid)
{
    SendCommand("/Owned"); //       <---------------- Tienes que agregar est public con el resto
                                 //          DEBAJO DE OnNPCSpawn()
   
    return 1;
}
#endif
Prueba

y cambia el NPC_TYPE por el que uses

PLAYER_RECORDING_TYPE_NONE (0)
PLAYER_RECORDING_TYPE_DRIVER (1)
PLAYER_RECORDING_TYPE_ONFOOT (2)

si no no te va a andar
Reply
#6

Siguen sin aparecer, como dije lo puse en un gm de 0 y funcionaba bien pero al meterlo en mi gm no se ven pero conectan.
Reply
#7

Quote:
Originally Posted by Jose_grana
Посмотреть сообщение
Siguen sin aparecer, como dije lo puse en un gm de 0 y funcionaba bien pero al meterlo en mi gm no se ven pero conectan.
Si el cуdigo es exactamente igual entonces es otra cosa lo que estб pasando, por cierto, їesa cuenta de donde la sacaste?
Reply
#8

Supongo que serб algo del gamemode que puede interferir pero no veo nada raro...

ї Que cuenta ?.
Reply
#9

Quote:
Originally Posted by Jose_grana
Посмотреть сообщение
Supongo que serб algo del gamemode que puede interferir pero no veo nada raro...

ї Que cuenta ?.
La de forum samp, y sн, si es el mismo cуdigo es algo del GameMode, empieza a ver que interfiere
Reply
#10

veo que tienes en OnPlayerSpawn lo que harб al spawnear pero no que tengas la funciуn para spawnearlo, puede ser eso

y sн, si tienes en OnPlayerConnect esa condiciуn aсбdele algo como:

PHP код:
if(IsPlayerNPC(playerid)) return SpawnPlayer(playerid); 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)