Narutimmy Posted December 22, 2013 Share Posted December 22, 2013 Hola bueno ammm tengo un panel para darse items, pero los users abusan asi que les puse un limitador de 1,000 items por user. todo bien. El problema es que ahi que morir 1 Vez para que funcione de lo contrario no resive la informacion del ElementData, sale boolean me parece. pero si mueres funciona, pero si reconectas otra vez. Sv: function dar (pName, item, quantity) if (getElementData(source,"Iitemss") < 1000) then if (quantity < 1000) then setElementData(source,"Iitemss", (getElementData(source, item) + quantity)) setElementData(getPlayerFromName(pName), item, (getElementData(getPlayerFromName(pName), item) + quantity)) local chatterName = getPlayerName ( source ) outputChatBox("Given "..quantity.." "..item.." to "..pName, source, 255, 255, 0) outputChatBox(chatterName.." te a dado " .. quantity .. " " .. item, getPlayerFromName(pName), 255, 255, 0) else outputChatBox("El Abuso del Panel VIP puede llebar a su Perdida. ", source, 255, 0, 0) end else outputChatBox("El Limite es de 1000 items por Vida. ", source, 255, 0, 0) end end addEventHandler("onGIPGive", root, dar ) sv: function Restart ( ) setElementData(source,"Iitemss",0) end addEventHandler ( "onPlayerWasted", getRootElement(), Restart ) Link to comment
MTA Team 0xCiBeR Posted December 22, 2013 MTA Team Share Posted December 22, 2013 Prueba esto:(Inicia el resource, reconnecta,date spawn y dime si te va) function Restart ( ) setElementData(source,"Iitemss",0) end addEventHandler ( "onPlayerWasted", getRootElement(), Restart ) addEventHandler ( "onPlayerSpawn", getRootElement(), Restart ) Link to comment
Narutimmy Posted December 22, 2013 Author Share Posted December 22, 2013 Prueba esto:(Inicia el resource, reconnecta,date spawn y dime si te va) function Restart ( ) setElementData(source,"Iitemss",0) end addEventHandler ( "onPlayerWasted", getRootElement(), Restart ) addEventHandler ( "onPlayerSpawn", getRootElement(), Restart ) el problema es este que amm... quiero ponerles un limite de 1,000 objetos por vida, pero si reconectan sale boolean, hasta que mueran. Si pongo como dices al reconectar se les pondra en 0 y no quiero eso.. Link to comment
MTA Team 0xCiBeR Posted December 22, 2013 MTA Team Share Posted December 22, 2013 El problema es que ahi que morir 1 Vez para que funcione de lo contrario no resive la informacion del ElementData, sale boolean me parece. pero si mueres funciona, pero si reconectas otra vez. Con mi script, solucione ese error. PD: si es un problema con boolean, prueba esto: function repair ( ) setElementData(source,"Iitemss",true) end addEventHandler ( "onPlayerSpawn", getRootElement(), repair ) Link to comment
Renkon Posted December 22, 2013 Share Posted December 22, 2013 setElementData se pierde cuando se destruye el elemento, es decir, cuando se desconecta el jugador. PD: un segundo... ese script es mio Link to comment
Narutimmy Posted December 23, 2013 Author Share Posted December 23, 2013 setElementData se pierde cuando se destruye el elemento, es decir, cuando se desconecta el jugador.PD: un segundo... ese script es mio es el script del give de dayz PD: si se que es tuyo y como puedo hacer para que no se pierda? Link to comment
MTA Team 0xCiBeR Posted December 23, 2013 MTA Team Share Posted December 23, 2013 Usa: --Para guardar onPlayerQuit getElementData getPlayerAccount setAccountData --Para volver a dar onPlayerLogin getPlayerAccount getAccountData setElementData O puedes usar SQL para almacenar. Link to comment
Narutimmy Posted December 23, 2013 Author Share Posted December 23, 2013 Usa: --Para guardar onPlayerQuit getElementData getPlayerAccount setAccountData --Para volver a dar onPlayerLogin getPlayerAccount getAccountData setElementData O puedes usar SQL para almacenar. seria algo asi no?¿ --SAVE ITEMS VIP function saveitems () local Items = getElementData(source, "Iitemss") local account = getPlayerAccount(source) setAccountData(account,"Iitemss",Items) end addEventHandler ( "onPlayerQuit", getRootElement(), saveitems ) --LOAD ITEMS VIP function loaditems () local account = getPlayerAccount(source) local Items = getAccountData(account, "Iitemss") setElementData(source,"Iitemss",Items) end addEventHandler ( "onPlayerLogin", getRootElement(), saveitems ) Link to comment
MTA Team 0xCiBeR Posted December 23, 2013 MTA Team Share Posted December 23, 2013 Si, aunque le erraste en el argumento de tu segundo evento..Seria asi: --SAVE ITEMS VIP function saveitems () local Items = getElementData(source, "Iitemss") local account = getPlayerAccount(source) setAccountData(account,"Iitemss",Items) end addEventHandler ( "onPlayerQuit", getRootElement(), saveitems ) --LOAD ITEMS VIP function loaditems () local account = getPlayerAccount(source) local Items = getAccountData(account, "Iitemss") setElementData(source,"Iitemss",Items) end addEventHandler ( "onPlayerLogin", getRootElement(), loaditems ) Felicidades Link to comment
Narutimmy Posted December 23, 2013 Author Share Posted December 23, 2013 Si, aunque le erraste en el argumento de tu segundo evento..Seria asi: --SAVE ITEMS VIP function saveitems () local Items = getElementData(source, "Iitemss") local account = getPlayerAccount(source) setAccountData(account,"Iitemss",Items) end addEventHandler ( "onPlayerQuit", getRootElement(), saveitems ) --LOAD ITEMS VIP function loaditems () local account = getPlayerAccount(source) local Items = getAccountData(account, "Iitemss") setElementData(source,"Iitemss",Items) end addEventHandler ( "onPlayerLogin", getRootElement(), loaditems ) Felicidades si me di cuenta , pero me dio flojera editar el post , Gracias Link to comment
MTA Team 0xCiBeR Posted December 23, 2013 MTA Team Share Posted December 23, 2013 De nada Link to comment
Recommended Posts