Postado Agosto 29, 2014 10 anos Bom gente, algum Scripter poderia por favor fazer uma simples edição nesse sistema? No caso, esse sistema se tráta de um VIP System por item, e eu queria que quando o item acaba-se, o personagem seria teletransportado para um local configurável no mapa, X,Y,Z. Script: Mostrar conteúdo oculto 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, AQUI STORAGE DO SEU VIP SYSTEM) local timenow = os.time() if getPlayerStorageValue(cid, AQUI STORAGE DO SEU VIP SYSTEM) - 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, AQUI STORAGE DO SEU VIP SYSTEM, time) local quantity = math.floor((getPlayerStorageValue(cid, AQUI STORAGE DO SEU VIP SYSTEM) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") if (config.removeOnUse == "yes") then doRemoveItem(item.uid, 1) end return TRUE end Agradeço desde já. Editado Agosto 29, 2014 10 anos por Superion (veja o histórico de edições) Conlheça o projeto:
Postado Agosto 29, 2014 10 anos Autor Em 29/08/2014 em 14:21, AnnaFeeh disse: Tem o endvip.lua? dar para fazer isso pelo creaturescripts Não, só venho o script.lua e a Tag que adiciona em actions.xml. Editado Agosto 29, 2014 10 anos por Superion (veja o histórico de edições) Conlheça o projeto:
Postado Agosto 29, 2014 10 anos data\actions\scripts vipsystem.lua Mostrar conteúdo oculto 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 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)) doPlayerAddPremiumDays(cid, 30) doRemoveItem(item.uid, 1) if getPlayerStorageValue(cid, strg_n) < 1 then setPlayerStorageValue(cid, strg_n, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seus dias foram acrescentados e seu nome ja foi alterado.") end return TRUE end actions.xml Mostrar conteúdo oculto <action itemid="ID DO ITEM" script="vipsystem.lua"/> data\creaturescripts\scripts endvip.lua Mostrar conteúdo oculto local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar function onLogin(cid) if getPlayerPremiumDays(cid) <= 0 and getPlayerStorageValue(cid, strg_n) == 1 then setPlayerStorageValue(cid, 9898, 1) end if getPlayerStorageValue(cid, 9898) == 1 and getPlayerPremiumDays(cid) <= 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) addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end creaturescripts.xml Mostrar conteúdo oculto <event type="login" name="CheckVip" script="endvip.lua"/> e no Login.lua adicione; Mostrar conteúdo oculto registerCreatureEvent(cid, "CheckVip") no Script do endvip.lua está configurado para quando acabar os dias vips do player ele ser teleportado para o templo Principal Editado Agosto 29, 2014 10 anos por AnnaFeeh (veja o histórico de edições)
Postado Agosto 29, 2014 10 anos Autor Funcinou tudo cérto. Mas só não curti isso de adicionar (VIP) no nome, porque lógo quando clica no item o cara é kikado, ai fica inútil ter as funções no script que mandam mensagens na tela, ai não tem como o jogador ser notificado que foi adicionado "x" dias de VIP. Dúvida, é pra um personagem só ou pra Account toda? Mas obrigado mesmo assim. Editado Agosto 29, 2014 10 anos por Superion (veja o histórico de edições) Conlheça o projeto:
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.