Jump to content
Close

Yan Liima

Member
  • Content Count

    298
  • Joined

  • Days Won

    17

Yan Liima last won the day on August 12

Yan Liima had the most liked content!

About Yan Liima

  • Rank
    Scripter,Programador,Mapper,WebMaster.
  • Birthday 01/01/2001

Profile Information

  • Gender
    Masculino
  • I am
    Mapper
    Scripter
    Programmer
    Webmaster
  • My character
    [ADM] Night

Recent Profile Visitors

2297 profile views
  1. Yan, quando ver essa mensagem, se tive tempo entre em contato cmg. meu numero: 55 8394040079 meu what

     

     

    Assunto: 

     

    Queria saber como compilar o descompilar uma source no meu servidor.

    Queria saber mais sobre source, no meu servidor n tem essa pasta "server de dbo"

  2. O que é inútil para você pode ser útil para outros. Conteúdo nunca é de mais, ainda mais quando se trata de aprendizado!
  3. Em \data\npc\lib\npcsystem tentem utilizar está LIB: npchandler.lua
  4. @penisagudo já ajudei ele em um outro fórum. Script: <talkaction words="!starterkit" event="script" value="starterkit.lua"/> LUA: local config = { level = 20, -- Apartir de que level não irá receber days = 7, -- Dias de Premium Account(VIP) que irá receber items = {{2160,100}, {2161,1}, {2162,1}}, -- ID do item,QUANTIDADE storage = 233486 -- str, não mexa } function onSay(cid, words, param) if getPlayerLevel(cid) > config.level then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você precisa ter no maximo level "..config.level.." para receber o kit inicial.") elseif getPlayerStorageValue(cid, config.storage) < 0 then for _,ab in pairs(config.items) do doPlayerAddItem(cid, ab[1], ab[2]) end doPlayerAddPremiumDays(cid, config.days) setPlayerStorageValue(cid, config.storage, 1) doPlayerSendTextMessage(cid, 25, "Você acabou de ganhar o kit inicial!") else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você já pegou seu kit inicial.") end return true end Essa funcionaria para qualquer player da conta. Caso queira apenas que funcione uma vez por account::
  5. Show, vllw irmão! Download do cliente atualizado!
  6. Não, é um globalevents. onStartup(), só é executado quando você abre a distro, antes do servidor ficar on. É ali mesmo onde o nosso querido Vodkart disse. Os tutores do seu servidor tem o ID 2 e 3? Se for o caso deixe assim: `group_id` < 4 Ele vai fazer a verifição e deletar do groupID 3 pra baixo.
  7. Não estarei utilizando esse sistema por conta de não utilizar a mesma versão de distro e Otsverv, e sem contar que o sistema está em faze beta né. Mais venho aqui te parabenizar pelo ótimo trabalho. Sempre deixei bem claro o quanto tu manja em programação, sem contar que me ensinou muito quando apenas era um aprendiz também. Tmj irmão, continue com seus ótimos trabalhos sempre! Bem inovador isso ai, eu sinceramente não vi nada semelhante além do Cast
  8. Que resposta simples e educada kkkk. Eu uma vez repassei o sistema em LUA, e pelo que percebi, parece que não estava dando continuidade na parte de checagem(check) da função corpseRetireItems.
  9. Creaturescript: local storage = 48999 -- str que precisa ter function onLogin(cid) local rate = 1.3 -- 30%, 1.2 = 20%... if getPlayerStorageValue(cid) == storage then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Você tem "..((rate - 1)*100).."% de exp a mais!") end return true end function onKill(cid, target) if isPlayer(cid) and isMonster(target) then if getPlayerStorageValue(cid) == storage then local exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier) local count = ((getMonsterInfo(string.lower(getCreatureName(target))).experience*1.3*exp)/2) --30% doPlayerAddExperience(cid, count) addEvent(doSendAnimatedText, 500, getCreaturePosition(cid), '+'..count, math.random(50,60)) end end return true end <event type="login" name="ExpGuild_L" event="script" value="arquivo.lua"/> <event type="kill" name="ExpGuild" event="script" value="arquivo.lua"/> Só registrar o kill no seu login.lua.
  10. Cara sinceramente não vejo futuro em um servidor que está sendo comprado. Até porque o que estará sendo vendido para você, será vendido para outros e repassados free para alguns. Se a sua inteção é comprar e apenas colocar online da maneira que você pegou, não compensa! E um servidor que pode ser iguais aos demais online. Servidores repetitivos nunca dão bons resultados, até porque fica uma divisão de players. E sem contar que hoje em dia não está facil para OT-Admin ter um bom resultado com jogadores & lucros. Ao meu ver eu acho que aos poucos a galera anda abandonando este lindo jogo que tem muito mais a ser explorado. E com isso, com os jogadores abandonando esse MMORPG e optando por jogar os jogos da atualidade, só sobra os jogadores fieis dos servidores antigos, no qual estão em alta, digamos assim. Acho mais emocionante quando é algo feito por você, você faz da maneira que você quer. Coloca coisas inovadoras, e assim acaba atraindo jogadores para o seu servidor. Pois ele é novo, é diferente dos demais, é inovador! Se você gastar grana comprando um servidor, e não ter retorno, o dinheiro foi gasto em vão. Já tive um servidor caseiro em 2011, ficou online cerca de 1 ano. E acredite, teve muitos jogadores, muitos mesmo! E o PC era um dos piores, utilizava um que o processador já era fixo na placa-mãe, o pente de memoria era de Notebook... E mesmo com bastante jogadores, ele aguentava tranquilo. Eu só não podia abrir o navegador ksksksks. No seu caso funcionaria numa boa. Ai só iria depender da velocidade da sua internet. É claro que eu te aconselho a usar uma HOST, mas não vejo problema em hostear em sua casa. Proteção e essas coisas, é o de menos, dai nos da um jeito kkk Se precisar de algo, estou à disposição! Antigamente quando eu era a toa, sempre pegava uns aprendiz. Infelizmente muitos abandonou o otserv, e um teve um grande sucesso com o servidor e virou as costas para mim.
  11. Daria um pouco de trabalho mais é possivel. Entre em contato comigo!
  12. Pra que tanto ódio no corações de vocês, se organizar certinho todo mundo transa, poxaa!
  13. Quando for um script meu pode me marcar que ajudo na questão. Tem como fazer dessa maneira: Ou assim: -- Créditos para Yan Liima - Night criador da script. local time = 4 -- em segundos 1 = 1 segundo 2 = 2 segundos... local config = { storage = 2193, str_seconds = 120, -- storage e segundos } local say_events = {} local function SayText(cid) if isPlayer(cid) == TRUE then if say_events[getPlayerGUID(cid)] ~= nil then if isPlayer(cid) == TRUE then doSendAnimatedText(getPlayerPosition(cid),"Treinando!", math.random(01,255)) end say_events[getPlayerGUID(cid)] = addEvent(SayText, time * 1000 / 2, cid) doCreatureSetNoMove(cid, true) end end return TRUE end function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, config.storage) > os.time() then return doPlayerSendCancel(cid, "Espere " .. getPlayerStorageValue(cid, config.storage) - os.time() .. " segundos.") end if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Utilize '".. words .. " on' para ligar e '".. words .. " off' para desligar.") return true end if param == "on" then if isPlayer(cid) == TRUE then doSendAnimatedText(getPlayerPosition(cid),"Treinando", math.random(01,255)) end say_events[getPlayerGUID(cid)] = addEvent(SayText, time * 1000, cid) doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING,"Você está em modo 'Training'.") doPlayerSendTextMessage(cid,20,"Para sair do modo 'training' diga ".. words .. " off") setPlayerStorageValue(cid, config.storage, os.time() + config.str_seconds) -- LINHA QUE ADC A O EXAUSTED, SÓ COPIAR PARA OUTRO LOCAL SE NECESSARIO elseif param == "off" then stopEvent(say_events[getPlayerGUID(cid)]) say_events[getPlayerGUID(cid)] = nil doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING,"Você não está mais em modo 'Training'.") doCreatureSetNoMove(cid, false) end return TRUE end
  14. Melhorar como? Daria pra determinar a storage no proprio comando, verificar se o player existe e apenas aceitar o time em numeros para evitar bug. Ficaria assim: function onSay(cid, words, param) local t = string.explode(param, ",") local player = getPlayerByNameWildcard(t[1]) if(not t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, words.." player, storage, tempo") return true end if(not player or (isPlayerGhost(player) and getPlayerGhostAccess(player) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[1] .. " não existe ou está offline.") return true end t[3] = tonumber(t[3]) if(not t[3]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Comando requer parametro numerico.") else setPlayerStorageValue(player, t[2], os.time() + t[3]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou a storage: "..t[2].." ao jogador "..t[1].." com o tempo de "..t[3].."!.") end return true end

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 começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário 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!

×
×
  • Create New...