Jump to content

Ajuda pickup


Recommended Posts

function createDeathPickup ( totalammo, killer, killerweapon, bodypart ) 
    x, y, z = getElementPosition ( source ) 
    local valorArg = getElementData(source,"valorData")
    local aPickup = createPickup ( x, y, z, 3, 1279, valorArg)
	addEventHandler ( "onPickupHit", aPickup, picked)
end
addEventHandler ( "onPlayerWasted", getRootElement(), createDeathPickup )

function picked ( player )
	if getPickupType(source) == 3 then 
		local amount = getPickupAmount(source) 
		setElementData(player,"valorData",getElementData(player,"valorData") + tonumber(getPickupAmount(source)) )
		outputChatBox ( amount, player )
	end
end

Eu queria setar no pickup um valor que ja existia no jogador e após a morte passa para o pickups e quem pegar esse pickups conseguiria obter o valor que o antigo jogador (o jogador que morreu) tinha.

 

oque estou fazendo de errado?

Link to comment
  • Moderators

Você podia ter explicado melhor sobre o que você quer fazer e qual valor vai ser salvo no element-data.

Seria mais ou menos isto?

function createDeathPickup ( totalammo, killer, killerweapon, bodypart )
	local x, y, z = getElementPosition ( source ) 
	local aPickup = createPickup ( x, y, z, 3, 1279 )
	setElementData( aPickup, "pickup-playerValue", (getElementData(source,"valorData") or "0"), false )
end
addEventHandler ( "onPlayerWasted", getRootElement(), createDeathPickup )

addEventHandler( "onPickupUse", resourceRoot,
	function ( player )
		if getElementData( source, "pickup-playerValue" ) then
			setElementData( player, "valorData", getElementData( source, "pickup-playerValue" ), false )
		end
	end
)

 

Link to comment
2 hours ago, DNL291 said:

Você podia ter explicado melhor sobre o que você quer fazer e qual valor vai ser salvo no element-data.

Seria mais ou menos isto?

function createDeathPickup ( totalammo, killer, killerweapon, bodypart )
	local x, y, z = getElementPosition ( source ) 
	local aPickup = createPickup ( x, y, z, 3, 1279 )
	setElementData( aPickup, "pickup-playerValue", (getElementData(source,"valorData") or "0"), false )
end
addEventHandler ( "onPlayerWasted", getRootElement(), createDeathPickup )

addEventHandler( "onPickupUse", resourceRoot,
	function ( player )
		if getElementData( source, "pickup-playerValue" ) then
			setElementData( player, "valorData", getElementData( source, "pickup-playerValue" ), false )
		end
	end
)

 

O código não funcionou.

Vou tentar explicar direito, criei um elementdata que vai representa uma "moeda vip" e player que não são vip podem consegur essas moedas vip após matarem alguém que tenha essas "moedas vip", no caso conseguiria pegar passando nesse pickup mais eles ao invés de pegar uma quantia aleatória eles pegariam a quantia total dessa "moeda vip" que o jogador que morreu tinha e o jogador que morreu perderia essas "moedas vip".

 

nome do elementdata é "valorData"

Link to comment
  • Moderators

Então pelo que entendi, você precisa adicionar o jogador que matou o outro numa tabela (dentro evento "onPlayerWasted"), esse valor será só pra conferir se o jogador que atingiu o pickup é o killer. O resto é simples: usa setElementData e passa essas "moedas vip" usando getElementData pra obter os dados do jogador que foi morto e depois remove o valor do jogador morto.

Link to comment

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...