SA-MP Forums

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

Reply
 
Thread Tools Display Modes
Old 12/09/2019, 11:50 AM   #1
pedrotvr
Huge Clucker
 
Join Date: Nov 2013
Posts: 360
Reputation: 7
Default Dropar um objeto um pouco a frente

Como dropar um objeto um pouco a frente do player?

Achei essa função no fŕoum:
Code:
stock GetXYFront(&Float:x, &Float:y, Float:a, Float:distance)
{
    x += distance * floatsin(-a, degrees);
    y += distance * floatcos(-a, degrees);
}
Mas não sei se to usando direito...


Tentei:
Code:
PlayerDropACadaver(playerid, cid, bool:onHands = false) {
    DestroyObject(CadaverObject[cid]);
    GetPlayerPos(playerid, CadaverInfo[cid][corpseX], CadaverInfo[cid][corpseY], CadaverInfo[cid][corpseZ] );
    GetPlayerFacingAngle(playerid, CadaverInfo[cid][corpseR]);
    // [2907]Torso [2908]Head [2906]Arm [2905]Leg
    if(onHands == true) {
        GetXYFront(CadaverInfo[cid][corpseX], CadaverInfo[cid][corpseY], CadaverInfo[cid][corpseR], 3.0);
    }
    CadaverObject[cid] = CreateObject(2907, CadaverInfo[cid][corpseX], CadaverInfo[cid][corpseY], CadaverInfo[cid][corpseZ]-1, CadaverInfo[cid][corpseR], 0.0, 0.0);
    CadaverInfo[cid][corpseStatus] = 0;
    PlayerCadaverInHands[playerid] = 0;
    CadaverInfo[cid][hoursToDestroy] = 3;
}

Mas toda vez que entra na condicional if(onHands == true) {
O objeto não é criado, ou pelo menos não é criado na frente
pedrotvr is offline   Reply With Quote
Old 12/09/2019, 12:51 PM   #2
Felipealves
Huge Clucker
 
Felipealves's Avatar
 
Join Date: Mar 2016
Location: Paraná
Posts: 381
Reputation: 18
Default Re: Dropar um objeto um pouco a frente

Já verificou se está dando true esse onHands?

Qualquer coisa coloque sem essa condição e veja, e aumente mais o 3.0 para ficar mais claro.
__________________

CRIMINAL LIFE RPG
Felipealves is offline   Reply With Quote
Old 12/09/2019, 12:53 PM   #3
ipsLuan
High-roller
 
ipsLuan's Avatar
 
Join Date: Feb 2013
Location: Ilhéus, BA
Posts: 4,343
Reputation: 318
Default Re: Dropar um objeto um pouco a frente

Na hora de criar o objeto, use Y + 2.0

(acho que é Y, não lembro mais)
ipsLuan is offline   Reply With Quote
Old 13/09/2019, 07:05 AM   #4
pedrotvr
Huge Clucker
 
Join Date: Nov 2013
Posts: 360
Reputation: 7
Default Re: Dropar um objeto um pouco a frente

my bad, achei o problema

getinfront não está funcionando, isso sempre dropa o objeto na msm posição do player (tava dropando 2 no msm lugar)

Code:
stock GetXYFront(&Float:x, &Float:y, Float:a, Float:distance)
{
    x += distance * floatsin(-a, degrees);
    y += distance * floatcos(-a, degrees);
}
Code:
PlayerDropACadaver(playerid, cid, bool:onHands = false) {
    DestroyObject(CadaverObject[cid]);
    GetPlayerPos(playerid, CadaverInfo[cid][corpseX], CadaverInfo[cid][corpseY], CadaverInfo[cid][corpseZ] );
    GetPlayerFacingAngle(playerid, CadaverInfo[cid][corpseR]);
    if(onHands == true) {
        new Float: x, Float: y, Float: a;
        GetPlayerFacingAngle(playerid, a);
        GetXYFront(x, y, a, 5.0);
        CadaverInfo[cid][corpseX] = x;
        CadaverInfo[cid][corpseY] = y;
    }
    CadaverObject[cid] = CreateObject(2907, CadaverInfo[cid][corpseX], CadaverInfo[cid][corpseY], CadaverInfo[cid][corpseZ]-1, CadaverInfo[cid][corpseR], 0.0, 0.0);
    CadaverInfo[cid][corpseStatus] = 0;
    PlayerCadaverInHands[playerid] = 0;
    CadaverInfo[cid][hoursToDestroy] = 3;
    SetPlayerSpecialAction(playerid, 0);
    itemOnHANDS[playerid] = 0;
}
A função não está funcionando ou eu estou fazendo algo errado?

Last edited by pedrotvr; 13/09/2019 at 08:23 AM.
pedrotvr is offline   Reply With Quote
Old 13/09/2019, 12:49 PM   #5
NWDMadara
Huge Clucker
 
NWDMadara's Avatar
 
Join Date: Mar 2018
Posts: 490
Reputation: 15
Default Re: Dropar um objeto um pouco a frente

Tem certeza que a onHands está como true?

PHP Code:
PlayerDropACadaver(playeridcidbool:onHands false) {
    
DestroyObject(CadaverObject[cid]);
    
GetPlayerPos(playeridCadaverInfo[cid][corpseX], CadaverInfo[cid][corpseY], CadaverInfo[cid][corpseZ] );
    
GetPlayerFacingAngle(playeridCadaverInfo[cid][corpseR]);
    if(
onHands == true) {
        print(
"sucess");
        new 
FloatxFloatyFloata;
        
GetPlayerFacingAngle(playerida);
        
GetXYFront(xya5.0);
        
CadaverInfo[cid][corpseX] = x;
        
CadaverInfo[cid][corpseY] = y;
    }
    
CadaverObject[cid] = CreateObject(2907CadaverInfo[cid][corpseX], CadaverInfo[cid][corpseY], CadaverInfo[cid][corpseZ]-1CadaverInfo[cid][corpseR], 0.00.0);
    
CadaverInfo[cid][corpseStatus] = 0;
    
PlayerCadaverInHands[playerid] = 0;
    
CadaverInfo[cid][hoursToDestroy] = 3;
    
SetPlayerSpecialAction(playerid0);
    
itemOnHANDS[playerid] = 0;

NWDMadara is online now   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
Dropar um objeto um pouco a frente pedrotvr Scripting Help 1 12/09/2019 10:41 AM
[Ajuda] Dropar objeto um pouco na frente pedrotvr Português/Portuguese 6 05/07/2019 08:29 PM
[Ajuda] Dropar Itens Scorpion659 Português/Portuguese 4 16/03/2019 05:08 PM
[Ajuda] Dropar items PedroH Português/Portuguese 5 03/08/2017 04:05 PM
[Ajuda] Dropar objeto e pegar WiliHacking Português/Portuguese 15 04/01/2017 07:57 PM


All times are GMT. The time now is 12:22 AM.


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