Pedro Colto Posted June 15, 2017 Share Posted June 15, 2017 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
DNL291 Posted June 16, 2017 Share Posted June 16, 2017 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
Pedro Colto Posted June 16, 2017 Author Share Posted June 16, 2017 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
DNL291 Posted June 19, 2017 Share Posted June 19, 2017 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now