SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese > Lançamentos/Releases

Reply
 
Thread Tools Display Modes
Old 03/07/2012, 05:34 PM   #1
ipsBruno
Godfather
 
ipsBruno's Avatar
 
Join Date: Apr 2010
Location: Brazil, Caxias RS
Posts: 6,084
Reputation: 546
Default OnObjectShooted

OnObjectShooted

Como prometido neste topico segue aqui a include que estou desenvolvendo sobre detectar tiros em um determinado objeto

[ame]http://www.youtube.com/watch?v=8t3SZwa8YF4[/ame]

Modo de uso. Exemplo
Code:
// ---------

new objVAR;


// ------

main() {
    objVAR = CreateObject(2587, 128.7418,-85.9495,1.4297, 0.0, 0.0, 96.0);
    registerObject(objVAR);
}
    
// ------

public OnObjectShooted(playerid, objectid) {
	if(objVAR == objectid) {
		SendClientMessage(playerid,-1, "você acertouno objeto");
	}
	return true;
}
Falta terminar algumas coisas importantes. Como permitir a definicao do tamanho do objeto. Mas basta criar o objeto normalmente e depois registrar ele

registerObject(objetoid)

Depois cada vez que ele tomar um tiro sera chamado a callback OnObjectShooted com id do jogador e do objeto atirado

-

Codigo da Include
pawn Code:
#define registerObject(%0) \
    gObjectsShoot[++gObjectsShooted] = %0




new
    gObjectsShooted,
    gObjectsShoot[MAX_OBJECTS];
   


public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if((newkeys & KEY_FIRE || oldkeys & KEY_FIRE )) {
   
        static
            Float:x,
            Float:y,
            Float:z,
            objectid;
       
        static
                Float:xPos,
                Float:yPos,
                Float:zPos,
                Float:distancia,
                Float:aPos;

        for(new i; i < gObjectsShooted; i++) {
       
            objectid = gObjectsShoot[i];
           
            GetObjectPos(objectid, x, y, z);
           
            if(IsPlayerInRangeOfPoint(playerid, 200.0, x, y, z)) {
           
                GetPlayerPos(playerid, xPos, yPos, zPos);
                GetPlayerFacingAngle(playerid, aPos);

                distancia = floatsqroot(floatpower(floatabs(xPos-x), 2) + floatpower(floatabs(yPos-y), 2) + floatpower(floatabs(zPos-z), 2));

                xPos += (distancia * floatsin(-aPos, degrees)),
                yPos += (distancia * floatcos(-aPos, degrees));

                distancia = floatsqroot(floatpower(floatabs(xPos-x), 2) + floatpower(floatabs(yPos-y), 2));

                if(1.0 > distancia){
                    CallLocalFunction("OnObjectShooted", "dd", playerid, objectid);
                }
            }
        }
    }
    return (funcidx("HOOKKeyStateChange") != -1) ? CallLocalFunction("HOOKKeyStateChange","iii",playerid, newkeys, oldkeys) : 0;

}

#if defined _ALS_OnPlayerKeyStateChange
    #undef OnPlayerKeyStateChange
#else
    #define _ALS_OnPlayerKeyStateChange
#endif

#define OnPlayerKeyStateChange HOOKKeyStateChange
forward OnObjectShooted(playerid, objectid);

Por Bruno da Silva
__________________
https://github.com/ipsBruno

Last edited by ipsBruno; 10/07/2012 at 01:48 AM.
ipsBruno is offline   Reply With Quote
Old 03/07/2012, 06:12 PM   #2
ViictorDaay-
Gangsta
 
ViictorDaay-'s Avatar
 
Join Date: Apr 2012
Location: Rio de Janeiro
Posts: 800
Reputation: 23
Default Re: OnObjectShooted

Lol , nada pra comentar
/|\
Como sempre postando muitas coisas úteis espero ser um dia igual a você,rs.
ViictorDaay- is offline   Reply With Quote
Old 03/07/2012, 07:05 PM   #3
FireCat
High-roller
 
FireCat's Avatar
 
Join Date: Jul 2010
Posts: 2,322
Reputation: 609
Default Re: OnObjectShooted

Parece bom (':
FireCat is offline   Reply With Quote
Old 03/07/2012, 07:11 PM   #4
ipsBruno
Godfather
 
ipsBruno's Avatar
 
Join Date: Apr 2010
Location: Brazil, Caxias RS
Posts: 6,084
Reputation: 546
Default Re: OnObjectShooted

Valeu ?)

Fire, voce tava banido
__________________
https://github.com/ipsBruno
ipsBruno is offline   Reply With Quote
Old 03/07/2012, 07:58 PM   #5
CidadeNovaRP
High-roller
 
CidadeNovaRP's Avatar
 
Join Date: Mar 2012
Posts: 1,120
Reputation: 98
Default Re: OnObjectShooted

Quote:
Originally Posted by FireCat View Post
Parece bom (':
Você aqui?
Quanto tempo caramba '-'
__________________
Eae Cidade, viu a versão 0.3x do SA-MP?
Onde?
Ta no fórum
To
CidadeNovaRP is offline   Reply With Quote
Old 03/07/2012, 08:34 PM   #6
dPlaYer_
High-roller
 
dPlaYer_'s Avatar
 
Join Date: Jul 2011
Location: Salvador
Posts: 1,736
Reputation: 179
Default Re: OnObjectShooted

Quote:
Originally Posted by CidadeNovaRP View Post
Você aqui?
Quanto tempo caramba '-'
Ele tem treta com alguns daqui por isso não posta =]

-topic

Bom.
__________________
dPlaYer_ is offline   Reply With Quote
Old 03/07/2012, 08:37 PM   #7
leonardo1434
High-roller
 
leonardo1434's Avatar
 
Join Date: Mar 2012
Posts: 1,667
Reputation: 179
Default Re: OnObjectShooted

rsrsrs. ele não é bem vindo aqui. vai lá pra área americana !!!




@topic: ótimo !



@@: acabei de acorda xD
__________________
c++
leonardo1434 is offline   Reply With Quote
Old 03/07/2012, 08:45 PM   #8
dPlaYer_
High-roller
 
dPlaYer_'s Avatar
 
Join Date: Jul 2011
Location: Salvador
Posts: 1,736
Reputation: 179
Default Re: OnObjectShooted

Quote:
Originally Posted by leonardo1434 View Post
rsrsrs. ele não é bem vindo aqui. vai lá pra área americana !!!




@topic: ótimo !



@@: acabei de acorda xD
A Area é livre para todos , não gostou? VAZA! , se fosse assim o CyNiC tabem não seria bem vindo aqui , pois ele só posta na area eng e não aqui. não tenho nada contra niguem

--
e se eu atirar em um objeto que não é visivel. tipo o player passa por ele normalmente .. como se não existise.. vai funcionar do mesmo geito?
__________________
dPlaYer_ is offline   Reply With Quote
Old 03/07/2012, 08:54 PM   #9
leonardo1434
High-roller
 
leonardo1434's Avatar
 
Join Date: Mar 2012
Posts: 1,667
Reputation: 179
Default Re: OnObjectShooted

se não entendeu que o post foi brincadeira ? lol... Acho melhor você prestar mais um pouquinho de atenção. ._."
__________________
c++
leonardo1434 is offline   Reply With Quote
Old 03/07/2012, 09:18 PM   #10
Juninho_Oakley
Gangsta
 
Juninho_Oakley's Avatar
 
Join Date: Aug 2011
Location: Fim do Mundo
Posts: 509
Reputation: 28
Default Re: OnObjectShooted

Bela Include
__________________
Favorite Games





Graphic Card


User

Juninho_Oakley 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



All times are GMT. The time now is 08:21 AM.


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