Postado Maio 7, 2014 11 anos Então, o ot que baixei já vem com sistema vip (que é esse daqui: http://www.tibiaking.com/forum/topic/12001-perfect-vip-system-22/) só que fiz mais uma área vip e gostaria de fazer um novo sistema, e gostaria também que para o player ter acesso a essa área nova teria que passar por uma segunda quest vip e lá pegaria um item que daria acesso a esse novo vip. Espero respostas, tks.
Postado Maio 7, 2014 11 anos O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de OTServ Geral" Para: "OTServ → Suporte OTServ → Suporte de Scripts" Ajudei = REP+ Não dou suporte por PM qualquer dúvida procure no fórum,caso não encontre oque procura crie um tópico. [email protected]" /> | TFS 0.4 DEV | %5Bcreaturescript%5D Icones no minimap com descrição%5Btalkaction%5D Adicionar ou remover VIP do player.%5Bcreaturescripts%5D Senha para porta%5Btalkaction%5D Mandar mensagem para pasta do servidorMapa Evento War Castle%5Baction%5D Canoa em MovimentoTeleport Scroll System%5Bcreaturescripts%5D Recompensa por level para X vocations%5Btalkaction%5D Adicionar X item para o player%5Btalkactions%5D Adicionar item para todos players online%5Baction%5D Item que teleporta o player para house[action+movement] Passaporte para entrar no barco
Postado Maio 7, 2014 11 anos Autor Obrigado por mover Achei um script e ele funcionou (esse: http://www.tibiaking.com/forum/topic/20589-vip-system-by-mock-100/ ) mas ainda tenho dúvidas A primeira, como faço pra dar vip para usuário? o /addvip não está pegando. Segundo, gostaria que para o usuário virar vip teria que passar por uma quest e lá pegar o item vip, como faço isso? Obrigado. Editado Maio 7, 2014 11 anos por Ciclope263 (veja o histórico de edições)
Postado Maio 9, 2014 11 anos Amigo tente esse Script Em movements/scripts crie um arquivo chamado donate.lua e coloque -- Script Vip Sytem 1.0 -- function onStepIn(cid, item, position, fromPosition) local config = { msgDenied = "" .. getCreatureName(cid) .." Para poder entrar fassa a Quest Vip no teleport Quests.", msgWelcome = "Para saber os dias de vip fale !days " .. getCreatureName(cid) .."." } if getPlayerStorageValue(cid, 13541) - os.time() <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, config.msgDenied) doSendMagicEffect(getThingPos(cid), 43) return TRUE end doPlayerSendTextMessage(cid, TALKTYPE_ORANGE_1, config.msgWelcome) return TRUE end E coloque esta tag em movements.xml <movevent type="StepIn" uniqueid="13701" event="script" value="donate.lua"/> Agora vá em talkactions/scripts e acidione o arquivo vip2.lua -- Script SYtem vip 1.0 -- function onSay(cid, words, param) if(words == "!vip3") then if doPlayerRemoveItem(cid, 8978, 1) == TRUE then local days = 90000 local daysvalue = days * 240 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13541) local timenow = os.time() if getPlayerStorageValue(cid, 13541) - 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, 13541, time) local quantity = math.floor((getPlayerStorageValue(cid, 13541) - timenow)/(240 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa do iten da quest Vip.") end elseif(words == "!days") then local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(cid, 13541) - timenow)/(240 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.") elseif(words == "/checkvip3") then if getPlayerAccess(cid) == 5 then if not param then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(param) local pid = getPlayerByNameWildcard(param) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return TRUE end local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(player, 13541) - timenow)/(240 * 60 * 60)) doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.") return TRUE end elseif(words == "/addvip3") then if getPlayerAccess(cid) == 5 then local t = string.explode(param, ",") if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(t[1]) local days = t[2] local pid = getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return TRUE end local daysvalue = days*3600*240 local storageplayer = getPlayerStorageValue(player, 13541) local timenow = os.time() local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.") setPlayerStorageValue(player, 13541, time) local quantity = math.floor((getPlayerStorageValue(player,13541) - timenow)/(3600*240)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.") end elseif(words == "/delvip3") then if getPlayerAccess(cid) == 5 then local dec = MESSAGE_INFO_DESCR if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end local C,t = {},string.explode(param, ",") C.pos = getPlayerPosition(cid) C.uid = getCreatureByName(t[1]) C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24 --Tempo da vip por dia. C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip. local pid = getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return TRUE end if(getPlayerStorageValue(C.uid,13541) < C.time)then doPlayerSendTextMessage(cid,dec,'O jogador '..t[1]..' não possui '..C.days..' dias de vip.') else doPlayerSendTextMessage(cid,dec,'Você removeu '..C.days..' dias de vip do player '..t[1]..'.') setPlayerStorageValue(C.uid,13541,getPlayerStorageValue(C.uid,13541)-C.time) end doSendMagicEffect(C.pos, math.random(28,30)) end end return TRUE end Adicione a seguinte tag em talkactions.xml <talkaction words="!days;!vip3;/checkvip3;/addvip3;/delvip3" script="vip2.lua"/> Para trocar o item que da o vip é nesta linha if doPlayerRemoveItem(cid, 8978, 1) == TRUE then Trocar o 8978 por outro id. Para fazer o chão onde só quem tem vip possa passar coloque o Action e Unique ids 13701 no chão desejado. E para alterar as palavras como !vip3 /addvip3 é so vc alterar na tag e depois ir no vip2.lua e alterar os respectivos.. Se precisar de algo mais só Falar! Att:Lucas Obs: Amigo isso que vc fez foi flood, para fazer seu tópico subir fale apenas @up, e vc deve ter paciência lembrando que aqui é um forum. Obs2:Se resolveu seu problema marque como melhor resposta para que tópico possa ser marcado como resolvido. Editado Maio 9, 2014 11 anos por llucas75 (veja o histórico de edições) Scripter: |||||||||| 10% Te ajudei?? REP + e ficamos quites... Atenciosamente, Lucas. Abraços!
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.