[Ajuda] FCNPC paradao nao spawna
#1

Queria mexer com a include FCNPC, mas pelo que eu entendi pelas funзхes q tem lб eu criei meu npc, me diz ai oq eu fiz de errado, o que tem que mudar, pela samp wiki й tudo mais fбcil de enteder, tem exemplos e tal, lб no tуpico deles й mу confuso sу diz como й, sу queria mesmo criar esse npc paradгo pra comeзar os testes, comeзar a ver como й

Acho que fiz cagada, mas parecia ser assim:
pawn Код:
FCNPC_Spawn(1, 17, -28.9448,-186.8204,1003.5469); // para spawnar o NPC
    FCNPC_SetAngle(1, 0.3187); // para setar o вngulo do NPC
    FCNPC_Respawn(1);
Reply
#2

Vocк precisa criar (conectar) ele antes, usando:
Код:
FCNPC_Create("NomeNPC");
Nгo esquece tambйm de setar o limite de NPCs no server.cfg, que por padrгo й 0. Depois de criar o NPC, ai й sу spawnar que em teoria ele vai aparecer.
Reply
#3

Eu jб tentei assim, mas da erro ;\

topo
pawn Код:
new npcrob1;
ongamemodeinit
pawn Код:
npcrob1 = FCNPC_Create("npcrob1");  // linha 216
    FCNPC_Spawn(npcrob1,-28.9448,-186.8204,1003.5469);
pawn Код:
C:\Users\PC\Desktop\SAMP SERVER\gamemodes\copandrobbers.pwn(216) : warning 213: tag mismatch
C:\Users\PC\Desktop\SAMP SERVER\gamemodes\copandrobbers.pwn(216) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


2 Warnings.
Reply
#4

Quote:
Originally Posted by maikons
Посмотреть сообщение
Eu jб tentei assim, mas da erro ;\

topo
pawn Код:
new npcrob1;
ongamemodeinit
pawn Код:
npcrob1 = FCNPC_Create("npcrob1");  // linha 216
    FCNPC_Spawn(npcrob1,-28.9448,-186.8204,1003.5469);
pawn Код:
C:\Users\PC\Desktop\SAMP SERVER\gamemodes\copandrobbers.pwn(216) : warning 213: tag mismatch
C:\Users\PC\Desktop\SAMP SERVER\gamemodes\copandrobbers.pwn(216) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


2 Warnings.
Os parвmetros que estas usando em FCNPC_Spawn estгo incompletos, tens de segui-los assim:
pawn Код:
FCNPC_Spawn(id, skin, Float:x, Float:y, Float:z);
Cheque se as funзхes estгo funcionando corretamente seguindo o valor de retorno delas, como, por exemplo FCNPC_Spawn mesmo, podes checar se o mesmo й spawnado com sucesso a partir do valor retornado, veja:
pawn Код:
if(!FCNPC_Spawn(id, skin, Float:x, Float:y, Float:z)) return printf("Erro ao Spawnar NPC %d", id);

//Seus valores de retorno sгo: 1 se o NPC for spawnado com sucesso, 0 caso nгo for.
Podes ver os valores que retornam as funзхes no prуprio tуpico do mesmo: here.
Reply
#5

Aaaah valeu bruno, era sу falta de atenзгo mesmo, nгo tinha visto o parametro skin

Mas aн to querendo fazer um sistema de roubos de npc pro meu COP and Robbers, mas tem um probleminha, seguindo a minha logica consegui pegar qnd um cara mira num npc
pawn Код:
new targetplayer = GetPlayerTargetPlayer(playerid);
    if(IsPlayerNPC(targetplayer) && targetplayer != INVALID_PLAYER_ID)
    {
        GameTextForPlayer(playerid, "~R~NPC!", 5000, 3);
    }
Mas como eu faзo pra o seguinte, se ele mirar no npc X
por exemplo

Fiz meu npc assim
pawn Код:
npcrob1 = FCNPC_Create("npcrob1");  // linha 216
    FCNPC_Spawn(npcrob1, 142, -28.9448,-186.8204,1003.5469);
Se ele mirar no npcrob1, o npcrob1 faz uma animaзгo?
Reply
#6

Quote:
Originally Posted by maikons
Посмотреть сообщение
Aaaah valeu bruno, era sу falta de atenзгo mesmo, nгo tinha visto o parametro skin

Mas aн to querendo fazer um sistema de roubos de npc pro meu COP and Robbers, mas tem um probleminha, seguindo a minha logica consegui pegar qnd um cara mira num npc
pawn Код:
new targetplayer = GetPlayerTargetPlayer(playerid);
    if(IsPlayerNPC(targetplayer) && targetplayer != INVALID_PLAYER_ID)
    {
        GameTextForPlayer(playerid, "~R~NPC!", 5000, 3);
    }
Mas como eu faзo pra o seguinte, se ele mirar no npc X
por exemplo

Fiz meu npc assim
pawn Код:
npcrob1 = FCNPC_Create("npcrob1");  // linha 216
    FCNPC_Spawn(npcrob1, 142, -28.9448,-186.8204,1003.5469);
Se ele mirar no npcrob1, o npcrob1 faz uma animaзгo?
Entгo cara, basta fazer desta maneira, apenas mude o parвmetro comum que usas em ApplyAnimation, que seria playerid, para targetplayer, onde foi armazenado o id do player/npc a qual vocк estas a mirar:
pawn Код:
ApplyAnimation(targetplayer,"ped","handsup",4.1,1,1,1,1,1,1);
Reply
#7

Quote:
Originally Posted by Bruno13
Посмотреть сообщение
Entгo cara, basta fazer desta maneira, apenas mude o parвmetro comum que usas em ApplyAnimation, que seria playerid, para targetplayer, onde foi armazenado o id do player/npc a qual vocк estas a mirar:
pawn Код:
ApplyAnimation(targetplayer,"ped","handsup",4.1,1,1,1,1,1,1);
Eu tinha pensado nisso, mas como ta no onplayerupdate eu ia ter que criar varias variaveis senao o npc vai ficar dando handsup que nem um maluco o tempo todo, tem um jeito simples de fazer ele levantar as mгos sу uma vez?
Reply
#8

Quote:
Originally Posted by maikons
Посмотреть сообщение
Eu tinha pensado nisso, mas como ta no onplayerupdate eu ia ter que criar varias variaveis senao o npc vai ficar dando handsup que nem um maluco o tempo todo, tem um jeito simples de fazer ele levantar as mгos sу uma vez?
Faзas assim, nгo utilize OnPlayerUpdate para isto, e sim OnPlayerKeyStateChange, validando se o player o qual esta com posse da arma, estб teclando KEY_AIM(KEY_HANDBRAKE), que й a tecla de mirar. E sim, ha outra maneira de setar handsup, com uma propria funcao que acompanha o plugin, veja:
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if (newkeys & KEY_HANDBRAKE)
    {
        new targetplayer = GetPlayerTargetPlayer(playerid);
        if(IsPlayerNPC(targetplayer) && targetplayer != INVALID_PLAYER_ID)
        {
            GameTextForPlayer(playerid, "~R~NPC!", 5000, 3);
            FCNPC_SetSpecialAction(targetplayer, SPECIAL_ACTION_HANDSUP);
        }
    }
    return 1;
}
Reply
#9

Muito melhor bruno, sу um problema aqui
https://sampwiki.blast.hk/wiki/Keys

Diz que essa key q vc me passou й de aim, qnd tiver mirando, mas ta funcionando sу qnd atira, tem q atirar no npc pra iniciar o roubo, essa key n seria a de mira ?
Reply
#10

Quote:
Originally Posted by maikons
Посмотреть сообщение
Muito melhor bruno, sу um problema aqui
https://sampwiki.blast.hk/wiki/Keys

Diz que essa key q vc me passou й de aim, qnd tiver mirando, mas ta funcionando sу qnd atira, tem q atirar no npc pra iniciar o roubo, essa key n seria a de mira ?
Estranho cara, veja se nгo estas usando KEY_FIRE, porque era pra funcionar...caso esteja usando corretamente KEY_HANDBRAKE, tente mudar, para 128 que й o ID da tecla...
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)