
Solutions
-
Wakon's post in (Resolvido)[AJUDA] Erro na Distro. was marked as the answerBasta colocar a mensagem entre [spoiler@] mensagem [/spoiler@] ( retire os @ ).
Tente trocar o script por esse:
-
Wakon's post in (Resolvido)[Pedido/Ajuda] Passar Script Para 8.60 was marked as the answerScript, rewards.lua:
local tabela = { -- [level] = type = "item", id = ITEM_ID, id2 = QUANTIDADE, msg = "MENSAGEM"}, -- [level] = type = "addon", id = ID_ADDON_FEMALE, id2 = ID_ADDON_MALE, msg = "MENSAGEM"}, [20] = {type = "item", id = 2160, id2 = 2, msg = "Voce ganhou 2 crystal coins por alcancar o level 20!"}, [40] = {type = "addon", id = 136, id2 = 128, msg = "Voce ganhou o addon citizen full por alcancar o level 40!"}, } local storage = 15000 function onAdvance(cid, skill, oldLevel, newLevel) if (skill == 8) then for level, _ in pairs(tabela) do if getPlayerLevel(cid) >= level and getPlayerStorageValue(cid, storage) < level then if tabela[level].type == "item" then doPlayerAddItem(cid, tabela[level].id, tabela[level].id2) elseif tabela[level].type == "addon" then doPlayerAddOutfit(cid, tabela[level].id, 3) doPlayerAddOutfit(cid, tabela[level].id2, 3) else return false end doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, tabela[level].msg) setPlayerStorageValue(cid, storage, level) end end end doPlayerSave(cid) -- salvando player return true end TAG:
<event type="advance" name="Rewards" event="script" value="rewards.lua"/> Registre no login.lua:
registerCreatureEvent(cid, "Rewards") Só retirei a parte da mount, pois a função não existe no 8.60.
-
Wakon's post in (Resolvido)Antivirus bloqueiando distro was marked as the answerPode tentar isso, não sei se vai funcionar pois não uso antivírus:
Créditos: TechTudo - Marvin Costa
-
Wakon's post in (Resolvido)Como Mudar o nome do client ? was marked as the answerVá na pasta "cliente/modules/client", abra o client.lua e procure por:
g_window.setTitle Agora é só alterar para o nome desejado, exemplo:
g_window.setTitle('SEUNOMEAQUI')
O tópico foi movido para a área correta, preste mais atenção da próxima vez!
Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680
Este tópico foi movido:
De: "OTServ → Suporte OTServ → Suporte de Servidores Derivados"
Para: "OTServ → Suporte OTServ → Suporte de Clients"
-
Wakon's post in (Resolvido)[AJUDA] galera ajuda com uns erros nesses scrpts porfavor was marked as the answerPrimeiro:
local level = 150 -- Nível necessário para passar function onStepIn(cid, item, position, fromPosition, toPosition) if not isPlayer(cid) then return true end if getPlayerLevel(cid) < level then doTeleportThing(cid, fromPosition, TRUE) doPlayerSendCancel(cid, 'You need have level '..level..' to pass.') end return TRUE end Segundo:
CONFIG = { [1] = {message = "Está perdido? Este é o mapa do server : http://otpkmlerme.wi...#!mapa/c24qb!",color = 19}, [2] = {message = "Duvidas? Faça suas duvidas no Help Channel", color = 21}, [3] = {message = "Quando você conseguir algo importante RELOGE para nao perder STAFF NAO SE RESPONSABILIZA", color = 21}, [4] = {message = "AutoLoot :digite /aloot add:nome do item-> para adicionar à lista digite /aloot check-> para checar sua lista de itens digite /aloot delete:nome do item-> para deletar o item da lista Obs.:máximo 30 itens na lista", color = 21}, [4] = {message = "para ser rank 5 basta falar o comando /clan nomedoclan,5 so da para ser 1 clan não da para mudar novamente", color = 21}, } function onThink() getRandom = math.random(1, #CONFIG) return doBroadcastMessage(CONFIG[getRandom].message, CONFIG[getRandom].color) end O terceiro diz que não existe o arquivo no local especificado na tag.
-
Wakon's post in (Resolvido)Mensagem de dominio was marked as the answerTeste:
-
Wakon's post in (Resolvido)Aviso de Blessings was marked as the answerCaso não funcione o do amigo acima:
function onLogin(cid) if getTilePzInfo(getPlayerPosition(cid)) == FALSE then for b = 1,5 do if getPlayerBlessing(cid, b) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE," Você está protegido!") else return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você não tem todas as bênçãos, tome cuidado!") end end end return TRUE end
-
Wakon's post in (Resolvido)[PEDIDO] Action teleport com Storage.. was marked as the answerNão entendi seu pedido da action, fiz esse aqui, veja se é o que você quer.
local t = { storage = 34555, -- Storage do baú. gopos = {x = 160, y = 54, z = 7}, -- Posição caso não tenha feito a quest. nopos = {x = 161, y = 55, z = 7} -- Posição caso já tenha feito a quest. } function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerStorageValue(cid, t.storage) <= 0 then doTeleportThing(cid, t.gopos) doPlayerSendTextMessage(cid, 25, "Boa sorte.") else doTeleportThing(cid, t.nopos) doPlayerSendTextMessage(cid, 25, "Você já fez essa quest.") end return true end Se não for, especifique melhor seu pedido.
-
Wakon's post in (Resolvido)Hamachi & IP Changer! Como Tirar ? was marked as the answerVeja esses tutoriais:
http://www.tibiaking.com/forum/topic/1930-criando-otserv-ip-fixo-sqlitestudio-e-colocando-otserv-online/
Cliente próprio tem duas maneiras:
http://www.tibiaking.com/forum/topic/28214-tutorial-criando-client-proprio-sem-vapus-completo/
http://www.tibiaking.com/forum/topic/11099-aprenda-a-fazer-seu-proprio-client/
-
Wakon's post in (Resolvido)[AJUDA]Como adicionar função doCreatureAddHealth no script was marked as the answerTesta ai:
function onPrepareDeath(cid, deathList) if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, 34820) <= 0 then doCreatureAddHealth(cid, 20000, 65535, 256, true) doCreatureSay(cid,"SetStorage!", 19) setPlayerStorageValue(cid, 34820, 1) setPlayerStorageValue(cid, 19332, 1) return FALSE else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua skill já esta carregada o carregamento automatico nao foi executado.") end return TRUE end -
Wakon's post in (Resolvido)Erro script was marked as the answerCreio que não seja isso, mais tente com uma storage menor, eu testei esse script e está funcionando.
function onLogin(cid) if getPlayerStorageValue(cid, 34820) == 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua skill já esta carregada o carregamento automatico nao foi executado.") else setPlayerStorageValue(cid, 34821, 1) end return true end -
Wakon's post in (Resolvido)[Duvida] Script para Players Vip was marked as the answerVá na pasta "Data/movements/scripts" copie e cole um arquivo.LUA, renomeie para tilevip.lua, apague tudo e cole isso:
local t = { storage = 29000, effect = 13 } function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, t.storage) - os.time() <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você não é VIP.") doSendMagicEffect(getThingPos(cid), t.effect) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bem-vindo a área VIP.") return true end Depois em "Data/movements" abra o movements.xml e adicione:
<movevent type="StepIn" actionid="39800" event="script" value="tilevip.lua"/> Ai você coloca a actionID 39800 no piso da entrada da área VIP.
Se der algum erro avise.
-
Wakon's post in (Resolvido)Demon oak quest was marked as the answerVá na pasta "Data/libs", abra o arquivo killingInTheNameOfQuest.lua e procure pela task de demon.
Provavelmente será a ultima [44] e vai estar assim:
[44] = {killsRequired = 6666, raceName = "Demons", level = {130, 9999}, rank = RANK_ELITEHUNTER, norepeatable = true, premium = true, creatures = {"demon"}, rewards = {{type = "storage", value = {41300, 1}}}}, Você deve retirar parte do rank até o inicio do norepeatable, ficando assim:
[44] = {killsRequired = 6666, raceName = "Demons", level = {130, 9999}, norepeatable = true, premium = true, creatures = {"demon"}, rewards = {{type = "storage", value = {41300, 1}}}}, Se tiver algum problema/dúvida é só dizer.
-
Wakon's post in (Resolvido)[PEDIDO] Skull Remover e Change Sex was marked as the answerEm "Data/actions/scripts" crie um arquivo chamado changesex.lua e coloque isso dentro:
function onUse(cid, item, fromPosition, itemEx, toPosition, isHotkey) local player = Player(cid) if not player:isPzLocked() then player:setSex(player:getSex() == 1 and 0 or 1) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Seu sexo foi alterado.') player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) player:save() else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, 'Você não pode usar em batalha.') end return true end Depois coloque a TAG em "Data/actions" no actions.xml:
<action itemid="2456" script="changesex.lua"/> Créditos: Luan -- Apenas modifiquei uma parte.
Vou ver se consigo adaptar o skull remover do jeito que você quer e edito esse post.
@Edit
O remove do Luan já retira os frags, testei aqui...
-
Wakon's post in (Resolvido)como botar o comando /goto was marked as the answerEm "Data/talkactions/scripts" copie e cole um arquivo.LUA e renomeie para teleportto.lua, apague tudo e cole:
Agora em "Data/talkactions" abra o arquivo talkactions.xml e adicione a tag:
<talkaction log="yes" words="/goto" access="3" event="script" value="teleportto.lua"/> -
Wakon's post in (Resolvido)Problema ao abrir TFS. was marked as the answerEu estava com esse problema e apenas troquei a versão do TFS para 32 bits e funcionou normalmente mesmo eu tendo 64 bits, tente alterar.
Pode tentar esse tutorial também:
-
Wakon's post in (Resolvido)Outfit.lua no such file was marked as the answerO nome do script na tag deve ser o mesmo que na pasta scripts, se ele não está encontrando provavelmente você colocou algo errado.
Se fosse erro no script, acusaria na distro o erro dentro do script, nesse caso ele não está encontrando, tente refazer o processo.
-
Wakon's post in (Resolvido)[PEDIDO] 2 NPC's - Teleportador / Transforma X item was marked as the answerEm "Data/npc/scripts" copie e cole um arquivo.LUA e renomeie para teleporter.lua, apague tudo e cole:
local t = { item = 2160, -- Item necessário. pos = {x = 160, y = 54, z = 7} -- Local para onde irá teleportar. } local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end msg = msg:lower(); local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'teleport') or msgcontains(msg, 'teleportar') then if getPlayerItemCount(cid, t.item) >= 1 then selfSay('Será cobrado um '..getItemNameById(t.item)..', tem certeza?', cid) talkState[talkUser] = 2 else selfSay('Você não tem um '..getItemNameById(t.item)..' em sua backpack.', cid) talkState[talkUser] = 0 end elseif msgcontains(msg, 'yes') then if talkState[talkUser] == 2 then if doPlayerRemoveItem(cid, t.item, 1) then doTeleportThing(cid, t.pos) talkState[talkUser] = 0 else selfSay('Você não tem um '..getItemNameById(t.item)..'.', cid) talkState[talkUser] = 0 end end elseif msgcontains(msg, 'no') then if talkState[talkUser] == 2 then talkState[talkUser] = 0 selfSay('Ok...', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Agora em "Data/npc" copie e cole um arquivo.XML e renomeie para npcteleport.xml, apague tudo e cole:
<npc name="NOMEDONPC" script="data/npc/scripts/teleporter.lua" floorchange="0" walkinterval="2000"> <health now="150" max="150"/> <look type="156" head="114" body="114" legs="0" feet="0" addons="3"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Deseja se {teleportar}?" /> </parameters> </npc> Segundo NPC é só fazer a mesma coisa com criando novos nomes:
"Data/npc/scripts" arquivo changeitem.lua:
"Data/npc" arquivo changer.xml:
-
Wakon's post in (Resolvido)Preciso do Script NPC (teletransportar o player) was marked as the answerTente alterar o XML para esse:
<?xml version="1.0" encoding="UTF-8"?> <npc name="Bossing" script="data/npc/scripts/npcboss.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="138" head="57" body="59" legs="40" feet="76" addons="0"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Deseja desafiar o {boss}?"/> </parameters> </npc> -
Wakon's post in (Resolvido)[AJUDA] como adiciono 1 comando no sql was marked as the answerAperta Alt+E, cole o código e aperte F9.
O tópico foi movido para a área correta, preste mais atenção da próxima vez!
Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680
Este tópico foi movido:
De: "OTServ → Suporte OTServ → Suporte de Scripts"
Para: "OTServ → Suporte OTServ → Suporte de Programação" -
Wakon's post in (Resolvido)[AJUDA] Npcs green djinn was marked as the answerTu disse que já tirou da LIB então troca os script's dos NPC's em "Data/npc/scripts":
Alesar.lua:
Yaman.lua:
-
Wakon's post in (Resolvido)[PEDIDO] Goroma sem missão was marked as the answerScript's caso alguém tenha a mesma dúvida:
Em "Data/npc/scripts" troque o Jack Fate.lua por esse:
Agora ainda em "Data/npc/scripts" troque o Jack FateGoroma.lua por esse:
-
Wakon's post in (Resolvido)[AJUDA] Alguém sabe onde tirar o acesso a meriana? was marked as the answerVá em "Data/npc/scripts" procure por Captain Waverider.lua e troque por esse:
Ai é só o player chegar e falar hi - peg leg - yes.
-
Wakon's post in (Resolvido)Ajuda plz (É facinho) :C was marked as the answerUse assim que o script vai verificar o ID após o comando, /check 2160.
function onSay(cid, words, param, channel, itemid) local param = string.lower(param) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_RED , "Voce tem " ..getPlayerItemCount(cid, param).. " unidades.") doPlayerSendTextMessage(cid,MESSAGE_EVENT_ADVANCE , "Voce tem " ..getPlayerItemCount(cid, param).. " unidades.") return true end -
Wakon's post in (Resolvido)(Pedido) teleporte was marked as the answerUse assim o script movement:
local t = { tp = { x = 160, y = 54, z = 7 }, -- Local onde irá levar. level = 600 -- Level necessário. } function onStepIn(cid, item, position, fromPosition) if getPlayerLevel(cid) >= t.level then doTeleportThing(cid, t.tp) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) else doPlayerSendCancel(cid, "You need level "..t.level.." to pass.") doTeleportThing(cid, fromPosition) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) end return true end Talvez seja necessário retirar o position do teleport e deixar apenas no script.