Postado Agosto 11, 2014 10 anos Autor Mais já vi pessoas com esse systema e funcionando de boa, mais os que sabem não querem ajuda http://www.weblara.com.br/
Postado Agosto 11, 2014 10 anos Criei/Editei este script para um usuário há pouco tempo. teste-o e poste o resultado. Teste assim: Atualize seu script de VIP por este: function onUse(cid, item, fromPosition, itemEx, toPosition) local days = 30 -- dias que serão adicionados local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - 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, 13540, time) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - 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) local name = getCreatureName(cid) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) return TRUE end E agora crie o arquivo endvip.lua na pasta CreatureScripts e adicione este conteúdo: function onLogin(cid) if getPlayerStorageValue(cid, 13540) - 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, 13540) - os.time() < 1 or getPlayerStorageValue(cid, 13540) - os.time() == 0 then local temple = getTownTemplePosition(getPlayerTown(cid)) doTeleportThing(cid, temple) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end Então abra o CreatureScripts.xml e adicione esta tag: <event type="login" name="CheckVip" script="endvip.lua"/> E por último, creio que seja necessário que abra o arquivo Login.lua da pasta CreatureScripts/scripts e adicionar esta tag junto com as outras do mesmo gênero: registerCreatureEvent(cid, "CheckVip") 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 Obrigado por está tentado ajuda, mais as minhas scripts são as mesmas vip.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local config= { removeOnUse = "yes" -- remover quando usar ("yes" or "no") } local days = 30 -- dias que serão adicionados local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 33339) local timenow = os.time() if getPlayerStorageValue(cid, 33339) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 33339, time) local quantity = math.floor((getPlayerStorageValue(cid, 33339) - timenow)/(24 * 60 * 60)) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25, "Voce sera kickado em 5 segundos para mudanca de nome.") doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) addEvent(doRemoveCreature, 5 * 1000, cid, true) if (config.removeOnUse == "yes") then doPlayerAddPremiumDays(cid, 30) doRemoveItem(item.uid, 1) end return TRUE end endvip function onLogin(cid) if getPlayerPremiumDays(cid) <= 0 then setPlayerStorageValue(cid, 9898, 1) end function removeName(cid) if isPlayer(cid) then db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") addEvent(doRemoveCreature, 1 * 1000, cid, true) end end if getPlayerStorageValue(cid, 9898) == 1 and getPlayerPremiumDays(cid) <= 0 then setPlayerStorageValue(cid, 9898, -1) if string.find(tostring(getCreatureName(cid)),"[Vip]") then addEvent(removeName, 3*1000, cid) end end return TRUE end http://www.weblara.com.br/
Postado Agosto 11, 2014 10 anos Fiz questão de verificar seu script, devo dizer que por mais que na estética aparenta ser igual, na funcionalidade há diferenças. Assim como as próprias storages que precisam ser substituídas. Mas teste o meu e me diga, pois o usuário que ajudei estava usando este mesmo script seu e o que enviei resolveu o caso dele. Veja no link Boa sorte. Editado Agosto 11, 2014 10 anos por Adriano SwaTT (veja o histórico de edições) 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 mais a storage tem que ser essa que estou usando http://www.weblara.com.br/
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.