Jump to content

furruz

Members
  • Posts

    25
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

furruz's Achievements

Advanced Member

Advanced Member (8/54)

0

Reputation

  1. Ya lo hice pero no me sirve. Pues una vez ejecuta toggleControl("fire",false) ya no salta el event onClientPlayerWeaponFire. Asi que cuando uno añade municion, el control del disparo sigue desactivado. He pensado en hacer que el objeto cargador active el control..pero su funcionamiento podria ser un tanto bruto..
  2. No se si es cosa del MTA en sí, o del MTA Paradise de Mabako, pero cuando gasto la ultima bala de un arma,esta parece desaparecer; aunque aun funciona el setWeaponAmmo. El problema es que el MTA Paradise no guarda ese arma con municion zero.. He intentado usar este codigo cliente para evitar que dispare la ultima bala. Funciona todo menos el cancelEvent() function Ultimabala() local ammo = getPedTotalAmmo(localPlayer) if ammo <= 4 then outputChatBox( "Reserva tu ultima bala para no perder el arma.", 255, 0, 0 ) end if ammo == 1 then cancelEvent() outputChatBox( "Reserva ESTA ULTIMA BALA para no perder el arma.", 255, 0, 0 ) end if ammo < 1 then cancelEvent() outputChatBox( "Tu arma se ha roto y la has perdido para siempre.", 255, 0, 0 ) end end -- Add this as a handler so that the function will be triggered every time the local player fires. addEventHandler ( "onClientPlayerWeaponFire", localPlayer, Ultimabala ) Alguna idea?
  3. im thinking about making the hunger script by my own (serverside based). The hunger script i use is workin on client.
  4. my codes: [Client] function onQuitGame( player, hambre1 ) local hambre1 = exports.hunger:getHungerState(player) triggerServerEvent ( "guardarhambre", getLocalPlayer(), hambre1 ) end addEventHandler( "onClientPlayerQuit", getRootElement(), onQuitGame ) [server] function hambreHandler ( player, hambre1 ) hambre = hambre1 --setElementData(player,"hambre",hambre1) exports.sql:query_free( "UPDATE characters SET hunger = "..hambre.." WHERE characterID = " .. tonumber( getCharacterID( player ) ) ) end addEvent( "guardarhambre", true ) addEventHandler( "guardarhambre", getRootElement(), hambreHandler ) It does not save the data. No errors in log
  5. I'm working on a hunger script on MTA Paradise. I want to save on SQL the value of the hunger bar when the player quits. I got the function to get the bar value but it is only Client-side. How can i pass the bar value information to the server to save it on SQL?
  6. Well i have seen a little and i have thinked bout use exported functions. I'm tryin it CLIENT hamburgerPositions = { {450,-83,999.55,4} } -- The positions for the hamburger, in the style: x,y,z,interior --[[ This is the hunger script. You can add hamburgers by adding it in hamburgerPositions. It works easy, just a after it, and filling in! {x,y,z,interiorID} When it isn't the last position, it needs a "," after it ]]-- -- DONT CHANGE ANYTHING AFTER THIS WITHOUT KNOWLEDGE! addEventHandler ("onClientResourceStart",getResourceRootElement(getThisResource()), function () hungerProcess = guiCreateProgressBar(0.7763,0.28,0.1775,0.04,true) guiMoveToBack (hungerProcess) guiProgressBarSetProgress(hungerProcess,100) hungerLabel = guiCreateLabel(0.7775,0.2817,0.1737,0.0367,"Hambre",true) guiLabelSetColor(hungerLabel,200,0,0) guiLabelSetVerticalAlign(hungerLabel,"center") guiLabelSetHorizontalAlign(hungerLabel,"center",false) guiSetFont(hungerLabel,"default-bold-small") for i,v in ipairs (hamburgerPositions) do local hamburger = createPickup (v[1],v[2],v[3],3,2768,100) local hamburgerMarker = createMarker (v[1],v[2],v[3],"corona",2,255,255,0,255) setElementData (hamburgerMarker,"HAMBURGER!",true) setElementInterior (hamburgerMarker,v[4]) setElementInterior (hamburger,v[4]) end setTimer (dropDownHungerState,45000,0,getLocalPlayer()) end) function setHungerState (player,hungerState) if (player == getLocalPlayer()) then guiProgressBarSetProgress(hungerProcess,hungerState) end end function getHungerState (player) if (player == getLocalPlayer()) then return guiProgressBarGetProgress(hungerProcess) end end function dropDownHungerState (player) if (player == getLocalPlayer()) then guiProgressBarSetProgress(hungerProcess,guiProgressBarGetProgress(hungerProcess) -1) if (guiProgressBarGetProgress(hungerProcess) == 0) then setElementHealth (player,getElementHealth (player) -25) outputChatBox ("Rapido! Debes alimentarte si no quieres morir!",255,0,0,false) elseif (guiProgressBarGetProgress(hungerProcess) == 10) then outputChatBox ("Sientes hambre",255,0,0,false) end end end addEventHandler ("onClientPlayerSpawn",getRootElement(), function (team) setHungerState (source,100) end) addEventHandler ("onClientMarkerHit",getRootElement(), function(hitEle,dim) if (getLocalPlayer() == hitEle) and (getElementData (source,"HAMBURGER!") == true) then if (getHungerState (hitEle) < 80) then setHungerState (hitEle,100) outputChatBox ("Comes algo y renuevas tus fuerzas.",255,0,255,false) outputChatBox ("Ya no sientes hambre.",255,0,255,false) else outputChatBox ("No necesitas comer en este momento.",255,0,255,false) end end end) addEvent("setHungerState", true) addEventHandler("setHungerState", root, setHungerState) addEvent("getHungerState", true) addEventHandler("getHungerState", root, getHungerState) -- Made by JasperNL=D SERVER function getHungerStateSrv(player) triggerClientEvent(player, "getHungerState", player) end function setHungerStateSrv(player, hungerState) triggerClientEvent(player, "setHungerState", player, hungerstate) end META <meta> <info author="JasperNL=D" version="1.0" name="Hunger!" description="The Super-hunger snippet! every server needs it :D" type="script" /> <script src="hunger.lua" type="client" /> <script src="server.lua" type="server" /> <export function="setHungerStateSrv" type="server"/> <export function="getHungerStateSrv" type="server"/> </meta> used function: exports.hunger:setHungerStateSrv ( source, math.max( 100, exports.hunger:getHungerStateSrv( source ) + 20 ) ) error: attempt to perform arithmetic on a nil value Can anyone help me? thanks
  7. thanks! i have solved it with another method but i'm interested in export a pair of client functions for hunger script. I will post it now.
  8. Hi i want to use removeEventHandler to remove an event from another Resource (players). The event i want to remove is clientside; in respawn_c.lua. How can i use it? included in server code: removeEventHandler( "onClientRender", hitElement, drawRespawnText) included in xml: <include resource="players"/>
  9. (sorry for double post) It is posible to take this script https://community.multitheftauto.com/index.php?p=resources&s=details&id=906 hamburgerPositions = { {372.82,-65.68,1001.51,10}, {380.44,-8.65,1001.85,9}, {379.42,-119.65,1001.49,5} } -- The positions for the hamburger, in the style: x,y,z,interior --[[ This is the hunger script. You can add hamburgers by adding it in hamburgerPositions. It works easy, just a after it, and filling in! {x,y,z,interiorID} When it isn't the last position, it needs a "," after it ]]-- -- DONT CHANGE ANYTHING AFTER THIS WITHOUT KNOWLEDGE! addEventHandler ("onClientResourceStart",getResourceRootElement(getThisResource()), function () hungerProcess = guiCreateProgressBar(0.7763,0.28,0.1775,0.04,true) guiMoveToBack (hungerProcess) guiProgressBarSetProgress(hungerProcess,100) hungerLabel = guiCreateLabel(0.7775,0.2817,0.1737,0.0367,"Hunger State",true) guiLabelSetColor(hungerLabel,255,255,255) guiLabelSetVerticalAlign(hungerLabel,"center") guiLabelSetHorizontalAlign(hungerLabel,"center",false) guiSetFont(hungerLabel,"default-small") for i,v in ipairs (hamburgerPositions) do local hamburger = createPickup (v[1],v[2],v[3],3,2768,100) local hamburgerMarker = createMarker (v[1],v[2],v[3],"corona",1,255,255,0,80) setElementData (hamburgerMarker,"HAMBURGER!",true) setElementInterior (hamburgerMarker,v[4]) setElementInterior (hamburger,v[4]) end setTimer (dropDownHungerState,45000,0,getLocalPlayer()) end) function setHungerState (player,hungerState) if (player == getLocalPlayer()) then guiProgressBarSetProgress(hungerProcess,hungerState) end end function getHungerState (player) if (player == getLocalPlayer()) then return guiProgressBarGetProgress(hungerProcess) end end function dropDownHungerState (player) if (player == getLocalPlayer()) then guiProgressBarSetProgress(hungerProcess,guiProgressBarGetProgress(hungerProcess) -1) if (guiProgressBarGetProgress(hungerProcess) == 0) then setElementHealth (player,getElementHealth (player) -25) outputChatBox ("FAST! You'll get die when you don't eat!",255,0,0,false) elseif (guiProgressBarGetProgress(hungerProcess) == 10) then outputChatBox ("Warning! You begin to become hungry!",255,0,0,false) end end end addEventHandler ("onClientPlayerSpawn",getRootElement(), function (team) setHungerState (source,100) end) addEventHandler ("onClientMarkerHit",getRootElement(), function(hitEle,dim) if (getLocalPlayer() == hitEle) and (getElementData (source,"HAMBURGER!") == true) then if (getHungerState (hitEle) < 50) then setHungerState (hitEle,100) outputChatBox ("HAMBURGER POWER!",255,0,255,false) outputChatBox ("You haven't got hunger any more :D",255,0,255,false) else outputChatBox ("You don't need to eat!",255,0,255,false) end end end) -- Made by JasperNL=D and change the markers to a server-side function? I want to make my items (from mta paradise, modified) trigger the client function to increase hunger. apologyze my poor english --- (spanish) Es posible tomar el script https://community.multitheftauto.com/index.php?p=resources&s=details&id=906 y cambiar los marcadores (donde uno va a subir su nivel de hambre) por una funcion ejecutada desde el server? Me gustaria que mis items (de mta paradise, modificados) mandaran a subir el nivel de hambre.
  10. really interesting, i will see it. thnx I want to make the script serverside to allow food items to increase hunger Edited the code in english
  11. i'm sorry but i dont know what is Arma 2.. I'm tryin to set up a little Zombie survival Roleplay server to play with some friends. I use code from this website and forums. PD: this? http://www.arma2.com/home_en.html
  12. yes im using zday script
  13. Well i have seen a little and i have thinked bout use exported functions. I'm tryin it CLIENT hamburgerPositions = { {450,-83,999.55,4} } -- The positions for the hamburger, in the style: x,y,z,interior --[[ This is the hunger script. You can add hamburgers by adding it in hamburgerPositions. It works easy, just a after it, and filling in! {x,y,z,interiorID} When it isn't the last position, it needs a "," after it ]]-- -- DONT CHANGE ANYTHING AFTER THIS WITHOUT KNOWLEDGE! addEventHandler ("onClientResourceStart",getResourceRootElement(getThisResource()), function () hungerProcess = guiCreateProgressBar(0.7763,0.28,0.1775,0.04,true) guiMoveToBack (hungerProcess) guiProgressBarSetProgress(hungerProcess,100) hungerLabel = guiCreateLabel(0.7775,0.2817,0.1737,0.0367,"Hambre",true) guiLabelSetColor(hungerLabel,200,0,0) guiLabelSetVerticalAlign(hungerLabel,"center") guiLabelSetHorizontalAlign(hungerLabel,"center",false) guiSetFont(hungerLabel,"default-bold-small") for i,v in ipairs (hamburgerPositions) do local hamburger = createPickup (v[1],v[2],v[3],3,2768,100) local hamburgerMarker = createMarker (v[1],v[2],v[3],"corona",2,255,255,0,255) setElementData (hamburgerMarker,"HAMBURGER!",true) setElementInterior (hamburgerMarker,v[4]) setElementInterior (hamburger,v[4]) end setTimer (dropDownHungerState,45000,0,getLocalPlayer()) end) function setHungerState (player,hungerState) if (player == getLocalPlayer()) then guiProgressBarSetProgress(hungerProcess,hungerState) end end function getHungerState (player) if (player == getLocalPlayer()) then return guiProgressBarGetProgress(hungerProcess) end end function dropDownHungerState (player) if (player == getLocalPlayer()) then guiProgressBarSetProgress(hungerProcess,guiProgressBarGetProgress(hungerProcess) -1) if (guiProgressBarGetProgress(hungerProcess) == 0) then setElementHealth (player,getElementHealth (player) -25) outputChatBox ("Rapido! Debes alimentarte si no quieres morir!",255,0,0,false) elseif (guiProgressBarGetProgress(hungerProcess) == 10) then outputChatBox ("Sientes hambre",255,0,0,false) end end end addEventHandler ("onClientPlayerSpawn",getRootElement(), function (team) setHungerState (source,100) end) addEventHandler ("onClientMarkerHit",getRootElement(), function(hitEle,dim) if (getLocalPlayer() == hitEle) and (getElementData (source,"HAMBURGER!") == true) then if (getHungerState (hitEle) < 80) then setHungerState (hitEle,100) outputChatBox ("Comes algo y renuevas tus fuerzas.",255,0,255,false) outputChatBox ("Ya no sientes hambre.",255,0,255,false) else outputChatBox ("No necesitas comer en este momento.",255,0,255,false) end end end) addEvent("setHungerState", true) addEventHandler("setHungerState", root, setHungerState) addEvent("getHungerState", true) addEventHandler("getHungerState", root, getHungerState) -- Made by JasperNL=D SERVER function getHungerStateSrv(player) triggerClientEvent(player, "getHungerState", player) end function setHungerStateSrv(player, hungerState) triggerClientEvent(player, "setHungerState", player, hungerstate) end META <meta> <info author="JasperNL=D" version="1.0" name="Hunger!" description="The Super-hunger snippet! every server needs it :D" type="script" /> <script src="hunger.lua" type="client" /> <script src="server.lua" type="server" /> <export function="setHungerStateSrv" type="server"/> <export function="getHungerStateSrv" type="server"/> </meta> used function: exports.hunger:setHungerStateSrv ( source, math.max( 100, exports.hunger:getHungerStateSrv( source ) + 20 ) ) error: attempt to perform arithmetic on a nil value Can anyone help me? thanks
  14. final code por stamina system using exp_system (thnx to Castillo): (CLIENT) maxstamina = 10 addEventHandler ( "onClientPlayerSpawn", getLocalPlayer(), function ( ) local level = tonumber ( getElementData ( localPlayer, "level" ) or 0 ) maxstamina = ( level * 10 ) setTimer ( checkKey, 700, 0 ) setTimer ( updateStamina, 1000, 0 ) end ) stamina = maxstamina function checkKey ( ) if ( getControlState ( "sprint" ) ) and ( stamina ~= 0 ) then stamina = ( stamina - 1 ) end if ( stamina == 0 ) then setControlState( "sprint", false ) end end function updateStamina ( ) if ( stamina ~= maxstamina and getControlState ( "sprint" ) == false ) then stamina = ( stamina + 1 ) end end How it works: When you spawn you're stamina is 10. So you have to sprint one time to make the script increase your stamina level to the max. The max stamina is determined by your level multiplied by 10. When you sprint your stamina decreases, when you stop sprint, stamina will increase automatically.
×
×
  • Create New...