Portal SAMP
[Ajuda] Oque ta errado ? - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Oque ta errado ? (/showthread.php?tid=1474)



Oque ta errado ? - kabulosoogeteam - 30/07/2021

Galera oque ta errado fiz um sistema de tiro com ajuda tutorial aqui mesmo do portal samp so que eu atiro no objeto e nao acontece nada

no topo da gm
Código:
new Object;

no OnGameModeInit
Código:
Object = CreateDynamicObject(2411, Tirosa[rnd][0], Tirosa[rnd][1], Tirosa[rnd][2],   0.00000, 0.00000, Tirosa[rnd][3]);

no OnDialogResponse
Código:
if(dialogid == DIALOG_TreinamentoEX)
    {
        if(response)
        {
            if(listitem == 0)
            {
                SetPlayerPos(playerid, 302.292877,-143.139099,1004.062500);
                SetPlayerInterior(playerid, 7);
                SetPlayerVirtualWorld(playerid, 2);
                GivePlayerWeapon(playerid, 31, 9999999);
                new rnd = random(sizeof(Tirosa));
                SetTimer("Tiroteio", 35000, false);
            }

no OnPlayerWeaponShot
Código:
if(hittype == BULLET_HIT_TYPE_OBJECT)
        {
            if(IsValidObject( hitid ) == Object)
              {
                    new rnd = random(sizeof(Tirosa));
                      SendClientMessage( playerid, -1, "Você acerto +1 Ponto" );
                    DestroyObject(Object);
              }
        }

e na plubic Tiroteio

Código:
SendClientMessage(playerid, -1, "Seu treino de tiro termino e voce ganho de experiencia com tiro");
    DestroyObject(Object);
    SetPlayerPos(playerid, 274.4192,1416.8811,10.4436);
    SetPlayerInterior(playerid, 0);
    SetPlayerVirtualWorld(playerid, 2);
    Treinamentos[playerid] = 1;

ja fiz e refiz o codigo muitas vezes so o objeto nao some de jeito nenhum nei aparece a mensagem que era para aparecer


RE: Oque ta errado ? - xbruno1000x - 30/07/2021

Está errado pois você usou a callback incorreta.

o certo seria utilizar a callback abaixo:
OnPlayerShootDynamicObject(playerid, weaponid, objectid, Float:x, Float:y, Float:z)


RE: Oque ta errado ? - kabulosoogeteam - 30/07/2021

pior que nao deu certo e so transferir o codigo pra essa callback ?


RE: Oque ta errado ? - xbruno1000x - 30/07/2021

(30/07/2021 17:12)kabulosoogeteam Escreveu: pior que nao deu certo e so transferir o codigo pra essa callback ?

Não, terá que adaptá-lo dentro dos parâmetros da callback.

Ex:
Código:
public OnPlayerShootDynamicObject(playerid, weaponid, objectid, Float:x, Float:y, Float:z)
{
    if(objectid == Object)
    {
        SendClientMessage( playerid, -1, "Você acertou +1 Ponto");
        DestroyObject(Object);
    }



RE: Oque ta errado ? - kabulosoogeteam - 31/07/2021

ae agora foi vlw ajudo pacas mais rep pra vc