SA-MP Forums Archive
[Ajuda] alguem pode me dizer por que esse codigo nгo funciona - 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: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] alguem pode me dizer por que esse codigo nгo funciona (/showthread.php?tid=649519)



alguem pode me dizer por que esse codigo nгo funciona - Santso - 10.02.2018

Bom Galera eu fiz esse codigo ai para quando o player atirar em um alvo que eu criei manda a
mensagem que ele acertou o alvo, vai acontecer outras coisas mais ainda nгo fiz o resto do sistema, o problema й que nгo estб funcionando quando atiro nгo envia a mensagem, SCM й o SendClientMessage abreviado, o objeto que йo alvo nгo tem colisгo, porem ja testei com objetos com colisгo e mesmo assim nгo funciona



public OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ )
{
if(hittype == BULLET_HIT_TYPE_OBJECT)
{
if(hitid == alvo[0])
{
SCM(playerid, -1, "Vocк acertou o alvo!");
}
}
return 1;

}


Re: alguem pode me dizer por que esse codigo nгo funciona - Ermanhaut - 10.02.2018

Код:
public OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ )
{
    if(hittype == BULLET_HIT_TYPE_OBJECT)
    {
        if(hitid == alvo[0])
        {
            SCM(playerid, -1, "Vocк acertou o alvo!");
        }
   }
   return 1;
}
Mostra a funзгo SCM e o a array alvo[]


Re: alguem pode me dizer por que esse codigo nгo funciona - Santso - 14.02.2018

Quote:
Originally Posted by Ermanhaut
Посмотреть сообщение
Код:
public OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ )
{
    if(hittype == BULLET_HIT_TYPE_OBJECT)
    {
        if(hitid == alvo[0])
        {
            SCM(playerid, -1, "Vocк acertou o alvo!");
        }
   }
   return 1;
}
Mostra a funзгo SCM e o a array alvo[]
SCM й o SendClientMesage sу que abreviei assim:
#define SCM SendClientMessage, acho melhor assim programo mais rapido, ea array й para criar o objeto assim:

new alvo[2];
em gamemodeinit

alvo[0] = CreateObjeto(as coordenadas aqui);

usei array pq uso a array para mais de um objeto


Re: alguem pode me dizer por que esse codigo nгo funciona - RodrigoMSR - 14.02.2018

Se й mais de um alvo, use um loop:
PHP код:
public OnPlayerWeaponShotplayeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ )
{
    if(
hittype == BULLET_HIT_TYPE_OBJECT)
    {
        for(new 
0sizeof(alvo); i++)
        {
            if(
hitid == alvo[i])
            {
                
SCM(playerid, -1"Vocк acertou o alvo!");
            }
        }
   }
   return 
1;




Re: alguem pode me dizer por que esse codigo nгo funciona - Santso - 14.02.2018

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
Se й mais de um alvo, use um loop:
PHP код:
public OnPlayerWeaponShotplayeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ )
{
    if(
hittype == BULLET_HIT_TYPE_OBJECT)
    {
        for(new 
0sizeof(alvo); i++)
        {
            if(
hitid == alvo[i])
            {
                
SCM(playerid, -1"Vocк acertou o alvo!");
            }
        }
   }
   return 
1;

vocк entendeu errado, a var[] й para criar 2 objetos pq faзo eles se moverem juntos etc, porem o alvo й apenas o "alvo[0]" ou seja quero que quando atire no "alvo[0]" mande a menssagem que acetei o alvo, vai acontecer mais alguma coisas mas isso vou fazer depois, o problema й que quando atiro no "alvo[0]" nгo estб acontecendo nada.


Re: alguem pode me dizer por que esse codigo nгo funciona - n0minal - 14.02.2018

De repente ele nгo tб detectando como um hit type object, da um debug no hit type pra ver que tipo de hit type tб acontecendo, o jeito й fazer debug atй descobrir.


Re: alguem pode me dizer por que esse codigo nгo funciona - Santso - 14.02.2018

Quote:
Originally Posted by n0minal
Посмотреть сообщение
De repente ele nгo tб detectando como um hit type object, da um debug no hit type pra ver que tipo de hit type tб acontecendo, o jeito й fazer debug atй descobrir.
como o objeto que йo alvo nгo tem colisгo achei que seria isso, porem coloquei um objeto com colisгo e mesmo assim nгo vai, e na wiki estб desse jeito jб tentei muitas coisas e nгo consigo, serб que essa public й bugada ?


Re: alguem pode me dizer por que esse codigo nгo funciona - OtimoJogo - 14.02.2018

PHP код:
public OnPlayerWeaponShotplayeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ )
{
    if(
hittype == BULLET_HIT_TYPE_OBJECT)
    {
        if(
IsValidPlayerObject(playeridhitid))
        {
            for(new 
asizeof(alvo); ++a)
            {
            if(
hitid == alvo[alvo])
            {
                
SCM(playerid, -1"Vocк acertou o alvo!");
                break;
            }
            }
        }
    }
    return 
1;




Re: alguem pode me dizer por que esse codigo nгo funciona - n0minal - 14.02.2018

Quote:
Originally Posted by Santso
Посмотреть сообщение
como o objeto que йo alvo nгo tem colisгo achei que seria isso, porem coloquei um objeto com colisгo e mesmo assim nгo vai, e na wiki estб desse jeito jб tentei muitas coisas e nгo consigo, serб que essa public й bugada ?
Nгo, nгo й bugada, coloca um printf com os parвmetros que vocк recebe quando acerta o tiro em algo, mas tira a verificaзгo do hit type, deixa sу a callback e um printf com tudo o que vocк recebe de parвmetro


Re: alguem pode me dizer por que esse codigo nгo funciona - RogerCosta - 14.02.2018

Faz o que o nominal falou: debug. E, tambйm, essa funзгo sу й chamada se o lagcompmode estiver igual 1 (compensaзгo de lag ativada), verifique se por acaso vocк desativou (colocou lagcompmode 0) no server.cfg.