Postado Agosto 11, 2014 10 anos Ok, obrigado pelo Rep+. Aguardo retorno. Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Postado Agosto 11, 2014 10 anos Autor Ok, obrigado pelo Rep+. Aguardo retorno. ainda tá com o problema eu usei o item 2 vezes e quando Fui ver tava 60 dias vip e com o nick assim >:> [vip][vip] slicefalso http://www.weblara.com.br/
Postado Agosto 11, 2014 10 anos Ok, eu tentei do modo mais difícil/chato, estou com dor de cabeça, ocupado com códigos.. por isso estes erros.. Enfim, vamos tentar assim agora. vip.lua: function onUse(cid, item, fromPosition, itemEx, toPosition) local name = getCreatureName(cid) local days = 30 -- dias que serão adicionados local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, strg) local timenow = os.time() if getPlayerStorageValue(cid, strg) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de SYNC VIP no seu character.") setPlayerStorageValue(cid, strg, time) local quantity = math.floor((getPlayerStorageValue(cid, strg) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de SYNC VIP restantes.") doRemoveItem(item.uid, 1) if getPlayerStorageValue(cid, strg_n) < 1 then db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seus dias foram acrescentados e seu nome ja foi alterado.") end return TRUE end endvip.lua: function onLogin(cid) local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar if getPlayerStorageValue(cid, strg) - os.time() > 0 then setPlayerStorageValue(cid, 9898, 1) end function EddyHavoc(cid) if isPlayer(cid) then db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end end if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, strg) - os.time() < 1 or getPlayerStorageValue(cid, strg) - os.time() == 0 then local temple = getTownTemplePosition(getPlayerTown(cid)) doTeleportThing(cid, temple) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) setPlayerStorageValue(cid, strg_n, -1) if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end Boa sorte. Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Postado Agosto 11, 2014 10 anos Autor Ok, eu tentei do modo mais difícil/chato, estou com dor de cabeça, ocupado com códigos.. por isso estes erros.. Enfim, vamos tentar assim agora. vip.lua: function onUse(cid, item, fromPosition, itemEx, toPosition) local name = getCreatureName(cid) local days = 30 -- dias que serão adicionados local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, strg) local timenow = os.time() if getPlayerStorageValue(cid, strg) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de SYNC VIP no seu character.") setPlayerStorageValue(cid, strg, time) local quantity = math.floor((getPlayerStorageValue(cid, strg) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de SYNC VIP restantes.") doRemoveItem(item.uid, 1) if getPlayerStorageValue(cid, strg_n) < 1 then db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seus dias foram acrescentados e seu nome ja foi alterado.") end return TRUE end endvip.lua: function onLogin(cid) local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar if getPlayerStorageValue(cid, strg) - os.time() > 0 then setPlayerStorageValue(cid, 9898, 1) end function EddyHavoc(cid) if isPlayer(cid) then db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end end if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, strg) - os.time() < 1 or getPlayerStorageValue(cid, strg) - os.time() == 0 then local temple = getTownTemplePosition(getPlayerTown(cid)) doTeleportThing(cid, temple) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) setPlayerStorageValue(cid, strg_n, -1) if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end Boa sorte. posso trocar essa parte do endvip.lua por essa essa getPlayerStorageValue(cid, strg) - os.time() < 1 or getPlayerStorageValue(cid, strg) - os.time() == 0 then popr getPlayerPremiumDays(cid) <= 0 then porque eu quero que só remova o vip depois que o player não esteja com nenhum dia vip mais http://www.weblara.com.br/
Postado Agosto 11, 2014 10 anos Vamos por parte. Desta forma funcionou? Pois creio que esta função cheque se o player tem Premium Account, o que na maioria dos servidor são diferentes do sistema de VIP. Mas não custa nada testar. Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.