-
Total de itens
1249 -
Registro em
-
Última visita
-
Dias Ganhos
22
Histórico de Reputação
-
LeoTK recebeu reputação de Wase Wiss em [Resolvido] [Suporte] Script bugado
um maninho me passou um aqui nogard que resolveu vou postar pra você ver
local skills = { [SKILL_FIST] = {maxLevel = 249}, [SKILL_SWORD] = {maxLevel = 249}, [SKILL_AXE] = {maxLevel = 249}, [SKILL_CLUB] = {maxLevel = 249}, [SKILL_DISTANCE] = {maxLevel = 249}, [SKILL_SHIELD] = {maxLevel = 249}, [SKILL_FISHING] = {maxLevel = 249}, [SKILL__MAGLEVEL] = {maxLevel = 150}, } function onAdvance(cid, skill, oldLevel, newLevel) local i = skills[skill] if i then if newLevel > i.maxLevel then doPlayerSetRate(cid, skill, 0.0) doPlayerSave(cid) doPlayerSetStorageValue(cid, skill+10000, 1) return false end end return true end
e um segundo com
function onLogin(cid) if getPlayerStorageValue(cid, 0+10000) == 1 then doPlayerSetRate(cid, 0, 0.0) end if getPlayerStorageValue(cid, 1+10000) == 1 then doPlayerSetRate(cid, 1, 0.0) end if getPlayerStorageValue(cid, 2+10000) == 1 then doPlayerSetRate(cid, 2, 0.0) end if getPlayerStorageValue(cid, 3+10000) == 1 then doPlayerSetRate(cid, 3, 0.0) end if getPlayerStorageValue(cid, 4+10000) == 1 then doPlayerSetRate(cid, 4, 0.0) end if getPlayerStorageValue(cid, 5+10000) == 1 then doPlayerSetRate(cid, 5, 0.0) end if getPlayerStorageValue(cid, 6+10000) == 1 then doPlayerSetRate(cid, 6, 0.0) end if getPlayerStorageValue(cid, 7+10000) == 1 then doPlayerSetRate(cid, 7, 0.0) end return true end
@Nogard
o primeiro com onadvance e o segundo com onlogin
-
LeoTK recebeu reputação de Mudrock em [Show off] Floresta da Morte
Fala galera estou desenvolvendo uma mapa e gostaria muito da opinião de vocês sobre ele pois não sei se estou usando os elementos certos nos lugares certos o meu estilo e deixar o mapa bem "sujo" kk cheio de diversidades bem elaborado claro mas creio que alguns lugares com muitos detalhes acabe ficando ruim de certa forma então gostaria da opinião de vocês sobre isso estarei atualizando conforme eu for desenvolvendo fiquem com os prints
-
LeoTK recebeu reputação de Nogard em [Show off] Floresta da Morte
Fala galera estou desenvolvendo uma mapa e gostaria muito da opinião de vocês sobre ele pois não sei se estou usando os elementos certos nos lugares certos o meu estilo e deixar o mapa bem "sujo" kk cheio de diversidades bem elaborado claro mas creio que alguns lugares com muitos detalhes acabe ficando ruim de certa forma então gostaria da opinião de vocês sobre isso estarei atualizando conforme eu for desenvolvendo fiquem com os prints
-
LeoTK recebeu reputação de marcelinhok em [Encerrado] [Encerrado] erro, ajuda arrumar pf.
isso ai foi quando atualizou o fórum algumas linguagens pararam de funcionar e ficou assim não é seu pc é o fórum mesmo muitos tópicos ficaram assim após a atualização
-
LeoTK deu reputação a Poccnn em Castelos e Igrejas
Trouxe para vocês alguns "imoveis" que eu criei para meu otserv.
Espero que gostem.
Castelos:
Igrejas:
download:
clean.rar
clean.rar
-
LeoTK deu reputação a Poccnn em Sistema para impedir de atacar membros da mesma party e da mesma guild
Hail Xtibianos.
Eu fiz esse sistema como pedido de um membro há um bom tempo, mas nunca tinha postado ele e diversos sistemas que uso no meu ot server; agora resolvi postá-los.
Esse é o sistema que impede dos players da mesma party se atacarem ou, também dos membros da mesma guild.
Em config.lua adicione:
noDamageToGuildMates = false noDamageToPartyMembers = true
Em creaturescripts.xml adicione:
<event type="combat" name="combat" script="combat.lua"/>
Em creaturescripts/scripts/login.lua adicione:
registerCreatureEvent(cid, "combat") Na mesma pasta, crie um arquivo lua chamado combat e adicione isso nele:
--[[> Marcryzius <]]--function onCombat(cid, target) if(isPlayer(cid) and isPlayer(target)) then if(getConfigValue("noDamageToGuildMates") and getPlayerGuildId(cid) > 0 and getPlayerGuildId(cid) == getPlayerGuildId(target)) then return false elseif(getConfigValue("noDamageToPartyMembers") and isInParty(target) and getPartyLeader(target) == getPartyLeader(cid)) then return false end end return trueend
Qualquer duvida ou erro deixe nos comentários.
-
LeoTK deu reputação a Poccnn em Funções úteis
Hail Xtibianos.
Trago a vós uma serie de funções que eu uso no meu servidor e que pode ser úteis ao seu.
Lembrando que algumas funções podem fazer uso de uma livraria xml criado por mim e posta nesse tópico.
Essa função tem por objetivo criar uma data formatada (00:00:00) de um intervalo de tempo.
function intervalClockFormat(ini,fim) --[[( Marcryzius )]]--local ini,fim = tonumber(ini),tonumber(fim)if not(ini or fim)then return "error",print('function intervalClock erro: type de variaveis invalidas') endlocal tienpo = fim-ini-- existe o parametro de dia, mas não está sendo retornado (usado).local day,hour,minu,seco = tienpo/60/60/23%30,math.floor(tienpo/60/60%23), math.floor(tienpo/60%60),math.floor(tienpo%60) return (hour < 10 and "0"..hour or hour)..":"..(minu < 10 and "0"..minu or minu)..":"..(seco < 10 and "0"..seco or seco)endEx: print(intervalClockFormat(os.time(),os.time()+98)) >> 00:01:38print(intervalClockFormat(os.time(),os.time()+6598)) >> 01:49:58
Essas funções tem por objetivo salvar as informações de uma determinada quest e saber se o player tem essa quest salva em seu histórico.
function saveQuestsInfor(uid,name,cid,other) --[[( Marcryzius )]]----[[ uid = Item.uid usado no bau(entre outros) para receber o item da Quest name = nome do item dado ao player ou nome da quest cid = identificacao do player other = informacoes adicionais para serem salvas junto a quest]]--if not(db.executeQuery("SELECT * FROM `server_quests`;"))then -- caso a table não exista, será criada db.executeQuery("CREATE TABLE `server_quests` (`uid` INTEGER, `name` VARCHAR(255), `name_player` VARCHAR(255), `pos` VARCHAR(255), `other` TEXT);")end-- caso o parametro uid seja numero, se pega a posição do item ou, caso não, se pega a posição do player.local other,pos2 = other or '',''local pos = type(uid) == 'number' and getThingPos(uid) or getCreaturePosition(cid) pos2 = 'x='..pos.x..', y='..pos.y..', z='..pos.z -- verifica se tudo está correto. if not(type(name) == 'string') or not(tonumber(cid))then return false, print('Funcao requer parametros: name,cid') end -- salva as informações na database. db.executeQuery("INSERT INTO `server_quests` (`uid`, `name`, `name_player`,`pos`,`other`) VALUES ("..(uid or tonumber(pos.x..''..pos.y..''..pos.z))..",'"..name.."', '"..getCreatureName(cid).."','"..pos2.."','"..other.."');") return trueendfunction getSaveQuestsInfor(uid,cid) --[[( Marcryzius )]]--local str = false if(tonumber(uid))then str = db.getResult("SELECT * FROM `server_quests` WHERE `uid` = '"..uid.."' AND `name_player` = ".. db.escapeString(getCreatureName(cid))..";") elseif(type(uid) == 'string')then str = db.getResult("SELECT * FROM `server_quests` WHERE `name_player` = " ..db.escapeString(getCreatureName(cid)).. " AND `name` = '"..uid.."';") else return false,print('getSaveQuestInfor: tipo de uid invalido > '..tostring(type(uid))) end return (str:getID() == -1) and true or false end
Essa função serve para por a primeira letra de cada palavra da 'msg' em maiúscula.
function upperPrimer(msg) --[[( Marcryzius )]]--local txt = '' for k in string.gmatch(msg,'%a+') do if(#k > 1)then txt = txt..' '..k:gsub("^%a", function(s) return s:upper() end) else txt = txt..' '..k end end return txt:sub(2,-1)endEx:print(upperPrimer("toda primeira letra de cada palavra desse texto foi colocada em maiusculo")) >> Toda Primeira Letra De Cada Palavra Desse Texto Foi Colocada Em Maiusculo
Função criada para determinar o valor inteiro mais próximo de uma fração.
function math.proxInteger(value) --[[( Marcryzius )]]-- local value = tonumber(value) if not(value)then return 0,print('Function error: math.proxInteger() > valor => '..type(value)) end return value-math.floor(value) < 0.5 and math.floor(value) or math.ceil(value)end
Essa função converte a 'string' em números e devolve a soma de todos os números.
function getStoreString(str) --[[( Marcryzius )]]--local store = 0 if(type(str) == 'string')then for pos = 1,#str do store = store+str:sub(pos,pos):byte() end elseif(type(str) == 'number')then return str else print('function getStoreString adverte: tipo de parametro invalido. ('..type(str)..')') end return storeendEx:print(getStoreString("lua")) >> 322
Pega o level necessário para usar a arma dentro do arquivo weapons.xml
function getLevelNeedToWeaponById(itemid) --[[( Marcryzius )]]--local xfile = xml:load("data/weapons/weapons.xml"):find('%a+','id',itemid) return tonumber(xfile and xfile.level) or 0end
Essa função faz uma verificação se há um town em uma determinada área.
function getTownInArea(pos, ranger) --[[( Marcryzius )]]--local ranger,townid,bloked = ranger or 200,1,{getTownId('Gods Island'),getTownId('Isle of Destiny')} -- towns suprimidos while getTownName(townid) do local get = getTownTemplePosition(townid) if not(isInArray(bloked,townid)) and ((pos.x >= get.x-ranger and pos.x <= get.x+ranger)and(pos.y >= get.y-ranger and pos.y <= get.y+ranger))then return townid else townid = townid+1 end end return 0 --retorna 0 (zero) para servir como condição.end
Pega o nome e o level do top
function getTopLevel() --[[( Marcryzius )]]--local target,name,level = db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 ORDER BY 'level' DESC;"),"",0 if(target:getID() ~= -1) then repeat local glevel = target:getDataInt("level") if(level < glevel)then name,level = target:getDataString("name"), glevel end until not(target:next()) end target:free() return name,levelend
Verifica se existe o nome de um player mesmo ele estando offline.
function playerExistName(nome) --[[( Marcryzius )]]--local db = db.getResult("SELECT `name` FROM `players` WHERE `id` = " ..getPlayerGUIDByName(nome).. ";") if not(db:getID() == -1) then return db:getDataString("name") end return falseend
Retorna o tempo vigente apenas em segundos
function HorasParaSegundos() --[[( Marcryzius )]]-- local hour,minu,second = tostring(os.date("%H:%M:%S")):match('(%d+)%d+)%d+)') return ((tonumber(hour) or 0)*3600)+((tonumber(minu) or 0)*60)+secondend
-
LeoTK recebeu reputação de Mudrock em [Video-Aula] Adicionando items novos no servidor
Fala guys trazendo mais uma vídeo aula rápida e básica pra galera que tem dúvida ainda na hora de adicionar items novos no servidor espero que ajudem o pessoal que tem essa dúvida ^^
Aviso: NÃO FAÇAM IGUAL EU E ESQUEÇAM DE MUDAR O ID DO ITEM NO ITEM.XML KKK
PROGRAMA ITEM EDITOR IMPLEMENTADO NO TÓPICO ESSE ITEM EDITOR É ATUALIZADO SEM BUGS
ItemEditorSetup.rar
ItemEditorSetup.rar
-
LeoTK recebeu reputação de Marshmello em otPokémon Mysterious layout
muito bom maninho ^^ ficou bem parecido xD
-
LeoTK deu reputação a Marshmello em otPokémon Mysterious layout
Oi Galera, eu tinha um mordem acc bem antigo aki no meu pc e decidi editar para ficar parecido com Esse , gostaria de saber se ficou parecido
IMAGENS
-
LeoTK recebeu reputação de Frenvius em Podcast Barzinho do Ekz
os cara quer comparar otland mano mesma coisa que levar RPG para briga de faca kkk mas beleza na minha opinião de membro desse fórum a muitos anos eu acredito sim que o xtibia esta melhorando a cada dia falta uma caminhada ainda para voltar ao que era antes porém esta caminhando para a direção certa
-
-
LeoTK recebeu reputação de Mudrock em [Bug] Perfil sobre mim
Aew guys então já faz um tempinho que eu editei as informações sobre mim o que antigamente era a assinatura
porém as informações não atualizaram como podem ver no perfil esta uma coisa mas quando posto qualquer coisa continua com a informação antiga não sei se isso é geral ou só comigo acontece isso mas seria bom dar uma olhada ^^
-
LeoTK recebeu reputação de robsonsiilva em [Encerrado] [Encerrado] Dp com um item dentro
dei uma olhada achei em movements no arquivo tiles.lua achei um negocio referente ao dp tenta ver se você consegue editar no seu por esse arquivo
olha no item.xml procure pelo id do dp no meu caso o meu é assim
certifique-se de estar a attribute key depot
<item fromid="2589" toid="2592" article="a" name="locker">
<attribute key="type" value="depot" />
<attribute key="containerSize" value="30" />
<attribute key="type" value="depot" /> essa /\
-
LeoTK deu reputação a Nogard em [Resolvido] [Saga System] Script pedir uma storage antes de transformar
@Brunds me informou sobre a possibilidade do cara tentar ir pra uma saga que não existe, resultando em um erro incômodo no console.
adicionei isso:
if tonumber(t[1]) > table.maxn(sagaTransformacao) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.") return true end
local cooldownzin = 3 -- em segundos para esperar a talkaction novamente saga = { [1] = {{outfit = 71, level = 36, storage = 2221, mana = 2000, health = 3000}, {outfit = 71, level = 36, storage = 2222, mana = 4000, health = 4000}}, [2] = {{outfit = 66, level = 36, mana = 2000, health = 3000}, {outfit = 71, level = 36, mana = 2000, health = 3000}}, [3] = {{outfit = 91, level = 36, mana = 2000, health = 3000}, {outfit = 71, level = 36, mana = 2000, health = 3000}}, [4] = {{outfit = 18, level = 36, mana = 2000, health = 3000}, {outfit = 71, level = 36, mana = 2000, health = 3000}}, [5] = {{outfit = 31, level = 36, mana = 2000, health = 3000},{outfit = 71, level = 36, mana = 2000, health = 3000}}, effect = 111, storageTransf = 2930 } function onSay(cid, words, param, channel) local sagaTransformacao = saga[getPlayerVocation(cid)] if(param == '') then -- *caso nao digite o numero doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o numero da saga que voce deseja.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end local t = string.explode(param, ",") local transform = sagaTransformacao[tonumber(t[1])] if tonumber(t[1]) > table.maxn(sagaTransformacao) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.") return true end if not sagaTransformacao then -- *caso saga diferente doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if getPlayerLevel(cid) < transform.level then -- *caso nao tenha level correspondente a transformacao doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao tem level ".. transform.level .. ".") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if getPlayerStorageValue(cid, transform.storage) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce ainda nao completou a saga") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if getPlayerStorageValue(cid, 5432) >= os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode usar ainda, espere ".. getPlayerStorageValue(cid, 5432) - os.time() .." segundos. ") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if (t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Could not understand.") return true end if not (tonumber(t[1])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o numero da saga que voce deseja.") return true end if tonumber(t[1]) > #sagaTransformacao or tonumber(tonumber(t[1])) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga nao existe.") return true end if tonumber(t[1]) ~= getPlayerStorageValue(cid, saga.storageTransf) then -- doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "param = " .. tonumber(t[1]) .. "\nstorage = " .. getPlayerStorageValue(cid, sagaTransformacao.storage)) -- doCreatureAddMana(cid, - sagaTransformacao[getPlayerStorageValue(cid, transform.storage)].mana) -- doCreatureAddHealth(cid, - sagaTransformacao[getPlayerStorageValue(cid, transform.storage)].health) setCreatureMaxMana(cid, getCreatureMaxMana(cid) - sagaTransformacao[getPlayerStorageValue(cid, saga.storageTransf)].mana) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) - sagaTransformacao[getPlayerStorageValue(cid, saga.storageTransf)].health) setPlayerStorageValue(cid, saga.storageTransf, tonumber(t[1])) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,getPlayerStorageValue(cid, saga.storageTransf) ) doSetCreatureOutfit(cid, {lookType = transform.outfit}, -1) doSendMagicEffect(getThingPos(cid), transform.effect) doPlayerSendTextMessage(cid, 25, "Voce escolheu uma nova saga!") doCreatureSay(cid, "Saga!!", TALKTYPE_ORANGE_1) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + sagaTransformacao[tonumber(t[1])].health) setCreatureMaxMana(cid, getCreatureMaxMana(cid) + sagaTransformacao[tonumber(t[1])].mana) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) setPlayerStorageValue(cid, 5432, os.time() + cooldownzin) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você já está transformado nessa saga.") end return true end
-
LeoTK deu reputação a Nogard em [Resolvido] [Saga System] Script pedir uma storage antes de transformar
talkactions.xml:
<talkaction log="yes" words="!saga" event="script" value="transform.lua"/>
talkactions/scripts/transform.lua:
local cooldownzin = 3 -- em segundos para esperar a talkaction novamentesaga = { [1] = {{outfit = 71, level = 36, storage = 2221, mana = 2000, health = 3000}, {outfit = 71, level = 36, storage = 2222, mana = 4000, health = 4000}}, [2] = {{outfit = 66, level = 36, mana = 2000, health = 3000}, {outfit = 71, level = 36, mana = 2000, health = 3000}}, -- configurar storage [3] = {{outfit = 91, level = 36, mana = 2000, health = 3000}, {outfit = 71, level = 36, mana = 2000, health = 3000}}, -- configurar storage [4] = {{outfit = 18, level = 36, mana = 2000, health = 3000}, {outfit = 71, level = 36, mana = 2000, health = 3000}}, -- configurar storage [5] = {{outfit = 31, level = 36, mana = 2000, health = 3000},{outfit = 71, level = 36, mana = 2000, health = 3000}},-- configurar storage effect = 111, storageTransf = 2930 }function onSay(cid, words, param, channel)local sagaTransformacao = saga[getPlayerVocation(cid)] if(param == '') then -- *caso nao digite o numero doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o numero da saga que voce deseja.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end local t = string.explode(param, ",") local transform = sagaTransformacao[tonumber(t[1])] if not sagaTransformacao then -- *caso saga diferente doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if getPlayerLevel(cid) < transform.level then -- *caso nao tenha level correspondente a transformacao doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao tem level ".. transform.level .. ".") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if getPlayerStorageValue(cid, transform.storage) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce ainda nao completou a saga") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if getPlayerStorageValue(cid, 5432) >= os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode usar ainda, espere ".. getPlayerStorageValue(cid, 5432) - os.time() .." segundos. ") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if (t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Could not understand.") return true end if not (tonumber(t[1])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o numero da saga que voce deseja.") return true end if tonumber(t[1]) > #sagaTransformacao or tonumber(tonumber(t[1])) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga nao existe.") return true end if tonumber(t[1]) ~= getPlayerStorageValue(cid, saga.storageTransf) then -- doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "param = " .. tonumber(t[1]) .. "\nstorage = " .. getPlayerStorageValue(cid, sagaTransformacao.storage)) -- doCreatureAddMana(cid, - sagaTransformacao[getPlayerStorageValue(cid, transform.storage)].mana) -- doCreatureAddHealth(cid, - sagaTransformacao[getPlayerStorageValue(cid, transform.storage)].health) setCreatureMaxMana(cid, getCreatureMaxMana(cid) - sagaTransformacao[getPlayerStorageValue(cid, saga.storageTransf)].mana) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) - sagaTransformacao[getPlayerStorageValue(cid, saga.storageTransf)].health) setPlayerStorageValue(cid, saga.storageTransf, tonumber(t[1])) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,getPlayerStorageValue(cid, saga.storageTransf) ) doSetCreatureOutfit(cid, {lookType = transform.outfit}, -1) doSendMagicEffect(getThingPos(cid), transform.effect) doPlayerSendTextMessage(cid, 25, "Voce escolheu uma nova saga!") doCreatureSay(cid, "Saga!!", TALKTYPE_ORANGE_1) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + sagaTransformacao[tonumber(t[1])].health) setCreatureMaxMana(cid, getCreatureMaxMana(cid) + sagaTransformacao[tonumber(t[1])].mana) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) setPlayerStorageValue(cid, 5432, os.time() + cooldownzin) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você já está transformado nessa saga.") end return trueend
[VOCAÇÃO ID] = {{outfit = 71, level = 36, storage = 2221, mana = 2000, health = 3000}, {outfit = 71, level = 36, storage = 2222, mana = 4000, health = 4000}}, /\saga 1 /\ (,)separador /\ saga2 /\ fim desse índice (})
!saga número da saga, para funcionar.
-
LeoTK recebeu reputação de etheron8 em Sourcer 0.3.6 para Client 8.54, Limite de effects aumentado
TFS 0.3.6 (Crying Damson) Versão suportada 8.54 porém com as modificações só o client disponivel suporta ele se encontra em OTX porém pode ser compilado em theforgotten normal
Fala guys poxa perambulando pela área de downloads e vi vários servidores mas nenhum tem sourcer então vou disponibilizar essa sourcer aqui com limites de effects aumentado já ele está em otx e compila em windows de boa em linux não testei espero que ajude a rapazeada ai que ta começando agora e o servidor não tem sourcer lembrando ta aumentado até 429 magic effects e 123 shotyeffects.
É necessário alterar o client para ler em uint16 e então está tudo certo!
Source:
Download
Scan
Nota: deixarei um otclient já modificado para uint16 e com algumas outras modificações caso queiram.
Client:
Download
Scan
Obs: Caso quiser usar a tfs compilada na pasta dev-cpp/test podem usar foi a ultima que compilei em windows para mim esta tudo certinho.
-
LeoTK recebeu reputação de New'gadu em Sourcer 0.3.6 para Client 8.54, Limite de effects aumentado
TFS 0.3.6 (Crying Damson) Versão suportada 8.54 porém com as modificações só o client disponivel suporta ele se encontra em OTX porém pode ser compilado em theforgotten normal
Fala guys poxa perambulando pela área de downloads e vi vários servidores mas nenhum tem sourcer então vou disponibilizar essa sourcer aqui com limites de effects aumentado já ele está em otx e compila em windows de boa em linux não testei espero que ajude a rapazeada ai que ta começando agora e o servidor não tem sourcer lembrando ta aumentado até 429 magic effects e 123 shotyeffects.
É necessário alterar o client para ler em uint16 e então está tudo certo!
Source:
Download
Scan
Nota: deixarei um otclient já modificado para uint16 e com algumas outras modificações caso queiram.
Client:
Download
Scan
Obs: Caso quiser usar a tfs compilada na pasta dev-cpp/test podem usar foi a ultima que compilei em windows para mim esta tudo certinho.
-
LeoTK recebeu reputação de WizavIgor em [Resolvido] Script Animação da Outfit
função principal aqui
attack.lua
function onAttack(cid, target) mude para
function onCombat(cid, target)
-
LeoTK recebeu reputação de Luga03 em Opinião de Ex-STAFF
concordo eu era um desses dementes em questão e quando eu errava a área certa ficava meio bad kkk porque sempre tentei fazer as coisas certas
-
LeoTK deu reputação a Poccnn em A origem dos Deuses
Tu conhece a origem do Tibia?
Tibia é um jogo fantástico que tem uma historia encantadora de origem e de criação dos seres além de seus mistérios e enigmas ainda não desvendados.
Conta a historia a origem do mundo do Tibia.
Esse texto foi extraído do livro: The Awakening of the Gods 1
E Tu pode encontra-lo nas bibliotecas de Academia de Rookgaard, Biblioteca da Isle of the Kings, templo de Liberty Bay e Biblioteca de Dawnport.
São essas histórias que tornam o Tibia um jogo espetacular e único.
Desvende os mistérios, vá em busca da aventura e enfrente poderosos seres mitológicos.
Tibia, o jogo dos guerreiros.
Fonte: http://www.tibiawiki.com.br/Gênesis
-
LeoTK deu reputação a Beeki em Compilando e Rodando OTserv em Linux Ubuntu 12.04
Neste tutorial vamos ensinar como compilar seu servidor em Linux Ubuntu 12.04 LTS! Bom, o necessário é estar conectado ao terminal da nossa máquina usando o PuTTy.
Primeiro de tudo (vamos atualizar).
apt-get update Criando o diretório da instalação.
mkdir /home/otserv cd /home/otserv Baixando e compilando o Open Tibia Server (The Forgotten Server (TFS) revisão 3884 – 8.60).
wget http://base.serversoft.com.br/otserv/theforgottenserver.zip apt-get install unzip; unzip theforgottenserver Instalando o MySQL server.
apt-get install libmysql++-dev libmysqlclient-dev mysql-common mysql-server Nota: Fique esperto pois ele vai te perguntar pra definir algumas senhas, lembre-se sempre de anotá-las para não esquecer.
Criando o banco de dados.
mysql -uroot -p digiteSuaSenhaAqui CREATE DATABASE theforgottenserver; Instalando as Libs e dependências pra OTserv.
apt-get install libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev zlib1g libcrypto++-dev libcurl4-openssl-dev libasio-dev libboost-dev Instalando as Libs Lua (Rode cada comando separado).
apt-get install libncurses5-dev cd /usr/local/src wget http://www.lua.org/ftp/lua-5.1.4.tar.gz tar -xzvf lua* cd lua* make linux make install Preparando para Compilar.
cd /home/otserv/theforgottenserver/source/ chmod 777 autogen.sh ./autogen.sh ./configure --enable-mysql --enable-root-permission chmod 777 build.sh ./build.sh Copiando o arquivo compilado para a pasta do game:
cp /home/otserv/theforgottenserver/ Importando o banco de dados de testes:
cd /home/otserv/theforgottenserver/schemas mysql -uroot -ptheforgottenserver mysql.sql Configurando seu config.lua:
apt-get install nano; nano /home/otserv/config.lua Agora você deve navegar pelo arquivo e modificar algumas configurações para ele funcionar. Verifique o IP, database e tudo mais. Para sair do programa “Nano” digite CTRL + X.
Para rodar o game:
cd /home/otserv/; chmod 777 ./theforgottenserver & Créditos:
Serversoft & Beeki XTibia
Ps: o link de download de uma das versões do theforgottenserver é a rev 3884 de protocolo 8.60, ou seja... você pode usar a revisão que quiser!
-
LeoTK deu reputação a rohfagundes em Raridade em items
Ola, eu estou fazendo um sistema de raridade baseado no diablo 3
gostaria de saber o q vcs acham
lembrando q este item é apenas para teste
ainda vou mudar algumas coisas
-
LeoTK deu reputação a Nethron em Bills Outfit
Fiz essa Outfit do Bills e irei doar apenas a frente dela, não adianta pedir os lados e os moves que não irei doar, se quiserem usar como Npc fiquem avontade
Link:http://imgur.com/a/3joe0
-
LeoTK deu reputação a XzXNoraX em [Resolvido] The forgotten Dando erro
DLL's para rodar o Executável? se for está abaixo:
Clique Aqui
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.