Estou criando um servidor de dayz e estou adicionando mais armas com mesmo id, só estou com um pequeno problema na munição da sniper. Tudo funciona muito bem, exceto a munição.. exemplo: a munição está 1/10 se eu atirar e continuar mirando ou apenas com a sniper na mão, vai ir pra "0/10" e volta pra "1/10" (ela recarrega) mas se eu atirar e tirar a sniper da mão antes que o "0/10" volte a ser "'1/10" ela simplesmente não recarrega, fica no "'0/10".. ai eu tenho que equipa-la novamente para voltar ao normal. é como se eu atirasse e fosse obrigado a recarregar mas não apertando "R" e sim indo no inventário e equipando a arma novamente.
elementWeaponBack = {}
function weaponSwitchBack ( previousWeaponID, currentWeaponID )
local weapon1 = getElementData(source,"currentweapon_1")
if not weapon1 then return end
local ammoData1, weapID1 = getWeaponAmmoType(weapon1)
local x,y,z = getElementPosition(source)
local rx,ry,rz = getElementRotation(source)
triggerClientEvent(source, "NovasArmas", source)
if previousWeaponID == weapID1 then
if elementWeaponBack[source] then
detachElementFromBone(elementWeaponBack[source])
destroyElement(elementWeaponBack[source])
elementWeaponBack[source] = false
end
if weapon1 == "AS50 Sniper" then
elementWeaponBack[source] = createObject(358,x,y,z)
setObjectScale(elementWeaponBack[source],0.875)
elseif weapon1 == "CZ550 Sniper" then
elementWeaponBack[source] = createObject(358,x,y,z)
setObjectScale(elementWeaponBack[source],0.875)
elseif weapon1 == "AWP Assimov Sniper" then
elementWeaponBack[source] = createObject(358,x,y,z)
setObjectScale(elementWeaponBack[source],0.875)
elseif weapon1 == "AWP Dragon Lore Sniper" then
elementWeaponBack[source] = createObject(358,x,y,z)
setObjectScale(elementWeaponBack[source],0.875)
else
elementWeaponBack[source] = createObject(getWeaponObjectID(weapID1),x,y,z)
setObjectScale(elementWeaponBack[source],0.875)
end
if elementBackpack[source] then
attachElementToBone(elementWeaponBack[source],source,3,0.19,-0.31,-0.1,0,270,-90)
else
attachElementToBone(elementWeaponBack[source],source,3,0.19,-0.11,-0.1,0,270,10)
end
elseif currentWeaponID == weapID1 then
detachElementFromBone(elementWeaponBack[source])
destroyElement(elementWeaponBack[source])
elementWeaponBack[source] = false
end
end
addEventHandler ( "onPlayerWeaponSwitch", getRootElement(), weaponSwitchBack)
function NovasArmas()
if getElementData(getLocalPlayer(),"currentweapon_1") == "AS50 Sniper" then
txd = engineLoadTXD("models/weap/AS50.txd", 358)
engineImportTXD(txd, 358)
dff = engineLoadDFF("models/weap/AS50.dff", 358)
engineReplaceModel(dff, 358)
elseif getElementData(getLocalPlayer(),"currentweapon_1") == "CZ550 Sniper" then
txd = engineLoadTXD("models/weap/CZ550.txd", 358)
engineImportTXD(txd, 358)
dff = engineLoadDFF("models/weap/CZ550.dff", 358)
engineReplaceModel(dff, 358)
elseif getElementData(getLocalPlayer(),"currentweapon_1") == "AWP Assimov Sniper" then
txd = engineLoadTXD("models/weap/AWPASSIMOV.txd", 358)
engineImportTXD(txd, 358)
dff = engineLoadDFF("models/weap/AWPASSIMOV.dff", 358)
engineReplaceModel(dff, 358)
elseif getElementData(getLocalPlayer(),"currentweapon_1") == "AWP Dragon Lore Sniper" then
txd = engineLoadTXD("models/weap/AWPLORE.txd", 358)
engineImportTXD(txd, 358)
dff = engineLoadDFF("models/weap/AWPLORE.dff", 358)
engineReplaceModel(dff, 358)
end
end
addEventHandler("onClientResourceStart", getResourceRootElement(), NovasArmas)
addEvent("NovasArmas", true)
addEventHandler("NovasArmas", getRootElement(), NovasArmas)