Tudo que Pedro. postou
-
Premium ganha xp a +
crie um creaturescript, e adicione isto. local rate = 20 --- porcentagem que irá ganhar a mais. function onKill(cid, target, lastHit) if isPremium(cid) then local monster = Monster(target) if not monster then return true end for id, damage in pairs(monster:getDamageMap()) do local player = Player(id) if player then local experience = damage.total / monster:getType():getHealth() * monster:getType():getExperience() local expFormula = (((experience * Game.getExperienceStage(player:getLevel())) / 100) * rate) player:addExperience(math.floor(expFormula), true) end end end return true end adiciona o event em login player:registerEvent("Exp_Extra") e a tag em xml. <event type="kill" name="Exp_Extra" event="script" value="expextra.lua"/> créditos: luangostosão
-
(Resolvido)(Pedido) Item que dê acesso
cara, o que o pessoal tá te mandando é um script de tile normal de vip system, por exemplo. Você usa uma potion e ganha uma storage de VIP, dai voce vai ter a permissão de passar no tile, acho que dá para usar no que você quer.. basta mudar algumas coisas, textos etc. no caso a tag você muda pelo item da "berserker potion" <action itemid="BERSERKER POTION" script="test.lua"/> Enfim, vamos ao script. Piso para passar somente quem usar o item. Crie em data/movements/scripts um arquivo entrada.lua function onStepIn(cid, item, position, fromPosition) local config = { msgDenied = "VOCE PRECISA USAR O ITEM...", msgWelcome = "MUDAR PELO TEXTO QUE DESEJA" } if getPlayerStorageValue(cid, 55489) - 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 TAG 0.4 <movevent type="StepIn" uniqueid="13500" event="script" value="entrada.lua"/> TAG 1.0 <movevent event="StepIn" uniqueid="13500" script="entrada.lua"/> Crie em actions/script/other um arquivo .lua, certifique-se de por o mesmo nome na tag em action.xml function onUse(cid, item) if getPlayerStorageValue(cid, 55489) - os.time() < 0 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Agora voce e um player VIP.") setPlayerStorageValue(cid, 55489, os.time() + (30*24*60*60)) doRemoveItem(item.uid, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Voce ja e VIP so poderá renovar daqui 30 dias.") end return TRUE end Nessa´parte 30*24*60*60 onde esta 30 coloca os dias que quer adicionar créditos: Mitsuig
-
(Resolvido)Sistema de [VIP] no nome (Ajuda!)
tenta assim
-
(Resolvido)Sistema de [VIP] no nome (Ajuda!)
s amg.
-
(Resolvido)Sistema de [VIP] no nome (Ajuda!)
tente assim. action.xml <action itemid="10309" script="test.lua"/> action/lua. local config = { removeItem = "yes", strInName = "[DNT] ", vipStorage = 13500, vipDays = 15 } config.removeItem = getBooleanFromString(config.removeItem) function onUse(cid, item, fromPosition, itemEx, toPosition) local name, guid = getCreatureName(cid), getPlayerGUID(cid) doRemoveItem(item.uid, config.removeItem and 1 or 0) setPlayerStorageValue(cid, config.vipStorage, (config.vipDays*24*60*60) + os.time()) doRemoveCreature(cid) db.query("UPDATE `players` SET `name` = '"..config.strInName..""..name.."' WHERE `id` = "..guid..";") return true end depois vá em login.lua e la no final você coloca isso; if(string.find(getCreatureName(cid), "[DNT] ") then if(getPlayerStorageValue(cid, 13500) < os.time) then local newname, guid = string.match(getCreatureName(cid), " (.+)"), getPlayerGUID(cid) setPlayerStorageValue(cid, 13500, -1) doRemoveCreature(cid) db.query("UPDATE `players` SET `name` = '"..newname.."' WHERE `id` = "..guid..";") return true end end
-
(Resolvido)Sistema de [VIP] no nome (Ajuda!)
qual versão do seu tfs?
-
Mostrar coldown que ainda falta ...
vai em lib, crie um lua e adicione 034-exhaustion.lua exhaustion = { check = function (cid, storage) if(getPlayerFlagValue(cid, PLAYERFLAG_HASNOEXHAUSTION)) then return false end return getPlayerStorageValue(cid, storage) >= os.time() end, get = function (cid, storage) if(getPlayerFlagValue(cid, PLAYERFLAG_HASNOEXHAUSTION)) then return false end local exhaust = getPlayerStorageValue(cid, storage) if(exhaust > 0) then local left = exhaust - os.time() if(left >= 0) then return left end end return false end, set = function (cid, storage, time) setPlayerStorageValue(cid, storage, os.time() + time) end, make = function (cid, storage, time) local exhaust = exhaustion.get(cid, storage) if(not exhaust) then exhaustion.set(cid, storage, time) return true end return false end }
-
Duvida ao criar ot.
complicado, nunca abri servidor em casa caseiro, sempre foi por dedicado.
-
Duvida ao criar ot.
verefique o firewall também, ve se está ativo as vezes ele bloqueia, dps ve seu ip http://www.meuip.com.br/ e pede p alguem tentar entrar.
-
(Resolvido)Addons e mounts para todos os players
escolha a melhor resposta para adicionar a tag [ Resolvido ]
-
10 dicas para manter seu servidor web Apache seguro
ótimo tutorial, porém para quem não entende, tá bem vago de como fazer as modificações, achar arquivos etc.
-
(Resolvido)Addons e mounts para todos os players
ao invés de player:addMount(i), tente adicionar doPlayerAddMount(cid, montaria)
-
(Resolvido)Tile por storage
Exemplo: Eu aceitei uma quest e terminei ela, após isso eu ganhei uma storage 701. Dai eu vou na sala de boss, para eu passar no tp antes tem um TILE que precisa dessa storage, o player passa tranquilo, porém ele consegue passar mil vezes, eu quero fazer com que ele passe apenas 1 vez. Para não fica matando o boss 20x tópico resolvido ;x function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 701) <= 0 then doTeleportThing(cid, getPlayerMasterPos(cid)) doPlayerSendTextMessage(cid, 22, "Você precisa terminar a missão antes, você foi teletransportado para o templo.") elseif getPlayerStorageValue(cid, 702) <= 0 then setPlayerStorageValue(cid, 702, 1) else doTeleportThing(cid, getPlayerMasterPos(cid)) doPlayerSendTextMessage(cid, 22, "Você só pode passar aqui uma vez.") end return TRUE end
-
[Ajuda] erro ao criar conta no site
tente esse daqui http://www.mediafire.com/download/u0bao9bcp9ua5vr/Gesior+ACC+0.3.8+-+TibiaKing.com.rar
-
[Ajuda] erro ao criar conta no site
porque não usa gesior amigo?
-
[Ajuda] erro ao criar conta no site
qual a versão do seu servidor?
-
(Resolvido)Tile por storage
Bom, to fazendo uma quest no meu servidor que funciona de seguinte maneira. O Player pede a missão em um npc, e depois que completar ele vai ganhar storage 701. Após isso, ele vai em outro npc, que vai ser teleportado para um local aonde ele vai poder matar o boss, ele só vai conseguir matar o boss, depois que tiver a storage 701 pra passar no tile. [ Até ai ok ] Eu gostaria de saber, como eu faço pra ele conseguir passa no tile apenas uma vez, para que ele não fique matando o boss toda hora. Ps: eu já tentei fazer um script que seta-se outra storage assim que ele matasse o boss, porém não adiantou, alguém tem alguma solução para mim? /script do tile. function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 701) <= 0 then doTeleportThing(cid, getPlayerMasterPos(cid)) doPlayerSendTextMessage(cid, 22, "você precisa terminar a missão antes, você foi teletransportado para o templo.") end return TRUE end
-
[Ajuda] erro ao criar conta no site
aconselho trocar de site, é para wodbo? deve haver outros por aí.
-
(Resolvido)Quest Log Ajuda
tente assim. movements/script/blabla.lua function onStepIn(cid) if isPlayer(cid) then setPlayerStorageValue(cid, POR AQUI SUA STORAGE, 0) end return true end <movevent type="StepIn" actionid="256900" event="script" value="blabla.lua"/>
-
(Resolvido)Quest Log Ajuda
só você mudar a storage <quest name="The Pits of Inferno" startstorageid="39822" startstoragevalue="1"> <mission name="Acces to shortcuts" storageid="39822" startvalue="1" endvalue="2"> <missionstate id="1" description="At the end of this quest you will be able to use shortcuts."/> <missionstate id="2" description="Unlocked shortcut and now do not have to move all the 15 lever and you can use the teleport in the necromancer's house."/> </mission> <mission name="Thrones: Verminor" storageid="2082" startvalue="1" endvalue="1"> <missionstate id="1" description="You have already absorbed some of Veminor's spirit."/> </mission> <mission name="Thrones: Infernatil" storageid="2080" startvalue="1" endvalue="1"> <missionstate id="1" description="You have already absorbed some of Infernatil's spirit."/> </mission> <mission name="Thrones: Tafariel" storageid="2081" startvalue="1" endvalue="1"> <missionstate id="1" description="You have already absorbed some of Tafariel's spirit."/> </mission>
-
Matar o boss, e abrir nova area ou portal
área correta seria suporte de scripts, daqui a pouco alguém direciona pra lá. tente assim; crie um tp.lua em creaturescript e adicione isso lá. local tpId = 1387 local tps = { ["Orshabaal"] = {pos = {x=761, y=57, z=7}, toPos = {x=767, y=52, z=7}, time = 30}, } function removeTp(tp) local t = getTileItemById(tp.pos, tpId) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(tp.pos, CONST_ME_POFF) end end function onDeath(cid) local tp = tps[getCreatureName(cid)] if tp then doCreateTeleport(tpId, tp.toPos, tp.pos) doCreatureSay(cid, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1) addEvent(removeTp, tp.time*1000, tp) end return TRUE end - Tutorial - ["Orshabaal] --------- Nome do monstro pos = {x=761, y=57, z=7} ----------- onde o Teleport irá abrir toPos = {x=767, y=52, z=7} ------- onde o teleport vai leva eles time = 30 ------------ tempo em segundos que o teleport ficará aberto em creaturescript adicione: <event type="death" name="tp" event="script" value="tp.lua"/> no arquivo.xml do seu monstro adicione: <script> <event name="tp"/> </script>
-
Recompensa por vocação.
up.
-
Recompensa por vocação.
bump ²
-
(Resolvido)Ajuda nesse NPC
me impressiono com a quantidade de fera em lua aqui, mds ;x
-
player nao perde item quando morre e muito mais! o/
Olá, se ainda não tiver resolvido, tente dessa maneira. Creaturescript, crie um lua droploot.lua e adicione isto. registre em login. player:registerEvent("DropLoot") adicione isto em xml. <event type="death" name="DropLoot" script="droploot.lua"/> espero respostas.