SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 10/02/2018, 12:52 PM   #1
Santso
Big Clucker
 
Santso's Avatar
 
Join Date: Nov 2017
Location: Rio Grande do sul
Posts: 131
Reputation: 0
Default alguem pode me dizer por que esse codigo não funciona

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;

}
Santso is offline   Reply With Quote
Old 10/02/2018, 03:41 PM   #2
Ermanhaut
Gangsta
 
Ermanhaut's Avatar
 
Join Date: Apr 2016
Location: Brazil
Posts: 661
Reputation: 47
Default Re: alguem pode me dizer por que esse codigo não funciona

Code:
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[]
__________________
try, try and try again
Ermanhaut is offline   Reply With Quote
Old 14/02/2018, 04:20 PM   #3
Santso
Big Clucker
 
Santso's Avatar
 
Join Date: Nov 2017
Location: Rio Grande do sul
Posts: 131
Reputation: 0
Default Re: alguem pode me dizer por que esse codigo não funciona

Quote:
Originally Posted by Ermanhaut View Post
Code:
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
Santso is offline   Reply With Quote
Old 14/02/2018, 04:25 PM   #4
RodrigoMSR
High-roller
 
RodrigoMSR's Avatar
 
Join Date: Mar 2015
Location: Brazil
Posts: 1,075
Reputation: 140
Default Re: alguem pode me dizer por que esse codigo não funciona

Se é mais de um alvo, use um loop:
PHP Code:
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;

__________________
sttserver.net

RodrigoMSR is online now   Reply With Quote
Old 14/02/2018, 07:05 PM   #5
Santso
Big Clucker
 
Santso's Avatar
 
Join Date: Nov 2017
Location: Rio Grande do sul
Posts: 131
Reputation: 0
Default Re: alguem pode me dizer por que esse codigo não funciona

Quote:
Originally Posted by RodrigoMSR View Post
Se é mais de um alvo, use um loop:
PHP Code:
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.
Santso is offline   Reply With Quote
Old 14/02/2018, 07:11 PM   #6
n0minal
High-roller
 
n0minal's Avatar
 
Join Date: Mar 2013
Location: Rio de Janeiro
Posts: 4,044
Reputation: 789
Default Re: alguem pode me dizer por que esse codigo não funciona

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.
n0minal is offline   Reply With Quote
Old 14/02/2018, 07:19 PM   #7
Santso
Big Clucker
 
Santso's Avatar
 
Join Date: Nov 2017
Location: Rio Grande do sul
Posts: 131
Reputation: 0
Default Re: alguem pode me dizer por que esse codigo não funciona

Quote:
Originally Posted by n0minal View Post
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 ?
Santso is offline   Reply With Quote
Old 14/02/2018, 08:18 PM   #8
OtimoJogo
Big Clucker
 
Join Date: Jul 2016
Posts: 160
Reputation: 2
Default Re: alguem pode me dizer por que esse codigo não funciona

PHP Code:
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;


Last edited by OtimoJogo; 14/02/2018 at 08:22 PM. Reason: @Error
OtimoJogo is offline   Reply With Quote
Old 14/02/2018, 08:56 PM   #9
n0minal
High-roller
 
n0minal's Avatar
 
Join Date: Mar 2013
Location: Rio de Janeiro
Posts: 4,044
Reputation: 789
Default Re: alguem pode me dizer por que esse codigo não funciona

Quote:
Originally Posted by Santso View Post
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
n0minal is offline   Reply With Quote
Old 14/02/2018, 09:29 PM   #10
RogerCosta
Huge Clucker
 
RogerCosta's Avatar
 
Join Date: Aug 2014
Location: Santos, Brazil.
Posts: 282
Reputation: 92
Default Re: alguem pode me dizer por que esse codigo não funciona

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.
RogerCosta is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
gente alguem pode mim dizer pq meu servidor ta desligando sozinho Mikael22 Português/Portuguese 3 01/09/2017 07:20 PM
[Pedido] Alguém pode me dizer o id do pedagio WhySoSeriousBep Português/Portuguese 1 25/02/2017 04:23 PM
[Pedido] Alguém pode dizer os melhores sistemas de DM? SuperJesterPT Português/Portuguese 3 30/03/2015 07:01 PM
[ajuda] alguem pode me dizer pq acontece isso? charlao Português/Portuguese 6 28/06/2012 08:25 PM
Alguem pode me dizer como consertar esses wannings juniorjg Português/Portuguese 7 24/02/2010 03:47 PM


All times are GMT. The time now is 07:26 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.