Jump to content

bug, projetil ped


Recommended Posts

Posted

ola,

existe um bug que "proibi" que peds poção criar projetil quando atira com alguma arma explosiva( todas as bombas, bazooka e lançador de missel).

estava pensando como "vencer" esse bug.

tentei usar

onClientPedWeaponFire 

com as armas explosivas e a função não retorno os dados.

function CheckNemesisFire(weapon, ammo, ammoInClip, hitX, hitY, hitZ, hitElement) 
if weapon = 35 then 
outputChatBox ("#9E0000Funciono",getRootElement(), 255, 255, 255, true ) 
end 
        end 
addEventHandler ( "onClientPedWeaponFire", getRootElement(), CheckNemesisFire) 

como posso "vencer" esse bug?(chegar quando um ped com armas explosivas mira e tenta atira. assim usarei createProjectil)

obrigado

edit:

tentei

function CheckNemesisFire(weapon, ammo, ammoInClip, hitX, hitY, hitZ, hitElement) 
if (getElementData(source, "nemesis") == true ) then 
   if weapon == 16 then 
local x, y, z = getElementPosition(source) 
outputChatBox ("#9E0000Teste",getRootElement(), 255, 255, 255, true ) 
createProjectile(source(), 16, x, y, z) 
end 
        end 
                 end 
addEventHandler ( "onClientPedWeaponFire", getRootElement(), CheckNemesisFire) 

a mensagem funciona porem o projetil não é criado

560x95_FFFFFF_09FF00_050505_000000.png

"Querer não é poder, mas tentar é avançar"!

Posted

Na linha 5 de seu código você esta chamando uma função no argumento que deve ser elemento que criou o projetil.

Use apenas o elemento source do evento que deve ser o que você esta querendo.

Please do not PM me with scripting related question nor support, use the forums instead.

Posted
function NemesisShotRocktLancer(weapon, ammo, ammoInClip, hitX, hitY, hitZ, hitElement) 
if (getElementData(source, "nemesis") == true) then 
local resultado = math.random(1,4) 
if resultado == 1 then 
createProjectile(source(), 20, hitX, hitY, hitZ) 
end 
        end 
                 end 
addEventHandler ( "onClientPedWeaponFire", getRootElement(), NemesisShotRocktLancer) 

tentei usa matematica aleatoria mais o projectil não se cria

560x95_FFFFFF_09FF00_050505_000000.png

"Querer não é poder, mas tentar é avançar"!

Posted

Porque 'source' é uma variável, não uma função.

"[...] If you don’t love it, if you’re not having fun doing it, you don’t really love it, you’re going to give up." - Steve Jobs, 2007

Posted

E para que você quer o elemento root?

"[...] If you don’t love it, if you’re not having fun doing it, you don’t really love it, you’re going to give up." - Steve Jobs, 2007

Posted
não entendi por que o source não funciono. poderia me explicar?

Já foi explicado. Você está chamando uma função em um argumento que deve ser apenas a o elemento do evento que criou o projetil, ou seja, a source do evento que você quer.

Se não entendeu aqui está o código...

function NemesisShotRocktLancer(weapon, ammo, ammoInClip, hitX, hitY, hitZ, hitElement) 
if (getElementData(source, "nemesis") == true) then 
local resultado = math.random(1,4) 
if resultado == 1 then 
createProjectile(source, 20, hitX, hitY, hitZ) 
end 
        end 
                 end 
addEventHandler ( "onClientPedWeaponFire", getRootElement(), NemesisShotRocktLancer) 

Além disso, deixe seu código mais organizado.

Please do not PM me with scripting related question nor support, use the forums instead.

Posted

:oops: desculpe. tenho que estudar mais lua. eu não percebi "()"

desculpe, por causar tanta "confusão" por um erro tão simples e bobo.

agradeço, não por me passar o código mas, por explicar!

muito obrigado e me desculpe pelo GRANDE incomodo que causei!

560x95_FFFFFF_09FF00_050505_000000.png

"Querer não é poder, mas tentar é avançar"!

Posted

De nada :P

"[...] If you don’t love it, if you’re not having fun doing it, you don’t really love it, you’re going to give up." - Steve Jobs, 2007

Posted
function NemesisShotRocktLancer(weapon, ammo, ammoInClip, hitX, hitY, hitZ, hitElement) 
if (getElementData(source, "nemesis") == true) then 
local resultado = math.random(1,4) 
if resultado == 1 then 
local xw, yw, zw = getPedWeaponMuzzlePosition ( source ) 
createProjectile(source, 20, xw, yw, zw, 0.1, getLocalPlayer()) 
end 
        end 
                 end 
addEventHandler ( "onClientPedWeaponFire", getRootElement(), NemesisShotRocktLancer) 

bom tudo certo só uma coisa que eu queria "melhorar". o missel é criado e ele me segue(por um tempo) mas ele não explode.

como poderia arrumar isso?

560x95_FFFFFF_09FF00_050505_000000.png

"Querer não é poder, mas tentar é avançar"!

Posted

Se você quer que o projetil seja sincronizado para todos, o elemento que criou o projetil deve ser localPlayer (getLocalPlayer()).

Please do not PM me with scripting related question nor support, use the forums instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...