[AJUDA]NPC falar ao jogador
#21

mas Los, eu quero que o player chegue apenas a uma distвncia, e o bot dк a mensagem.
sem ele ter que digitar nenhuma palavra chave para isso.
Reply
#22

FS:
https://sampforum.blast.hk/showthread.php?tid=19172
Download:
http://www.solidfiles.com/d/805L/
Reply
#23

Quote:
Originally Posted by Detonador
View Post
mas Los, eu quero que o player chegue apenas a uma distвncia, e o bot dк a mensagem.
sem ele ter que digitar nenhuma palavra chave para isso.
Agora eu entendi.

pawn Code:
public OnPlayerUpdate(playerid)
{
    new bool:L_PERTO[MAX_PLAYERS];
    if(IsPlayerInRangeOfPoint(playerid, 3.0, /*X*/, /*Y*/, /*Z*/)//Coordenadas do bot
    {
        if(!L_PERTO[playerid])
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Joгo(Bot) diz: ola eu sou um bot! bom conhecer vc!");
            L_PERTO[playerid] = true;
        }
    }
    L_PERTO[playerid] = false;
    return 1;
}
Boa sorte.
Reply
#24

opa los mas tipo, assim vai aparecer joao quando chegar perto de qualquer bot, neh?
tem q ser se for o Joao, aparecer este aн.
se for o joca, jб aparecer outro.
vlws aew por estar tentando me ajudar!
Reply
#25

Quote:
Originally Posted by Detonador
View Post
opa los mas tipo, assim vai aparecer joao quando chegar perto de qualquer bot, neh?
tem q ser se for o Joao, aparecer este aн.
se for o joca, jб aparecer outro.
vlws aew por estar tentando me ajudar!
Crie um id para tal NPC. E vai obtendo a posiзгo deles por IDs e assim checando ali.
Reply
#26

como assim criar um ID?
bem, no npc name ta la Joao, e tem tbm o outro q chama Joca
Reply
#27

USE:
https://sampwiki.blast.hk/wiki/GetPlayerName
e
https://sampwiki.blast.hk/wiki/Strcmp

Para comparar o nome do BOT, ou format getando o nome do BOT .
Reply
#28

Quote:
Originally Posted by Detonador
View Post
como assim criar um ID?
bem, no npc name ta la Joao, e tem tbm o outro q chama Joca
pawn Code:
new G_ID_JOAO, G_ID_JOCA;

public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))
    {
        new L_N[MAX_PLAYER_NAME]; GetPlayerName(playerid, L_N, MAX_PLAYER_NAME);
        if(!strcmp(L_N, "Joao", false)) return G_ID_JOAO = playerid;
        else if(!strcmp(L_N, "Joca", false)) return G_ID_JOCA = playerid;
    }
    return 1;
}

public OnPlayerUpdate(playerid)
{
    new bool:L_PERTO[MAX_PLAYERS], Float:L_POS_JOAO[3], Float:L_POS_JOCA[3];
    GetPlayerPos(G_ID_JOAO, L_POS_JOAO[0], L_POS_JOAO[1], L_POS_JOAO[2]);
    GetPlayerPos(G_ID_JOCA, L_POS_JOCA[0], L_POS_JOCA[1], L_POS_JOCA[2]);
    if(IsPlayerInRangeOfPoint(playerid, 3.0, L_POS_JOAO[0], L_POS_JOAO[1], L_POS_JOAO[2])
    {
        if(!L_PERTO[playerid])
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Joгo(Bot) diz: ola eu sou um bot! bom conhecer vc!");
            L_PERTO[playerid] = true;
        }
    }
    else if(IsPlayerInRangeOfPoint(playerid, 3.0, L_POS_JOCA[0], L_POS_JOCA[1], L_POS_JOCA[2])
    {
        if(!L_PERTO[playerid])
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Joca(Bot) diz: ola eu sou um bot! bom conhecer vc!");
            L_PERTO[playerid] = true;
        }
    }
    L_PERTO[playerid] = false;
    return 1;
}
Boa sorte novamente.
Reply
#29

cara, vlws ae, parece q vai dar certo!
mas outra coisa, como eu faзo para ir adicionando os bots que eu colocar?
ah, e por exemplo, eu coloquei um bot q cuida de uma бrea de ADMINS.
tipo, se o player q chegar perto dele nao for admin, ele diga: ei, o q vc ta fazendo aqui? esta area й so para adm's!
e se o player for admin ele diga: bem vindo senhor!
tem jeito?
manow mais uma vez vlws por tentar me ajudar, vou te dar mais rep por isso!
Reply
#30

Quote:
Originally Posted by Detonador
View Post
cara, vlws ae, parece q vai dar certo!
mas outra coisa, como eu faзo para ir adicionando os bots que eu colocar?
ah, e por exemplo, eu coloquei um bot q cuida de uma бrea de ADMINS.
tipo, se o player q chegar perto dele nao for admin, ele diga: ei, o q vc ta fazendo aqui? esta area й so para adm's!
e se o player for admin ele diga: bem vindo senhor!
tem jeito?
manow mais uma vez vlws por tentar me ajudar, vou te dar mais rep por isso!
pawn Code:
new G_ID_JOAO, G_ID_JOCA, G_ID_ADMIN;

public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))
    {
        new L_N[MAX_PLAYER_NAME]; GetPlayerName(playerid, L_N, MAX_PLAYER_NAME);
        if(!strcmp(L_N, "Joao", false)) return G_ID_JOAO = playerid;
        else if(!strcmp(L_N, "Joca", false)) return G_ID_JOCA = playerid;
        else if(!strcmp(L_N, "NomeDoBotAdmin", false)) return G_ID_ADMIN = playerid;
    }
    return 1;
}

public OnPlayerUpdate(playerid)
{
    new bool:L_PERTO[MAX_PLAYERS], Float:L_POS_JOAO[3], Float:L_POS_JOCA[3], Float:L_POS_ADMIN[3];
    GetPlayerPos(G_ID_JOAO, L_POS_JOAO[0], L_POS_JOAO[1], L_POS_JOAO[2]);
    GetPlayerPos(G_ID_JOCA, L_POS_JOCA[0], L_POS_JOCA[1], L_POS_JOCA[2]);
    GetPlayerPos(G_ID_ADMIN, L_POS_ADMIN[0], L_POS_ADMIN[1], L_POS_ADMIN[2]);
    if(IsPlayerInRangeOfPoint(playerid, 3.0, L_POS_JOAO[0], L_POS_JOAO[1], L_POS_JOAO[2])
    {
        if(!L_PERTO[playerid])
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Joгo(Bot) diz: ola eu sou um bot! bom conhecer vc!");
            L_PERTO[playerid] = true;
        }
    }
    else if(IsPlayerInRangeOfPoint(playerid, 3.0, L_POS_JOCA[0], L_POS_JOCA[1], L_POS_JOCA[2])
    {
        if(!L_PERTO[playerid])
        {
            SendClientMessage(playerid,0xFFFFFFFF,"Joca(Bot) diz: ola eu sou um bot! bom conhecer vc!");
            L_PERTO[playerid] = true;
        }
    }
    else if(IsPlayerInRangeOfPoint(playerid, 3.0, L_POS_ADMIN[0], L_POS_ADMIN[1], L_POS_ADMIN[2])
    {
        if(!L_PERTO[playerid])
        {
            if(!IsPlayerAdmin(playerid))
            {
                SendClientMessage(playerid,0xFFFFFFFF,"NomeDoBotAdmin(Bot) diz: Ei! Oque vocк estб fazendo aqui? Estб бrea й sу para admins!");
                L_PERTO[playerid] = true;
                return 1;
            }
            SendClientMessage(playerid,0xFFFFFFFF,"NomeDoBotAdmin(Bot) diz: Bem vindo, senhor!");
            L_PERTO[playerid] = true;
        }
    }
    L_PERTO[playerid] = false;
    return 1;
}
Observe o cуdigo e vocк vai entender como funciona.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)