Ir para conteúdo

luispiai1

Membro
  • Registro em

  • Última visita

Tudo que luispiai1 postou

  1. Gostei de todas as críticas e opiniões , mais quest é um assunto meio complicado no meu ponto de vista, quase sempre a mesma coisa, entregar "N" item em "X" lugar e matar "N" monstro em "X" lugar, acho muito sem graça mais fazer o que... Se eu fosse criar um quest seria +/- com o que a galera ta falando do addon. Jogador pede informação em determinado NPC NPC fala ao jogador visitar NPC Guardião de tal lugar NPC Guardião fala ao jogador retorna ao NPC NPC fala ao jogador matar "N" monstros ou traze-lo "N" item. NPC fala ao jogador voltar ao NPC Guardião e entregar "N" quantidade de monstro ou item. NPC Guardião fala ao jogador matar BOSS em tal lugar. (Esse tal lugar seria mais legal se o NPC dissesse dicas do lugar que o BOSS se encontra, não apontar diretamente onde esta. O que eu queria é que o jogador explorasse o máximo o mapa. As quests também poderia ter horário ou algo do tipo Jogador poder fazer aquela quest 1 ou N vezes no dia caso falhe nas anteriores É como se fosse GTA, um exemplo melhor é Perfect World que a maioria das quests são assim.
  2. Nome de Cidades 1- Cidade 1: Armia 2- Cidade 2: Pillai 3- Cidade 3: Vale das Pedras ou Pedreira 4- Cidade 4: Kalima 6- Cidade 6: Cidade Perdida ou Ilha Perdida Vantagens Players VIP 1- Áreas específicas (Exp, Loot, Treiners) 2- Addons e Montarias 3- Magias 4- Sistema de promoção igual Tibia Original (Elite Knight, Royal Paladin, etc.) 5- DP com maior quantidade para armazenar itens. 6- tag [VIP] no nome 7- Comando /templo e outros 8- Comprar Residência 9- Criar Guild O nome das cidades eu tirei até de alguns jogos, mais gostaria de saber qual monstros terão em determinada área para ficar mais criativo, e as vantagens vip algumas são retiradas do próprio Tibia.
  3. @Absolute Meu OT possui sistema de Reset, seu script funcionara? O level para Reset é 5000, e quando chega nos 5000 tenho outro script que faz a exp travar. Como você falo da storage acho que não funcionara, pois já vai ficar gravado que no level "x" o player ja recebeu "x" recompensa. Poderia me ajudar, gostei muito do script.
  4. @Azhaurn Fiz exatamente o que disse, mais não esta adicionando a tag [VIP], criei outra conta, comprei vip, chequei a VIP e dei logout, quando eu logo no char da a mensagem "Sua vip account acabou."
  5. Boa Noite, possuo um sistema de VIP no meu OTServ que funciona perfeito, porem gostaria de adicionar a tag [VIP] antes do nome do player, resumindo: Quando o player comprar viper: [VIP] Roberto e quando acabar a VIP: Roberto Postarei meus scripts do sistema VIP que encontrei da pasta /data que estão ativos em seus arquivos.xml C:\OT SERVER\data\talkactions\scripts\systemvip.lua -- Script SYtem vip 1.0 -- function onSay(cid, words, param) if(words == "!buyvip") then local price = 2000000 if doPlayerRemoveMoney(cid, 2000000) == TRUE then local days = 30 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 VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.") end elseif(words == "!vipdays") then local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.") elseif(words == "/checkvip") 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, 13540) - timenow)/(24 * 60 * 60)) doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.") return TRUE end elseif(words == "/addvip") 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*24 local storageplayer = getPlayerStorageValue(player, 13540) 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, 13540, time) local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.") end elseif(words == "/delvip") 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,13540) < 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,13540,getPlayerStorageValue(C.uid,13540)-C.time) end doSendMagicEffect(C.pos, math.random(28,30)) end end return TRUE end C:\OT SERVER\data\talkactions\talkactions.xml <talkaction words="!vipdays;!buyvip;/checkvip;/delvip" script="systemvip.lua"/> C:\OT SERVER\data\talkactions\scripts\addvip2 function onSay(cid, words, param) -- configs access = 1 days = 30 -- end configs player = getPlayerByName(param) daysvalue = days*3600*24 storageplayer = getPlayerStorageValue(player,29000) timenow = os.time() if storageplayer == -1 or storageplayer == 0 then time = timenow+daysvalue else time = storageplayer+daysvalue end if param ~= "" then if getPlayerGroupId(cid) >= access then doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adcionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(player,29000,time) quantity = math.floor((getPlayerStorageValue(player,29000) - timenow)/(3600*24)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Somente jogadores com acesso maior que "..access.." podem adcionar vips.") end end end C:\OT SERVER\data\talkactions\talkactions.xml <talkaction words="/addvip" script="addvip2.lua"/> C:\OT SERVER\data\talkactions\scripts\vip\addvip.lua function onSay(cid, words, param) if param == "" then return doPlayerPopupFYI(cid,"Está com problemas?\n Aprenda os comandos!\n---------------\nAdicionar vip:\n/vip add days player\n/vip add 30 Styller\n---------------\nDeletar vip:\n/vip del player\n/vip del Styller\n---------------\nVer a vip:\n/vip see player\n/vip see Styller\n---------------\n") end if param:lower():find('add') == 1 and 3 then local _,_,id,name = param:lower():find('add (%d+) (.+)') name = name or "" id = tonumber(id or 1) or 1 if tonumber(id) == nil or getPlayerByName(name) == false then return doPlayerSendTextMessage(cid,25,"Adicionar vip:\n/vip add days player\n/vip add 30 Styller\n [Player: "..name.."]") end if isPlayer(getPlayerByName(name)) == TRUE then vip.addVipByAccount(getPlayerAccount(getPlayerByName(name)) ,vip.getDays(id)) doPlayerSendTextMessage(cid,25,"Foram adicionados "..tonumber(id).." dias de vip a "..name..".") doPlayerSendTextMessage(getPlayerByName(name),25,"Você recebeu "..tonumber(id).." dias de vip.") else doPlayerSendTextMessage(cid,25,name.." não esta online ou não existe.") end elseif param:lower():find('del') == 1 and 3 then local _,_,name = param:lower():find('del (.+)') if getPlayerByName(name) == false then return doPlayerSendTextMessage(cid,25,"Deletar vip:\n/vip del player\n/vip del Styller\n") end vip.setVipByAccount(getPlayerAccount(getPlayerByName(name)),-os.time()) doPlayerSendTextMessage(cid,25,"A vip de "..name.." foi apagada.") elseif param:lower():find('see') == 1 and 3 then local _,_,name = param:lower():find('see (.+)') name = name or "" if getPlayerByName(name) == false then return doPlayerSendTextMessage(cid,25,"Ver a vip:\n/vip see player\n/vip see Styller\n") end local ret_ = vip.getVip(getPlayerByName(name)) if ret_ == 0 then return doPlayerSendTextMessage(cid, 25,name.." Não tem vip, e nunca teve.") else return doPlayerSendTextMessage(cid, 25, "A vip de "..name.." Acaba/terminou em "..os.date("%d %B %Y %X ",ret_)) end end return TRUE end C:\OT SERVER\data\talkactions\talkactions.xml <talkaction log="yes" words="/vip" access="5" event="script" value="vip/addvipp.lua" /> C:\OT SERVER\data\movements\scripts\vipe.lua -- Script Vip Sytem 1.0 -- function onStepIn(cid, item, position, fromPosition) local config = { msgDenied = "Você não e vip ,para adqrir sua vip, digite !buyvip custa 2kk, se não tiver dinheiro não posso fazer nada! rss.", msgWelcome = "Seja Bem Vindo a Area vip." } if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return TRUE end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome) return TRUE end C:\OT SERVER\data\movements\movements.xml <movevent type="StepIn" uniqueid="13700" event="script" value="vipe.lua"/> Tem mais arquivos com nome de vip.lua, systemvip.lua, só que estes não estava adicionados nos arquivos.xml então acabei não colocando, mais se precisar eu coloco. Obrigado.
  6. Olá, gostei muito do mapa, só estou com problemas com as coordenadas, pois quando dou open do rme o mapa não fica com as coordenadas falada no tópico, alguém por favor me fala os locais exatos para cada coordenada?

Informação Importante

Confirmação de Termo