Objetos em npcs -
Lessk - 12.07.2013
Eu uso o
KNPC para fazer bots na hora.
E tambйm uso um filterscript de armas carregadas pelo corpo, mas na criaзгo do knpc ele nгo fica com os objetos fixados no corpo.
Tem algum modo de resolver isto?
Re: Objetos em npcs -
Ley - 12.07.2013
Eu nгo sei ao certo como funciona KNPC, porйm, verifique se existe alguma variбvel na qual detecta se o player й um NPC. Se sim, vocк poderб adicionar o cуdigo que carrega os objetos.
Se nгo tiver, eu aconselho a vocк a criar um NPC manualmente pois nгo й difнcil, e terб mais liberdade com esses assuntos. Veja o exemplo abaixo:
Em OnPlayerSpawn:
PHP код:
if(IsPlayerNPC(playerid)) // Verifica se ele й um NPC.
{
// Adicione as funзхes das armas pelo corpo aqui.
return 1;
}
Espero ter ajudado.
Re: Objetos em npcs -
Lessk - 12.07.2013
Ok! Valeu!
Re: Objetos em npcs -
Detonador - 12.07.2013
Quote:
Originally Posted by Ley
Eu nгo sei ao certo como funciona KNPC, porйm, verifique se existe alguma variбvel na qual detecta se o player й um NPC. Se sim, vocк poderб adicionar o cуdigo que carrega os objetos.
Se nгo tiver, eu aconselho a vocк a criar um NPC manualmente pois nгo й difнcil, e terб mais liberdade com esses assuntos. Veja o exemplo abaixo:
Em OnPlayerSpawn:
PHP код:
if(IsPlayerNPC(playerid)) // Verifica se ele й um NPC.
{
// Adicione as funзхes das armas pelo corpo aqui.
return 1;
}
Espero ter ajudado.
|
Assim nгo irб funcionar.
Eu mecho com NPCS, e tenho um cуdigo que funciona perfeitamente para afixar uma objeto nas costas dele.
No meu caso, й uma bazuca.
Jб fiz muitos testes. Isso sу dб certo com timer.
Veja sу:
pawn Код:
forward BZUKABS();
public OnFilterScriptInit()
{
SetTimer("BZUKABS", 1000, true);
return 1;
}
public BZUKABS()
{
new npcname[MAX_PLAYER_NAME];
for(new b=0; b < MAX_PLAYERS; b++)
{
if(IsPlayerNPC(b))
{
GetPlayerName(b, npcname, sizeof(npcname));
if(!strcmp(npcname, "NOME DO SEU NPC", true))
{
SetPlayerAttachedObject(b, 0, ID, coordenadas, etc, etc, etc);
}
}
}
}
100% funcional.
Re: Objetos em npcs -
Ley - 12.07.2013
Quote:
Originally Posted by Detonador
Assim nгo irб funcionar.
Eu mecho com NPCS, e tenho um cуdigo que funciona perfeitamente para afixar uma objeto nas costas dele.
No meu caso, й uma bazuca.
Jб fiz muitos testes. Isso sу dб certo com timer.
Veja sу:
pawn Код:
forward BZUKABS();
public OnFilterScriptInit() { SetTimer("BZUKABS", 1000, true); return 1; }
public BZUKABS() { new npcname[MAX_PLAYER_NAME]; for(new b=0; b < MAX_PLAYERS; b++) { if(IsPlayerNPC(b)) { GetPlayerName(b, npcname, sizeof(npcname)); if(!strcmp(npcname, "NOME DO SEU NPC", true)) { SetPlayerAttachedObject(b, 0, ID, coordenadas, etc, etc, etc); } } } }
100% funcional.
|
Vocк utilizando minha ideia, vocк utilizarб somente a funзгo para setar o AttachedObejct. Assim nгo sendo necessбrio SetTimer's.
PHP код:
if(IsPlayerNPC(playerid)) // Verifica se ele й um NPC.
{
SetPlayerAttachedObject(b, 0, ID, coordenadas, etc, etc, etc); // Objeto
return 1;
}
Sem precisar ficar verificando se o player й um NPC de um em um segundo.
Abraзos.
Re: Objetos em npcs -
Detonador - 12.07.2013
Quote:
Originally Posted by Ley
Vocк utilizando minha ideia, vocк utilizarб somente a funзгo para setar o AttachedObejct. Assim nгo sendo necessбrio SetTimer's.
PHP код:
if(IsPlayerNPC(playerid)) // Verifica se ele й um NPC.
{
SetPlayerAttachedObject(b, 0, ID, coordenadas, etc, etc, etc); // Objeto
return 1;
}
Sem precisar ficar verificando se o player й um NPC de um em um segundo.
Abraзos.
|
Negativo. O principal desse timer й atacar o objeto no NPC.
Ele tem que verificar sim pois, e se й um jogador no server com o nome do NPC?
Pode confiar amigo, jб fiz muitos testes, e este й o ъnico jeito.
Pro objeto aparecer, ele precisa atualizar, aliбs, nas outras versхes do samp, ele precisava ser atualizado a cara 100 milisegundos! Senгo o objeto nгo era atacado!
Tenho testes concretos disso aqui, e funciona muito bem. Uso a muito tempo, isso nunca deu lag, nem atrapalhou em nada ele checar se o cara й o NPC, com o nome correto, e atacar o objeto a cada um segundo.
Se nгo tiver o timer, nгo adianta sу mandar o objeto uma vez que o FS inicia ser atacado. Nгo funciona.
Pode confiar.
Quote:
Vocк utilizando minha ideia, vocк utilizarб somente a funзгo para setar o AttachedObejct. Assim nгo sendo necessбrio SetTimer's.
PHP Code:
if(IsPlayerNPC(playerid)) // Verifica se ele й um NPC.
{
SetPlayerAttachedObject(b, 0, ID, coordenadas, etc, etc, etc); // Objeto
return 1;
}
Sem precisar ficar verificando se o player й um NPC de um em um segundo.
|
Sua ideia nгo funcionarб sem a atualizaзгo de um em um segundo.
E tambйm, sem a verificaзгo, ele iria colocar o objeto em todos os jogadores.
Abraзos!