Anzo Posted August 3, 2016 Share Posted August 3, 2016 Lo que tengo hasta ahora es un sistema que si matas a 100 zombies te sube al lvl 1, luego si matas a 300 te sube al lvl 2, y lo logre guiándome de un script de la comunidad. Mi pregunta es si puedo hacer que cuando mates zombies te vayan dando 2 o 3 de exp. Ya he usado el exp_system de castillo, pero no me gusta el sonido que sale al subir de nivel. (Buenoo, si me gusta, pero quisiera hacer uno yo ). Lo que estoy usando es esto: niveles = { 100,--1 210,--2 320,--3 430,--4 540,--5 650,--6 760,--7 880,--8 990,--9 1300,--10 } --------------- setElementData(root, "zombiesKilled",0) setElementData(root, "lev",0) function render() local name = getPlayerName(localPlayer) dxDrawText("Zombies kills:"..getElementData(localPlayer, "zombiesKilled"), 10, 356, 117, 370, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText(name.."#ffffff.#ffff00[Lvl."..getElementData(localPlayer, "lev").. "]", screenW * 0.7000, screenH * 0.1150, screenW * 0.7288, screenH * 0.1400, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, true, false) end addEventHandler("onClientRender", root, render) function leveling(attacker) local dat = getElementData(localPlayer, "zombiesKilled") if getElementData (source, "zombie") == true and attacker == localPlayer then setElementData(localPlayer, "zombiesKilled", dat+1) dxDrawText("Zombies kills:"..getElementData(localPlayer, "zombiesKilled"), 10, 356, 117, 370, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("#ffffff.#ffff00[Lvl."..getElementData(localPlayer, "lev").. "]", screenW * 0.7000, screenH * 0.1150, screenW * 0.7288, screenH * 0.1400, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, true, false) end if dat == niveles[1] then setElementData(localPlayer, "lev", 1) exports.notifications:showBox("info", "Has subido al nivel "..getElementData(localPlayer, "lev").."!\n+$500") triggerServerEvent("money1", localPlayer) elseif dat == niveles[2] then setElementData(localPlayer, "lev",2) exports.notifications:showBox("info", "Has subido al nivel "..getElementData(localPlayer, "lev").."!\n+$1000") triggerServerEvent("money2", localPlayer) elseif dat == niveles[3] then setElementData(localPlayer, "lev",3) exports.notifications:showBox("info", "Has subido al nivel "..getElementData(localPlayer, "lev").."!\n+$1500") triggerServerEvent("money3", localPlayer) elseif dat == niveles[4] then setElementData(localPlayer, "lev",4) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$2000") triggerServerEvent("money4", localPlayer) elseif dat == niveles[5] then setElementData(localPlayer, "lev",5) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$3000") triggerServerEvent("money5", localPlayer) elseif dat == niveles[6] then setElementData(localPlayer, "lev",6) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$4000") triggerServerEvent("money6", localPlayer) elseif dat == niveles[7] then setElementData(localPlayer, "lev",7) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$5000") triggerServerEvent("money7", localPlayer) elseif dat == niveles[8] then setElementData(localPlayer, "lev",8) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$5555") triggerServerEvent("money8", localPlayer) elseif dat == niveles[9] then setElementData(localPlayer, "lev",9) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$6500") triggerServerEvent("money9", localPlayer) elseif dat == niveles[10] then setElementData(localPlayer, "lev",10) exports.notifications:showBox("info", "Has subido al nivel " ..getElementData(localPlayer, "lev").."!\n+$8000") triggerServerEvent("money10", localPlayer) end end addEventHandler("onClientPedWasted", root, leveling) function saveUpdate() dxDrawText("Zombies kills:"..getElementData(localPlayer, "zombiesKilled"), 10, 356, 117, 370, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawText("#ffffff.#ffff00[Lvl."..getElementData(localPlayer, "lev").. "]", screenW * 0.7000, screenH * 0.1150, screenW * 0.7288, screenH * 0.1400, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, true, false) end addEvent("saveKills", true) addEventHandler("saveKills", root, saveUpdate) No sé si me entendieron, pero a lo que me refiero es que si en vez de subir de nivel al matar 100 zombies puedo hacer otro dxText que diga EXP: 0 y que mientras mate zombies me sume ese EXP: 0 a EXP: 2 o EXP:5 y cuando llegue a la EXP:300 me suba al nivel 1, luego si llego a EXP:1000 me suba al nivel 2 y así sucesivamente. Link to comment
Recommended Posts