SA-MP Forums Archive
NPC - 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)
+---- Thread: NPC (/showthread.php?tid=536521)



NPC - Metzone - 10.09.2014

Hola, he grabado dos nlcs y he puesto todo en el sv, pero a la hora de abrir el server los npc se desconectan


Re: NPC - Metzone - 11.09.2014

revivooo


Respuesta: NPC - chusothe41 - 11.09.2014

Mira el server.cfg y mira a ver si tienes maxnpc si no lo tienes ponlo


Re: NPC - Metzone - 11.09.2014

Si los tengo.


Re: NPC - Manuel_Franco - 12.09.2014

Usa if(IsPlayerNPC(playerid)) return 1;
en onplayerconnect
onplayerspawn
onplayerrequestclass

ve probando poco a poco donde meterlos y que se queden sobre todo el del onplayerconnect y en server.cfg no se te olvide colocar el maxnpc = Numero de bots que pongas


Re: NPC - Metzone - 19.09.2014

Hola tengo asi lo de los NPCS


pawn Код:
#define MAX_NPCS 10


public OnPlayerRequestClass(playerid, classid)
{
    if(IsPlayerNPC(playerid)) return 1;
    if(gPlayerLogged[playerid] == 1)
    {
        SpawnPlayer(playerid);
    }
    return 1;
}

public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))
    {
        new npcname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, npcname, sizeof(npcname));
        RequestNPCLoad(playerid,npcname);
        return 1;
    }


public OnPlayerConnect(playerid)
{
    if(IsPlayerNPC(playerid)) return 1;


public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(IsPlayerNPC(playerid))
    {
        return 1;
    }



public OnGameModeInit()
{
RequestNPCJoin();


public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(IsPlayerNPC(playerid)) return 1;



function RequestNPCLoad(playerid,npcname[])
{
    if(IsPlayerNPC(playerid))
    {
        if(!strcmp(npcname, "Agente_Clarens", true))
        {
            SetPlayerVirtualWorld(playerid, 0);
            SetPlayerSkin(playerid, 281);
            return 1;
        }
        if(!strcmp(npcname, "Vigilante_Mark", true))
        {
            SetPlayerVirtualWorld(playerid, 0);
            SetPlayerSkin(playerid, 71);
            return 1;
        }
    }
    return 1;
}


function RequestNPCJoin()
{
    ConnectNPC("Agente_Clarens","U9_Guard");
    ConnectNPC("Vigilante_Mark","U8_Medic");
}


function GetClosestNPC(playerid,Float:range)
{
    new x,Float:dis2,player;
    player = -1;
    if(IsPlayerNPC(playerid))
    {
        return player;
    }
    for (x=0;x<MAX_PLAYERS;x++)
    {
        if(IsPlayerConnected(x))
        {
            if(IsPlayerNPC(x))
            {
                if(x != playerid)
                {
                    dis2 = GetDistanceBetweenPlayers(x,playerid);
                    if(dis2 < range && dis2 != -1.00)
                    {
                        range = dis2;
                        player = x;
                    }
                }
            }
        }
    }
    return player;
}


Y en el server.cfg tengo los maxnpcs 10


Respuesta: NPC - Swedky - 19.09.2014

En OnPlayerConnect saca el

pawn Код:
if(IsPlayerNPC(playerid)) return 1;
Y pon

pawn Код:
if(IsPlayerNPC(playerid)) return SpawnPlayer(playerid);



Re: NPC - Metzone - 19.09.2014

Enzo, lo puse como me dijiste, pero se siguen desconectando.


Respuesta: NPC - Swedky - 19.09.2014

Mmm, cбmbialo asн:

pawn Код:
stock RequestNPCLoad(npcid, const npcname[])
{
    SetPlayerSkin(npcid, (!strcmp(npcname, "Agente_Clarens", true)) ? (281) : (71));
}

// Si lo quieres con macro:
#define RequestNPCLoad(%1,%2) SetPlayerSkin(%1, (!strcmp(%2, "Agente_Clarens", true)) ? (281) : (71))

Si eso no funciona, quizбs tengas otro cуdigo que crashee al NPC, me ha pasado.


Re: NPC - Metzone - 20.09.2014

tampoco...