Ir para conteúdo

Lukeskywalker

Cavaleiro
  • Total de itens

    173
  • Registro em

  • Última visita

Tudo que Lukeskywalker postou

  1. detalhe para isso precisa de 2 aneis iguais com IDS diferents como os de skills senão ele começa a contagem e não para e mesmo que o player tire o anel do dedo ele continua acabando de etc que no caso existe um sim depois eu posto como deve configurar o items.xml e o movements.xml para ter tempo de uso no anel para ele quebrar!!! é so você arrumar a tag ela está como slot de ring tem que por como slot de feet assim <movevent type="Equip" itemid="10309" slot="feet" event="scripit" value="expring.lua" /> <movevent type="DeEquip" itemid="10310" slot="feet" event="script" value="expring.lua" /> Loot não tem a função para aumenta o rate!!!! é possivel mais é preciso criar uma função na source do server!!! Gaien gostei muito de seu trabalho!!! parabens!!!
  2. na verdade não são os access e sim as flags então poderia recofigurar os groups.
  3. Mas você quer que mostre onde os dias de VIP nos dados dos chars ou no login da acc?
  4. você tem que add isso em actions não em spells!
  5. Isso ja vai da educação dos pais ensinar que isso não é bom Pois meus pais me encino isso dez de cedo e eu sei muito bem o que é
  6. sou mais fazer um scrit por exemplo !sell crown armor, 1 >> vende 1 c armor !sell crown legs, 2 >> vende 2 c legs é possivel fazer um desse usando!! local Data = string.explode(param, ",") e pode colocar todos items que você quer que venda em 1 script apenas!!! se a pessoa souber mexer bastante com scripts da para fazer um bem funcional!!!
  7. Bom eu acho que isso não incentiva me diz uma coisa qual é a criança que joga tibia hoje em dia sem saber o que a maconha é? So acho que a pessoa fuma maconha é por que ela quer! Te garanto que a maconha mata bem menos que um bebado com um carro! Ou de cancer no pulmão por causa de fumar cigarro! Pois a maconha não tem certas quimicas! A maconha ela apenas retarda os neuronios da pessoa e mais algumas coisas o unico problema dela é que é porta para outra droga! então isso depende muito da pessoa!
  8. Posso ate pensar em disponibilizar isso para o Xtibia mas como é no c++ vai ser necesario compilar ele e etc, posso disponibilizar um ja compilado com as alterações ja feitas tambem! so que não sei se vou conseguir por para os VIP entra sem FILA! pois a minha area é scripting não c++ =x se fazer esse sistema por c++ vai ter a tabela vipdays igual da permmy então seria praticamente so copiar a linha da premmy acc e muda os dados que ela vai ler então se fazer pelo c++ não seria dificil colocar para o site mostra se é vip ou não! por esse sistema de script ja é possivel fazer isso pois ele atualiza de 10 em 10 minutos os dias de vip! se quiser que eu tente fazer isso para você me manda uma MP entrando em contato que eu vejo se consigo o code para você de php!!
  9. Bom isso ja séria necesario mexer no c++ e se for para mexer no c++ ja é mais facil por este sistema intero no c++ =x como eu fiz num ot
  10. Ele funciona separadamente do premium acc. Eu não mexo com php ai você teria que arrumar um jeito para isso ai ja tem o comando que o player pode verificar os dias de vip dele.
  11. if isPremium(cid) == TRUE then
  12. Yunie se quiser eu fasso a parte do temple para você eu sei como fazer de um modo que ele teleporte 1x para o temple quando acaba a vip do player sem falar que tambem tem que fazer o sistema que verifica se o player é de rook e etc. você tambem pode adicionar fnções do estilo function isVip(cid) return (isPlayer(cid) == true and (math.floor(getPlayerStorageValue(cid, 29000) - os.time()) / 86400) >= 1) and true or false end function getVipDays(cid) return (math.floor((getPlayerStorageValue(cid, 29000) - os.time()) / 86400)) end isso iria ajudar muito aos donos de servidor para adicionar locais que so vis entram
  13. Obrigado sempre que puder estarei aqui xD. Os outros funciona mas é menos pratico de se usar eu arrumei um jeito mais pratico de por no ot e um que seja mais seguro e mais preciso na contagem dos dias de VIP e foi isso que fiz neste! OBS: Da para usar em todos tipos de scripts esse sistema so saber o basico de scripting, da para ate fazer npc que so vip viaja e etc que so vip compre certo item (mais complicado mais possivel) E mais um detalhe estou pensando em fazer um com suporte a SQLite! EDIT Acho que descobri por que no SQLite não funcionava o sistema vou dar um fix no script e editar ele com as alterações.
  14. Bom venho parabenizar seu script porem você poderia dar uma melhorada pois dependendo como você fazer o script da para tirar esse lixão e ficar melhor ainda xD
  15. OBS: Atualização do script para versoes mais recentes da TFS este post foi atualizado em 08/09/2011 Bom eu fiz a tão esperada atualização do SISTEMA VIP agora ela tem suporte a TFS 0.3.6 e a TFS 0.4 e ela é bem mais facil de instalar e usar basta você descompactar os arquivos na pasta mods que o sistema vip se instala em seu servidor automaticamente logo abaixo está o link do sistema atualizado... So seguir o link abaixo Sistema Vip Por Sql V4.0 Para Tfs 0.4 E Tfs 0.3.6 Bom fiz este script por causa de muitos pedidos espero que gostem. Lembrando que esse script so vai funcionar na TFS 0.3.5 Bom atualizei agora para um arquivo de instalação em XML apenas coloque ele na pasta mods e coloque ele la clique no download abaixo para baixar-lo OBS: ele tem o suporte ao famoso SQLite vip_sistem_install.xml Agora vamos adicionar as funções nos libs primeiramenet vai em data/lib/data.lua abra este arquivo e abaixo de. dofile(getDataDir() .. "lib/compat.lua") Adicione. dofile(getDataDir() .. "lib/vip.lua") Depois de adicionar isso vamos criar o script vip.lua em data/lib. No script você vai adicionar este seguinte codigo abaixo. function isVip(cid) local Query = db.getResult("SELECT `vip` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";") return (isPlayer(cid) == true and (Query:getDataInt("vip") == 1)) and true or false end function getVipTime(cid) local Query = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";") return Query:getDataInt("vip_time") end function getVipTimeByName(Name) local Query = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `accounts`.`id` = ".. getAccountIdByName(Name) ..";") return Query:getDataInt("vip_time") end function getVipDays(cid) local Query = db.getResult("SELECT `vip_days` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";") return Query:getDataInt("vip_days") end Agora vamos adicionar o sistema que vai remover a quantidade de dias do VIP automaticamente. Vai em data/globalevents/globalevents.xml abra este arquivo e abaixo de. <globalevent name="clean" interval="7200" event="script" value="clean.lua"/> Adicione. <globalevent name="RemoveVipDays" interval="600" event="script" value="removevip.lua"/> Agora iremos criar o script removevip.lua em data/globalevents/scripts. No script você vai adicionar este seguinte codigo abaixo. function onThink(interval, lastExecution, thinkInterval) Query = db.getResult("SELECT `id`, `vip_time` FROM `accounts` WHERE `accounts`.`vip` = 1") if(Query:getID() == -1) then return true end for i = 1, Query:getRows() do local AccID = Query:getDataInt("id") local VipTime = Query:getDataInt("vip_time") if VipTime >= os.time() then db.executeQuery("UPDATE `accounts` SET `vip_days` = ".. math.ceil((VipTime - os.time()) / 86400) .." WHERE `accounts`.`id` = ".. AccID ..";") else db.executeQuery("UPDATE `accounts` SET `vip_time` = 0 WHERE `accounts`.`id` = ".. AccID ..";") db.executeQuery("UPDATE `accounts` SET `vip_days` = 0 WHERE `accounts`.`id` = ".. AccID ..";") db.executeQuery("UPDATE `accounts` SET `vip` = 0 WHERE `accounts`.`id` = ".. AccID ..";") db.executeQuery("UPDATE `players` SET `reset_temple` = 1 WHERE `players`.`account_id` = ".. AccID ..";") end Query:next() end Query:free() return true end Agora vamos adicionar o sistema que joga o player para o Temple quando acaba a VIP dele. Vai em data/creaturescripts/creaturescripts.xml abra este arquivo e abaixo de <event type="login" name="PlayerLogin" event="script" value="login.lua"/> Adicione. <event type="login" name="VipCheck" event="script" value="vipcheck.lua"/> Agora vamos adicionar o script vipcheck.lua em data/creaturescripts/scripts. No script você vai adicionar este seguinte codigo no spoiler abaixo. Lembrando que você tem que por se você tem que configurar se usa rook sistem. Se você não usar é so colocar o ID do temple da cidade principal. Mas se você ativa o rook sistem você tera que por o ID da cidade de rook e da cidade principal mais você so ira usar o sistema de rook se você usar rook em seu ot. local config = { RookSistem = "no", RookTempleID = 1, MainTempleID = 2 } config.RookSistem = getBooleanFromString(config.RookSistem) function getResetTemple(cid) local Query = db.getResult("SELECT `reset_temple` FROM `players` WHERE `players`.`id` = ".. getPlayerGUID(cid) ..";") return (isPlayer(cid) == true and (Query:getDataInt("reset_temple") == 1)) and true or false end function goRookTemple(cid) doTeleportThing(cid, getTownTemplePosition(config.RookTempleID)) doSendMagicEffect(fromPos, CONST_ME_POFF) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) db.executeQuery("UPDATE `players` SET `reset_temple` = 0 WHERE `players`.`id` = ".. getPlayerGUID(cid) ..";") end function goMainTemple(cid) doTeleportThing(cid, getTownTemplePosition(config.MainTempleID)) doPlayerSetTown(cid, config.MainTempleID) doSendMagicEffect(fromPos, CONST_ME_POFF) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) db.executeQuery("UPDATE `players` SET `reset_temple` = 0 WHERE `players`.`id` = ".. getPlayerGUID(cid) ..";") end function onLogin(cid) fromPos = getCreaturePosition(cid) if getResetTemple(cid) == true then if (config.RookSistem) then if isRookie(cid) == true then goRookTemple(cid) else goMainTemple(cid) end else goMainTemple(cid) end end return true end Bom o sistema ja está completo mais falta a parte do tile que so vips podem passar e o comando para adicionar o vip e o comando que o player pode verificar quantos dias vip dele ainda tem então vamos la. Agora vamos ate data/talkactions/talkactions.xml abra ele e abaixo de. <talkaction log="yes" words="/addskill" access="5" event="function" value="addSkill"/> Adicione. <talkaction log="yes" words="/addvip" access="5" event="script" value="addvip.lua"/> <talkaction log="yes" words="!checkvip" event="script" value="addvip.lua"/> Agora iremos criar o script addvip.lua em data/talkactions/scripts. No script você vai adicionar este seguinte codigo abaixo. function onSay(cid, words, param, channel) local Data = string.explode(param, ",") if (words:sub(2, 2) == "a") then if (not Data) then doPlayerSendCancel(cid, "Insira um nome.") return true elseif (not Data[2] or Data[2] == "") then doPlayerSendCancel(cid, "Insira a quantidade de dias de vip que ira adionar ao player.") return true elseif not isNumber(Data[2]) then doPlayerSendCancel(cid, "Use apenas numeros.") return true end local Target = db.getResult("SELECT `name` FROM `players` WHERE `name` = " .. db.escapeString(Data[1]) .. ";") if (Target:getID() ~= -1) then if (getPlayerByName(Data[1])) then doSendMagicEffect(getCreaturePosition(getPlayerByName(Data[1])), CONST_ME_MAGIC_GREEN) end if getVipTimeByName(Data[1]) == 0 then db.executeQuery("UPDATE `accounts` SET `vip_time` = 86400 * ".. Data[2] .." + ".. os.time() .." WHERE `accounts`.`id` = ".. getAccountIdByName(Data[1]) ..";") else db.executeQuery("UPDATE `accounts` SET `vip_time` = `accounts`.`vip_time` + (86400 * ".. Data[2] ..") WHERE `accounts`.`id` = ".. getAccountIdByName(Data[1]) ..";") end db.executeQuery("UPDATE `accounts` SET `vip` = 1 WHERE `accounts`.`id` = ".. getAccountIdByName(Data[1]) ..";") db.executeQuery("UPDATE `accounts` SET `vip_days` = `accounts`.`vip_days` + ".. Data[2] .." WHERE `accounts`.`id` = ".. getAccountIdByName(Data[1]) ..";") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foi adicionado ".. Data[2] .." dias de vip ao player ".. Data[1] ..".") else doPlayerSendCancel(cid, "O player ".. Data[1] .." não existe.") end Target:free() else if getVipDays(cid) == 0 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não é um jogador vip.") elseif getVipDays(cid) >= 2 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. getVipDays(cid) .." dias de vip.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem 1 dia de vip.") end end return true end Bom agora por ultimo o tile que so vip passa vamos em data/movements/scripts/tiles.lua e abaixo de. if(not isPlayerGhost(cid)) then doTransformItem(item.uid, increasingItems[item.itemid]) end Adicione. if item.actionid == 7777 then if (isVip(cid) == false) then pushBack(cid, position, fromPosition, true) end return true end Bom terminamos detalhe use o tile ID 426 com actionID 7777 para vip tile um pequeno detalhe no map editor coloque o tile como NO LOGOUT AREA para ninguem fazer bugs de M WALL para passar para area VIP. Bom para saber como usar é simples para adicionar a vip la vai um explo de adicionar 30 dias no player Luke sky walker /addvip Luke sky walker, 30 E para o player veifica quantos dias de vip ele tem ele usa o comando !checkvip Bom espero que seja util eu testei o script mas ainda pode ter bugs!!! Por favor não tirem os creditos deste script! EDIT Eu adicionei math.ceil no removevip.lua provavelmente agora ele tenha suporte a SQLite! Foi arrumado o bug do reset temple script atualizado vipcheck.lua (não testado caso ainda tenha bug pm ME!) Foi adicionado o vip_sistem_install.xml para instalação automatica do sistema no SQL do servidor com suporte a MySql e SQLite Atualizando o vip_sistem_install.xml para versão 2.0 junto com o fix para funcionar em MySql que não tava funcionando corretamente.
  16. Poste aqui qual é a alternação por que pretendo fazer um novo code e se der eu adiciono para você no novo code ja. OBS: Talvez eu fassa um com suporte a SQLite!!! não é certeza. DETALHE O NOVO CODE QUE VO FAZER É PARA TFS 0.3.5!!! ESTOU DESENVOLVENDO O Sistema Vip Por Sql Para Tfs V3.0 NESTE MOMENTO SERA MUITO MAIS PRATICO DE USAR xD EDIT O novo sistema está pronto se você usa TFS 0.3.5 em vez de usar esse use a versão 3.0 o link está aqui http://www.xtibia.com/forum/Action-Sistema...35-t118599.html
  17. tipo é so você colocar o codigo certinho junto com os outros que não fode seu sistema de frags faz assim poem ele acima do ultimo "end" do script! ---- EDIT ---- Se eu tiver tempo fasso um script mais facil de ser configurado e adicionado!!!! OBS: Apenas fasso para MySQL!!
  18. Esse sistetema so fiz para MySql!
  19. TFS 0.4??? onde ja tem pra baxa essa eu quero!!!!
  20. você é a reencarnação do BOZO ou é impresão minha? =x
  21. Gente no momento não estou podendo dar suporte estou com uns problemas pessoais mais importantes.
  22. meu deus HUSAUHSAUHUASH eu vo fica com meu windows minha vida ja é um inferno mesmo por que não visitar o inferno pessoalmenti? HUSAUHSAUHASAUHSUHSASUHAUHSAHU
  23. a ATI realmente é acima da Nvidia, mais detalhe ATI é a AMD ela num passa a INTEL
  24. se eu fazer eu fasso facilmente pra player off e online apenas usando "else"
  25. não da para eu fazer isso por que a vip funciona por os.time() Da para fazer por os.time com apenas storagevalue sem ter problemas. mais o commando que add a vip teria que verificar se o player está online se ele estiver online ele add o storage pela função se estiver off por SQLLua.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...