Ir para conteúdo
Close

REFORMULAMOS A SEÇÃO DE CLASSIFICADOS! - Crie grátis os seus anúncios de procura e oferta de serviços e produtos relacionados ao OTServ! - Acesse através do nosso menu ou clique aqui e confira já!

luiz.marsilio

Membro
  • Total de itens

    10
  • Registro em

  • Última visita

  • Dias Ganhos

    1

luiz.marsilio venceu a última vez em Junho 11 2018

luiz.marsilio teve o conteúdo mais curtido!

Sobre luiz.marsilio

  • Rank
    Padeiro

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

  1. O server é bem interessante. Baixei ele e joguei um bom tempo no meu PC pra dar uma olhada. Acho que alguns ajustes ainda são necessários, loot, velocidade dos monstros e algumas coisas no mapa. O server é uma ótima base para criar em cima, já tem muita coisa feita e funcionando muito bem. Parabéns pelo projeto. Quem quer resolver o problema do char não morrer, vai até o arquivo login.lua que está localizado em data/creaturescripts/scripts/login.lua e cole o código abaixo:
  2. function isInPvpFight(cid) if getPlayerStorageValue(cid, 887568) - os.time() <= 0 then return false else return true end end Tenta alterar a função assim Edit Outra coisa, a storage só está sendo adicionada à pessoa que ataca e não ao atacado, logo inclua a linha no script: setPlayerStorageValue(target, 887568, os.time()+time) Talvez nem seja necessário alterar a função, uma vez que ela faz exatamente a mesma coisa só escrita de uma forma diferente.
  3. Você pode me dar mais informações sobre isso? Não entendi muito bem como funciona esse sistema VIP e sua staff.
  4. Olá tibianos. Trago um sistema de honra bem simples. Basicamente, é constituído por três funções, addHonor, remHonor e getHonor. Essas três funções adicionam, removem e buscam a pontuação atual de honra do jogador. Escolhi gravar os dados no banco de dados para ficar mais fácil de manipular. Pode ser aplicado em diversos sistemas, por exemplo: Comprar por Honra; Recompensa em Eventos; Acesso à NPCs; Acesso à Quests; Ganhar desconto em NPCs; Ganhar mais ao vender para NPCs; enfim, a criatividade é o limite. function addHonor(self, value) -- luiz henrique marsilio db.query("UPDATE `players` SET `honor` = `honor` + " .. value .. " WHERE `players`.`id` = ".. self:getGuid().. ";") return true end function remHonor(self, value) -- luiz henrique marsilio db.query("UPDATE `players` SET `honor` = `honor` - " .. value .. " WHERE `players`.`id` = ".. self:getGuid().. ";") return true end function getHonor(self) -- luiz henrique marsilio local query = db.storeQuery("SELECT `honor` FROM `players` WHERE `players`.`id` = " .. self:getGuid() .. ";") if query ~= false then local val = result.getNumber(query, "honor") result.free(query) return val end return -1 end Você precisará inserir uma coluna de nome honor, tipo INT, tamanho 11 e default 0 na sua tabela de players (mysql). Existem tutoriais aqui no fórum que explicam como fazer isso. Deixo um exemplo de aplicação do sistema em um script que dá pontos de honra ao matar outros players. function onKill(player, target) if not target:isPlayer() then return true end -- exemplo de honra sendo adicionada ao matar outro player local honor = math.floor(target:getLevel()/10) addHonor(player, honor) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Your honor points have been increased in " .. honor .. ".") player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "You have now " .. getHonor(player) .. " honor points.") -- pode ser estabelecido para condições serem satisfeitas para que a honra seja adicionada nesse caso -- por exemplo config = {level = 100} if target:getLevel() >= config.level then /stuff end entre outros end Outro exemplo é essa talkaction que usei para criar um simples método de troca dos pontos de honra por items. -- lista dos items a serem comercializados pelo sistema de honra item = { ["boots of haste"] = {id = 2195, price = 100} -- id = id do item, price = valor para trocar por pontos de honra } function onSay(player, words, param) choise = item[param] -- seta o indice da tabela que sera acessado id e price if choise then -- se foi digitado alguma coisa de parametro continuar if getHonor(player) >= choise.price then -- verifica se a honra do player é suficiente para esse item escolhido (choise) player:addItem(choise.id, 1) -- add o item escolhido (id) remHonor(player, choise.price) -- desconta honor do player (price) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "You have received " .. ItemType(choise.id):getName()) -- mensagem confirmando o recebimento. busca o nome do item por id player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Your current Honor balance is " .. getHonor(player)) -- informa o saldo de honra atual else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Your Honor is not enough to buy this item.") -- mensagem de erro caso nao tenha honra suficiente end else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Available items on Honor Store: ") -- se nao houver parametro for i, j in pairs(item) do -- busca na lista os dados dos items disponiveis player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Item: [" .. i .. "]. Price: [" .. j.price .. "].") -- informa os dados encontrados através de mensagem end end return false -- retornar false impede que o comando seja falado pelo player na tela "Player says: !exemplo" end Era isso galera! Se você tem sugestão para um sistema simples deixe nos comentários para que eu possa avaliar e fazer se estiver dentro dos meus conhecimentos.
  5. Obrigado. Eu estou aprimorando minhas habilidades em LUA, ainda bem básicas. Se tiveres sugestões de scripts que eu possa trazer para o TFS 1.2 serão bem vindas.
  6. A contagem das kills acontece nos creaturescripts. Ali deve ter algum problema. Sugiro você revisar se instalou o sistema corretamente.
  7. Infelizmente não é possível criar Modal Windows para a versão 8.6 do jogo. Edit. No entanto, é possível criar um comando que o jogador só possa usar se estiver em um local específico, por exemplo. Dessa forma ele poderá acessar a lista de cidades disponíveis e dizer para qual quer teleportar. De certa forma, me parece mais fácil apenas criar um NPC para esse fim.
  8. Olá tibianos. Criei um script de bless automático com base nessa solicitação: A bless será aplicada somente se o player estiver carregando X item. A bless não será aplicada se o player já tiver bless. Essa bless é somente aplicada no momento em que o player morrer. Configurações: ID do item que o player deve ter para receber a bless automática; Quantidade de bless disponíveis no servidor (para servidores custom); Remover o item ao ativar o sistema ou mantê-lo (bless infinita); Level mínimo para o sistema ser ativado. deathBless.lua config = { id = 2195, -- id do item bless = 6, -- quantidade de blessings do servidor remover = true, -- remover item? true/false minLvl = 100 -- level minimo } -- hasAllBlessings(player) by Luiz Henrique Marsilio. function hasAllBlessings(player) --Verifica se o player tem todas blessings local cont = 0 for i=1,config.bless do if player:hasBlessing(i) then cont = cont+1 end end if cont >= config.bless then -- se nao tiver alguma bless prossegue com o sitema return true else return false end end function onPrepareDeath(creature, killer) if not creature:isPlayer() then return true end if hasAllBlessings(creature) then -- function by Luiz Henrique Marsilio creature:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "You are already protected by blessings.") return true end if creature:getLevel() >= config.minLvl then if creature:getItemCount(config.id) >= 1 then for i = 1, config.bless do creature:addBlessing(i) end if config.remover then creature:removeItem(config.id, 1) creature:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "You were protected by a blessing charm.") end creature:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "You have been blessed by the charm before dying.") else creature:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "You were not wearing a blessing charm and was not blessed when died.") end else creature:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "You need level " .. config.minLvl .. " or higher to be automatic blessed.") end return true end
  9. config = { id = ITEM_ID -- id do item } function onPrepareDeath(creature, killer) if not creature:isPlayer() then return true end if creature:getItemCount(config.id) >= 1 then for i = 1, 5 do creature:addBlessing(i) end creature:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Você morreu com bless.") else creature:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Você morreu sem bless.") end return true end Para TFS 1.2. Não testei.

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×