-
Total de itens
998 -
Registro em
-
Última visita
-
Dias Ganhos
3
Tudo que Fir3element postou
-
Fica melhor tirando a vida. Não é 7.6, olha as paredes do lado direito, so mudou o outfit mesmo.
-
Vá em items/items.xml e procure pelo seu item ex: <item id="2194" article="a" name="mysterious fetish"> <attribute key="weight" value="490" /> </item> Adicione isso nele: <attribute key="slotType" value="feet" /> Ficando assim: <item id="2194" article="a" name="mysterious fetish"> <attribute key="slotType" value="feet" /> <attribute key="weight" value="490" /> </item> Esta parte de baixo é a bota, por isso que não da para colocar nada la =D
-
8.6 Autorizações Para Edição De Servidores
tópico respondeu ao Henrique Moura de Fir3element em OTServ Comum
Muita tem gente não sabe nem oque é o código de fonte =S Viva Open Source ^^ -
@Atualizei o script vip.lua function onSay(cid, words, param, channel) local storage = 13540 local money = 10000 if getPlayerStorageValue(cid, storage) < 1 and getPlayerMoney(cid) >= money then setPlayerStorageValue(cid, storage, 1) doPlayerRemoveMoney(cid, money) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou VIP.") else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end end talkactions.xml <talkaction words="!buyvip" event="script" value="vip.lua"/>
-
Tenta usar este: http://ufpr.dl.sourceforge.net/project/opentibia/opentibia%20tools/otitemeditor-0.3.7/otitemeditor-0.3.7.zip
-
Pode me mandar o link da onde você baixou o item editor? Vou testar aqui.
-
Se tirar o battle da MW vai poder tacar magias atravessando ela, como a WG. Ja a paralyze eu nem sei.
-
Não sei se entendi, você quer apenas criar novos itens?
-
Ficou bem massa, só a porta da segunda imagem que ficou estranha.
- 88 respostas
-
- - im back!
- otserv
-
(e 1 mais)
Tags:
-
m1 m2 m3 m4 Saquei... É só configurar os pokemons. Consegui o m1 na net:
-
action [Action] Ride System, Pokemon Ots
tópico respondeu ao thalia de Fir3element em Actions e Talkactions
Não entendi direito como funciona, você coloca a pokeball na bota e faz oque? -
Esclareça melhor o sistema, tem muita gente que não joga P.O, inclusive eu =S
-
action [Action] Ride System, Pokemon Ots
tópico respondeu ao thalia de Fir3element em Actions e Talkactions
oloko Muito bom ai, poderia fazer um vídeo para melhorar o tópico =D REP+ -
[Encerrado] Problema Skill .... ;s
tópico respondeu ao maniaots de Fir3element em Tópicos Sem Resposta
Acho que 13 é assim mesmo :S -
[Encerrado] [Bug] Skull Yellow Aparecendo Indevidamente
tópico respondeu ao Rodrigomaga2 de Fir3element em Tópicos Sem Resposta
Troca seu distro ^^ -
No config.lua mude: emoteSpells = false Para: emoteSpells = true
-
talkaction [Advanced Reset System 2.0]
tópico respondeu ao MarcelloMendes de Fir3element em Actions e Talkactions
Cara ai no fim não esta faltando um end não /\ -- Script bem interessante =D -
Gostei, bem rápido e não causa lagg algum no servidor ^^ Recomendo.
-
Global = players querem war e os adms dinheiro. Próprio = players querem se divertir, wars, etc... e os adms lucram, mais usam para melhorar o servidor. Acho que compensa sim, mapas novos são interessantes =D
-
Tenta mudar seu food.lua (data\actions\scripts\foods\food.lua): Não ta com os foods 8.6 mais deve arrumar. ---- Isso que da pegar codes do TFS 0.4_DEV, vários bugs.
-
Manda a linha do afk. Exemplo: <talkaction words="!q" event="script" value="money.lua"/>
-
Ta legalzinho Parabéns =D Rep +
-
O slawkens só faz coisa legal em MOD =D Em talkaction seria isso? local config = { exhaustion = 30, -- in seconds storage = 3002 -- storage value used to save exhaustion } function onSay(cid, words, param, channel) if(exhaustion.check(cid, config.storage)) then doPlayerSendCancel(cid, "You can change outfit only 1 time per " .. config.exhaustion .. " seconds.") return true end local playerGuild = getPlayerGuildId(cid) if(not playerGuild or playerGuild == 0) then doPlayerSendCancel(cid, "Sorry, you're not in a guild.") return true end if(getPlayerGuildLevel(cid) < GUILDLEVEL_LEADER) then doPlayerSendCancel(cid, "You have to be Leader of your guild to change outfits!") return true end local outfit, members = getCreatureOutfit(cid), 0 local message = "*Guild* Your outfit has been changed by leader. (" .. getCreatureName(cid) .. ")" for _, tid in ipairs(getPlayersOnline()) do if(getPlayerGuildId(tid) == playerGuild and cid ~= tid) then local newOutfit = outfit if(not canPlayerWearOutfit(tid, outfit.lookType, outfit.lookAddons)) then local tmpOutfit = getCreatureOutfit(tid) newOutfit.lookAddons = 0--tmpOutfit.lookAddons if(not canPlayerWearOutfit(tid, outfit.lookType, 0)) then newOutfit.lookType = tmpOutfit.lookType end end doSendMagicEffect(getCreaturePosition(tid), 66) doCreatureChangeOutfit(tid, newOutfit) doPlayerSendTextMessage(tid, MESSAGE_INFO_DESCR, message) members = members + 1 end end exhaustion.set(cid, config.storage, config.exhaustion) doPlayerSendCancel(cid, "Guild members outfit has been changed. (Total: " .. members .. ")") return true end
-
Obs.: Tem um tópico com um NPC Banker mais é meio antigo. Créditos: slawkens Vá em data/npc e crie um arquivo chamado Banker.xml e coloque isso nele: <?xml version="1.0" encoding="UTF-8"?> <npc name="Banker" script="mods/npc/scripts/bank.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="132" head="97" body="21" legs="76" feet="19" addons="3" corpse="2212"/> <parameters> <parameter key="message_greet" value="Welcome |PLAYERNAME|. What can I do for you? {Deposit}, {withdraw}, check {balance} or {transfer}?" /> </parameters> </npc> Vá em data/npc/scripts e crie um arquivo chamado bank.lua e coloque isso nele: local config = { transferDisabledVocations = {0} -- disable non vocation characters } local talkState = {} local count = {} local transfer = {} local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end if(not getPlayerBalance) then getPlayerBalance = function(cid) local result = db.getResult("SELECT `balance` FROM `players` WHERE `id` = " .. getPlayerGUID(cid)) if(result:getID() == -1) then return false end local value = tonumber(result:getDataString("balance")) result:free() return value end doPlayerSetBalance = function(cid, balance) db.executeQuery("UPDATE `players` SET `balance` = " .. balance .. " WHERE `id` = " .. getPlayerGUID(cid)) return true end doPlayerWithdrawMoney = function(cid, amount) local balance = getPlayerBalance(cid) if(amount > balance or not doPlayerAddMoney(cid, amount)) then return false end doPlayerSetBalance(cid, balance - amount) return true end doPlayerDepositMoney = function(cid, amount) if(not doPlayerRemoveMoney(cid, amount)) then return false end doPlayerSetBalance(cid, getPlayerBalance(cid) + amount) return true end doPlayerTransferMoneyTo = function(cid, target, amount) local balance = getPlayerBalance(cid) if(amount > balance) then return false end local tid = getPlayerByName(target) if(tid > 0) then doPlayerSetBalance(tid, getPlayerBalance(tid) + amount) else if(playerExists(target) == FALSE) then return false end db.executeQuery("UPDATE `player_storage` SET `value` = `value` + '" .. amount .. "' WHERE `player_id` = (SELECT `id` FROM `players` WHERE `name` = '" .. escapeString(player) .. "') AND `key` = '" .. balance_storage .. "'") end doPlayerSetBalance(cid, getPlayerBalance(cid) - amount) return true end end if(not doPlayerSave) then local function doPlayerSave(cid) return true end end local function getPlayerVocationByName(name) local result = db.getResult("SELECT `vocation` FROM `players` WHERE `name` = " .. db.escapeString(name)) if(result:getID() == -1) then return false end local value = result:getDataString("vocation") result:free() return value end local function isValidMoney(money) return (isNumber(money) and money > 0 and money < 4294967296) end local function getCount(string) local b, e = string:find("%d+") local money = b and e and tonumber(string:sub(b, e)) or -1 if(isValidMoney(money)) then return money end return -1 end function greetCallback(cid) talkState[cid], count[cid], transfer[cid] = 0, nil, nil return true end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end ---------------------------- help ------------------------ if msgcontains(msg, 'advanced') then if isInArray(config.transferDisabledVocations, getPlayerVocation(cid)) then selfSay("Once you are on the Tibian mainland, you can access new functions of your bank account, such as transferring money to other players safely or taking part in house auctions.", cid) else selfSay("Renting a house has never been this easy. Simply make a bid for an auction. We will check immediately if you have enough money.", cid) end talkState[cid] = 0 elseif msgcontains(msg, 'help') or msgcontains(msg, 'functions') then selfSay("You can check the {balance} of your bank account, {deposit} money or {withdraw} it. You can also {transfer} money to other characters, provided that they have a vocation.", cid) talkState[cid] = 0 elseif msgcontains(msg, 'bank') then npcHandler:say("We can change money for you. You can also access your bank account.", cid) talkState[cid] = 0 elseif msgcontains(msg, 'job') then npcHandler:say("I work in this bank. I can change money for you and help you with your bank account.", cid) talkState[cid] = 0 ---------------------------- balance --------------------- elseif msgcontains(msg, 'balance') then selfSay("Your account balance is " .. getPlayerBalance(cid) .. " gold.", cid) talkState[cid] = 0 ---------------------------- deposit --------------------- elseif msgcontains(msg, 'deposit all') and getPlayerMoney(cid) > 0 then count[cid] = getPlayerMoney(cid) if not isValidMoney(count[cid]) then selfSay("Sorry, but you can't deposit that much.", cid) talkState[cid] = 0 return false end if count[cid] < 1 then selfSay("You don't have any money to deposit in you inventory..", cid) talkState[cid] = 0 else selfSay("Would you really like to deposit " .. count[cid] .. " gold?", cid) talkState[cid] = 2 end elseif msgcontains(msg, 'deposit') then selfSay("Please tell me how much gold it is you would like to deposit.", cid) talkState[cid] = 1 elseif talkState[cid] == 1 then count[cid] = getCount(msg) if isValidMoney(count[cid]) then selfSay("Would you really like to deposit " .. count[cid] .. " gold?", cid) talkState[cid] = 2 else selfSay("Is isnt valid amount of gold to deposit.", cid) talkState[cid] = 0 end elseif talkState[cid] == 2 then if msgcontains(msg, 'yes') then if not doPlayerDepositMoney(cid, count[cid]) then selfSay("You don\'t have enough gold.", cid) else selfSay("Alright, we have added the amount of " .. count[cid] .. " gold to your balance. You can withdraw your money anytime you want to. Your account balance is " .. getPlayerBalance(cid) .. ".", cid) doPlayerSave(cid) end elseif msgcontains(msg, 'no') then selfSay("As you wish. Is there something else I can do for you?", cid) end talkState[cid] = 0 ---------------------------- withdraw -------------------- elseif msgcontains(msg, 'withdraw') then selfSay("Please tell me how much gold you would like to withdraw.", cid) talkState[cid] = 6 elseif talkState[cid] == 6 then count[cid] = getCount(msg) if isValidMoney(count[cid]) then selfSay("Are you sure you wish to withdraw " .. count[cid] .. " gold from your bank account?", cid) talkState[cid] = 7 else selfSay("Is isnt valid amount of gold to withdraw.", cid) talkState[cid] = 0 end elseif talkState[cid] == 7 then if msgcontains(msg, 'yes') then if not doPlayerWithdrawMoney(cid, count[cid]) then selfSay("There is not enough gold on your account. Your account balance is " .. getPlayerBalance(cid) .. ". Please tell me the amount of gold coins you would like to withdraw.", cid) talkState[cid] = 0 else selfSay("Here you are, " .. count[cid] .. " gold. Please let me know if there is something else I can do for you.", cid) talkState[cid] = 0 doPlayerSave(cid) end elseif msgcontains(msg, 'no') then selfSay("As you wish. Is there something else I can do for you?", cid) talkState[cid] = 0 end ---------------------------- transfer -------------------- elseif msgcontains(msg, 'transfer') then selfSay("Please tell me the amount of gold you would like to transfer.", cid) talkState[cid] = 11 elseif talkState[cid] == 11 then count[cid] = getCount(msg) if getPlayerBalance(cid) < count[cid] then selfSay("You dont have enough money on your bank account.", cid) talkState[cid] = 0 return true end if isValidMoney(count[cid]) then selfSay("Who would you like transfer " .. count[cid] .. " gold to?", cid) talkState[cid] = 12 else selfSay("Is isnt valid amount of gold to transfer.", cid) talkState[cid] = 0 end elseif talkState[cid] == 12 then transfer[cid] = msg if getCreatureName(cid) == transfer[cid] then selfSay("Ekhm, You want transfer money to yourself? Its impossible!", cid) talkState[cid] = 0 return true end if isInArray(config.transferDisabledVocations, getPlayerVocation(cid)) then selfSay("Your vocation cannot transfer money.", cid) talkState[cid] = 0 end if playerExists(transfer[cid]) then selfSay("So you would like to transfer " .. count[cid] .. " gold to \"" .. transfer[cid] .. "\" ?", cid) talkState[cid] = 13 else selfSay("Player with name \"" .. transfer[cid] .. "\" doesnt exist.", cid) talkState[cid] = 0 end elseif talkState[cid] == 13 then if msgcontains(msg, 'yes') then local targetVocation = getPlayerVocationByName(transfer[cid]) if not targetVocation or isInArray(config.transferDisabledVocations, targetVocation) or not doPlayerTransferMoneyTo(cid, transfer[cid], count[cid]) then selfSay("This player does not exist on this world or have no vocation.", cid) else selfSay("You have transferred " .. count[cid] .. " gold to \"" .. transfer[cid] .."\".", cid) transfer[cid] = nil doPlayerSave(cid) end elseif msgcontains(msg, 'no') then selfSay("As you wish. Is there something else I can do for you?", cid) end talkState[cid] = 0 ---------------------------- money exchange -------------- elseif msgcontains(msg, 'change gold') then npcHandler:say("How many platinum coins would you like to get?", cid) talkState[cid] = 14 elseif talkState[cid] == 14 then if getCount(msg) == -1 or getCount(msg) == 0 then npcHandler:say("Hmm, can I help you with something else?", cid) talkState[cid] = 0 else count[cid] = getCount(msg) npcHandler:say("So you would like me to change " .. count[cid] * 100 .. " of your gold coins into " .. count[cid] .. " platinum coins?", cid) talkState[cid] = 15 end elseif talkState[cid] == 15 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2148, count[cid] * 100) then doPlayerAddItem(cid, 2152, count[cid]) npcHandler:say("Here you are.", cid) else npcHandler:say("Sorry, you do not have enough gold coins.", cid) end else npcHandler:say("Well, can I help you with something else?", cid) end talkState[cid] = 0 elseif msgcontains(msg, 'change platinum') then npcHandler:say("Would you like to change your platinum coins into gold or crystal?", cid) talkState[cid] = 16 elseif talkState[cid] == 16 then if msgcontains(msg, 'gold') then npcHandler:say("How many platinum coins would you like to change into gold?", cid) talkState[cid] = 17 elseif msgcontains(msg, 'crystal') then npcHandler:say("How many crystal coins would you like to get?", cid) talkState[cid] = 19 else npcHandler:say("Well, can I help you with something else?", cid) talkState[cid] = 0 end elseif talkState[cid] == 17 then if getCount(msg) == -1 or getCount(msg) == 0 then npcHandler:say("Hmm, can I help you with something else?", cid) talkState[cid] = 0 else count[cid] = getCount(msg) npcHandler:say("So you would like me to change " .. count[cid] .. " of your platinum coins into " .. count[cid] * 100 .. " gold coins for you?", cid) talkState[cid] = 18 end elseif talkState[cid] == 18 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2152, count[cid]) then npcHandler:say("Here you are.", cid) doPlayerAddItem(cid, 2148, count[cid] * 100) else npcHandler:say("Sorry, you do not have enough platinum coins.", cid) end else npcHandler:say("Well, can I help you with something else?", cid) end talkState[cid] = 0 elseif talkState[cid] == 19 then if getCount(msg) == -1 or getCount(msg) == 0 then npcHandler:say("Hmm, can I help you with something else?", cid) talkState[cid] = 0 else count[cid] = getCount(msg) npcHandler:say("So you would like me to change " .. count[cid] * 100 .. " of your platinum coins into " .. count[cid] .. " crystal coins for you?", cid) talkState[cid] = 20 end elseif talkState[cid] == 20 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2152, count[cid] * 100) then npcHandler:say("Here you are.", cid) doPlayerAddItem(cid, 2160, count[cid]) else npcHandler:say("Sorry, you do not have enough platinum coins.", cid) end else npcHandler:say("Well, can I help you with something else?", cid) end talkState[cid] = 0 elseif msgcontains(msg, 'change crystal') then npcHandler:say("How many crystal coins would you like to change into platinum?", cid) talkState[cid] = 21 elseif talkState[cid] == 21 then if getCount(msg) == -1 or getCount(msg) == 0 then npcHandler:say("Hmm, can I help you with something else?", cid) talkState[cid] = 0 else count[cid] = getCount(msg) npcHandler:say("So you would like me to change " .. count[cid] .. " of your crystal coins into " .. count[cid] * 100 .. " platinum coins for you?", cid) talkState[cid] = 22 end elseif talkState[cid] == 22 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2160, count[cid]) then npcHandler:say("Here you are.", cid) doPlayerAddItem(cid, 2152, count[cid] * 100) else npcHandler:say("Sorry, you do not have enough crystal coins.", cid) end else npcHandler:say("Well, can I help you with something else?", cid) end talkState[cid] = 0 elseif msgcontains(msg, 'change') then npcHandler:say("There are three different coin types in Tibia: 100 gold coins equal 1 platinum coin, 100 platinum coins equal 1 crystal coin. So if you'd like to change 100 gold into 1 platinum, simply say '{change gold}' and then '1 platinum'.", cid) talkState[cid] = 0 end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Exemplo de uso: !bank balance - mostra quanto de dinheiro você tem !bank deposit 100 - deposita 100 gold !bank withdraw 50 - retira 50 gold !bank transfer 30 God - transfere 30 gold para o player God !bank deposit all - deposita todo seu dinheiro !bank withdraw all - retira todo o seu dinheiro Créditos: slawkens Vá na pasta mods e crie um arquivo chamado command-bank.xml e coloque isso nele: <?xml version="1.0" encoding="UTF-8"?> <mod name="command-bank" version="1.0" author="slawkens" contact="slawkens@gmail.com" enabled="yes"> <config name="command-bank-config"><![CDATA[ transferDisabledVocations = {0} -- disable non vocation characters ]]></config> <talkaction words="!bank" event="script"><![CDATA[ domodlib('command-bank-config') local config = { transferDisabledVocations = transferDisabledVocations } local function validAmount(amount) return (isNumber(amount) and amount > 0 and amount < 4294967296) end local function getAmount(amount, cid, f) return (amount == 'all' and f(cid) or tonumber(amount)) end local function getPlayerVocationByName(name) local result = db.getResult("SELECT `vocation` FROM `players` WHERE `name` = " .. db.escapeString(name)) if(result:getID() == -1) then return false end local value = result:getDataString("vocation") result:free() return value end function onSay(cid, words, param, channel) if(param == '') then doPlayerPopupFYI(cid, "Bank management manual.\n\n" .. "!bank balance - show your account balance\n" .. "!bank deposit 100 - deposit 100 gold\n" .. "!bank withdraw 50 - withdraw 50 gold\n" .. "!bank transfer 30 God - transfer 30 gold to player God\n\n" .. "Tip: you can also use 'all' as amount.\n" .. "!bank deposit all - deposit all gold you have\n" .. "!bank withdraw all - withdraw all gold from your bank account" ) return true end local t = string.explode(param, " ", 2) local command = t[1]:lower() if(command == 'balance') then doPlayerSendCancel(cid, "Your account balance is " .. getPlayerBalance(cid) .. " gold.") elseif(command == 'deposit') then if(not t[2]) then doPlayerSendCancel(cid, "Amount is required.") return true end local amount = getAmount(t[2], cid, getPlayerMoney) if(validAmount(amount) and getPlayerMoney(cid) >= amount and doPlayerDepositMoney(cid, amount)) then doPlayerSendCancel(cid, amount .. " gold has been deposited.") else doPlayerSendCancel(cid, "Not enough money to deposit.") end elseif(command == 'withdraw') then if(not t[2]) then doPlayerSendCancel(cid, "Amount is required.") return true end local amount = getAmount(t[2], cid, getPlayerBalance) if(validAmount(amount) and getPlayerBalance(cid) >= amount and doPlayerWithdrawMoney(cid, amount)) then doPlayerSendCancel(cid, amount .. " gold has been withdrawn.") else doPlayerSendCancel(cid, "Not enough money to withdraw.") end elseif(command == 'transfer') then if(not t[2]) then doPlayerSendCancel(cid, "Amount is required.") return true end if(not t[3]) then doPlayerSendCancel(cid, "Player name to transfer is required.") return true end local amount, target = tonumber(t[2]), t[3] if(getPlayerGUID(cid) == getPlayerGUIDByName(target)) then doPlayerSendCancel(cid, "You cannot transfer money to yourself.") elseif(isInArray(config.transferDisabledVocations, getPlayerVocation(cid))) then doPlayerSendCancel(cid, "Your vocation cannot transfer money.") elseif(not validAmount(amount) or getPlayerBalance(cid) < amount) then doPlayerSendCancel(cid, "Not enough money to transfer.") else local targetVocation = getPlayerVocationByName(target) if(not playerExists(target) or not targetVocation or isInArray(config.transferDisabledVocations, targetVocation) or not doPlayerTransferMoneyTo(cid, target, amount)) then doPlayerSendCancel(cid, "This player does not exist on this world or have no vocation.") else doPlayerSendCancel(cid, "You have transferred " .. amount .. " gold to \"" .. target .."\".") end end else doPlayerSendCancel(cid, "Invalid command usage. Use '!bank' to view manual.") end return true end ]]></talkaction> </mod>
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.