Jump to content
Close

Vabrindox

Member
  • Content Count

    41
  • Joined

  • Last visited

  • Days Won

    2

Vabrindox last won the day on November 23 2017

Vabrindox had the most liked content!

About Vabrindox

  • Rank
    Craftsman

Profile Information

  • Gender
    Masculino
  • I am
    Tibiano

Recent Profile Visitors

789 profile views
  1. Vai na pasta do otclient/data/things crie uma pasta chamada 854 e coloque o Tibia.spr e Tibia.dat dessa versão la. Outra coisa tbm que pode ser é que o oticlient não faz a leitura do seu spr e dat por ter protocolos diferentes por ser custom.
  2. local config = { itemid = {2471, 7730}, --IDs dos items, para aumentar só colocar repetir o padrao Ex: {2471, 7730, 2160}. --Edited by Zefz/Vabrindox drop_effect = false --Efeito que aparecerá em cima da corpse, OPCIONAL! Se não quiser, coloque false. } function examine(cid, position, corpse_id) if not isPlayer(cid) then return true end local corpse = getTileItemById(position, corpse_id).uid if corpse <= 1 or not isContainer(corpse) then return true end for slot = 0, getContainerSize(corpse) - 1 do local item = getContainerItem(corpse, slot) if item.uid <= 1 then return true end for i, listid in ipairs(config.itemid) do if item.itemid == listid then doBroadcastMessage("DROP MENSAGEM: O Jogador (" .. getCreatureName(cid) .. ") Dropou Golden Helmet.", 19) if config.drop_effect then doSendMagicEffect(position, config.drop_effect, cid) end end end end end function onKill(cid, target) if not isMonster(target) then return true end local corpse_id = getMonsterInfo(getCreatureName(target)).lookCorpse addEvent(examine, 2, cid, getThingPos(target), corpse_id) return true end Eu não testei mas tenta assim, la na config esta explicando como add mais itens.
  3. A partir do momento que criamos um interesse em aprender algo, dedicamos muito mais tempo e empenho nisso do que qualquer outra coisa, não pq somos forçados e sim pq realmente queremos! O restante é treinar diversas vezes e ir aprendendo com os erros e ver soluções criativas de outras pessoas tbm. Enfim esse seu erro hj serve para fazer vc n errar mais no futuro. Existem dezenas de tutoriais de todas as áreas de otserv, basta querer e se dedicar. Eu tbm aprendi a maioria das coisas sozinho mas jogo tíbia a uns 15 anos, assim como gosto de conhecer os servidores derivados, seja ele qual for, para sempre aprender cada vez mais.
  4. Qual tfs vc tá usando? Eu testei aqui e está 100% vc configurou as posições no script? E no remeres só troque o uniqueid que é a última opção e n actionid. local pos_frente = {x=99, y=122, z=7} local pos_atras = {x=99, y=124, z=7} local lvMin = 50 local horizontal = true local vertical = false
  5. actions/tpdoor.lua quer dizer que dentro de Scripts tem uma pasta chamada actions e dentro dela tem o lua com o nome tpdoor, vc pode sim tirar o actions caso n tenha essa pasta. Em relação ao conflito vc precisa colocar na porta pelo remeres o mesmo número que vc alterou na tag ou seja altere no map editor(remeres) coloque um valor em uniqueid e use o mesmo número na tags, pois assim ele identifica que é aquela e somente aquela porta. Pode fazer para outras tbm mas teria que ter um uniqueid diferente para cada. Lembrando que fiz baseado na versão do tfs para 8.6
  6. Coloca essa tag em actions e na porta pelo remeres coloque o unique id que esta ae, pode mudar se quiser: <action uniqueid="30015" event="script" value="actions/tpdoor.lua"/> e no script: Vc escolhe se a porta esta horizontal ou vertical: colocando true ou false (coloquei isso para evitar bugs) Coloque a posição que fica atras da porta e na frente da porta E tbm o lv min function onUse(cid, item, fromPosition, itemEx, toPosition) local pos_frente = {x=99, y=122, z=7} local pos_atras = {x=99, y=124, z=7} local lvMin = 50 local horizontal = true local vertical = false if getPlayerLevel(cid) >= lvMin then if horizontal then if CheckPosHorizontal(cid,pos_frente) then doTeleportThing(cid, pos_atras, true) doSendMagicEffect(getPlayerPosition(cid), 12) elseif CheckPosHorizontal(cid,pos_atras) then doTeleportThing(cid, pos_frente, true) doSendMagicEffect(getPlayerPosition(cid), 12) end end if vertical then if CheckPosVertical(cid,pos_frente) then doTeleportThing(cid, pos_atras, true) doSendMagicEffect(getPlayerPosition(cid), 12) elseif CheckPosVertical(cid,pos_atras) then doTeleportThing(cid, pos_frente, true) doSendMagicEffect(getPlayerPosition(cid), 12) end end end return true end function CheckPosHorizontal(cid,pos) if (getPlayerPosition(cid).x == pos.x or getPlayerPosition(cid).x == pos.x+1 or getPlayerPosition(cid).x == pos.x-1) and getPlayerPosition(cid).y == pos.y then return true end end function CheckPosVertical(cid,pos) if (getPlayerPosition(cid).y == pos.y or getPlayerPosition(cid).y == pos.y+1 or getPlayerPosition(cid).y == pos.y-1) and getPlayerPosition(cid).x == pos.x then return true end end Lembrando que n sei se existe alguma maneira mais fácil de se fazer isso ae mas a minha funciona tbm
  7. Engraçado eu já tive um problema parecido, não sei se é igual ao seu, eu não conseguia entrar com o IP fixo no servidor mas entrava pelo 127.0.0.1 msm com o IP fixo no config.lua e dava certo, os outros players entravam pelo IP normalmente, testa ae. Caso ngm consiga entrar no seu server, o problema provavelmente é na liberação das portas no modem ou firewall.
  8. na pasta npc criar Historiador.xml ou entao outro nome de sua preferencia se for trocar tem que trocar no xml tbm, a msg inicial pode ser trocada aqui! <?xml version="1.0" encoding="UTF-8"?> <npc name="Historiador" script="historiador.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="17" body="54" legs="114" feet="0" addons="2"/> <parameters> <parameter key="message_greet" value="Ola Player voce gostaria de saber da {historia}?"/> </parameters> </npc> em scripts criar historiador.lua 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) -- By Vabrindox if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'historia') then -- By Vabrindox selfSay('Essa e a segunda msg que eu estou falando, para saber mais fale {Vabrindox}!', cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if msgcontains(msg, 'vabrindox') then selfSay('O vabrindox faz scripts noobs para os noobs, haha!', cid) talkState[talkUser] = 0 end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  9. function onStepIn(cid, item, position, fromPosition) local id,amount = 2160,1 if isPlayer(cid) and getPlayerItemCount(cid, id) < amount then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, 25, "Voce so pode passar se tiver " .. amount .. " " .. getItemNameById(id) .. ".") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end return true end
  10. Tenta isso ae e vê se da erro Tem esse link tbm caso n funcione:
  11. Ve se é isso que vc quer: local tempo = 10 local time = os.time() local storage = 17900 function CountDown(cid, segundos)-- By Vabrindox if segundos == 0 then return false else doPlayerSendCancel(cid, "Ainda restam: " .. segundos .." segundos.") doSendAnimatedText(getPlayerPosition(cid),'.' ..segundos.. '.',18) return addEvent(CountDown, 1000, cid, segundos-1) end end function onCastSpell(cid, var) local get_stg_value = getPlayerStorageValue(cid, storage) local segundos = getPlayerStorageValue(cid, storage) - time if get_stg_value <= time then setPlayerStorageValue(cid, storage, time + tempo) doPlayerSendTextMessage(cid, 27, "Usou") CountDown(cid, tempo) end end @Edit melhorei o script pq tava meio feio antes
  12. Se for sem item especifico para helmet, armor e etc, vc pode ir colocando por ex: and getPlayerSlotItem(cid, 1).itemid ~= 0 se o helmet for diferente de id 0 ele continua o script se não ele te teleporta de volta ao local anterior. if getPlayerSlotItem(cid, 2).itemid == id_item and getPlayerSlotItem(cid, 1).itemid ~= 0 and getPlayerSlotItem(cid, 4).itemid ~= 0 then e assim por diante, porem se for com item especifico vc vai precisar criar varias variaveis diferentes, por ex: local id_item2 = 2285 local id_item3 = 2345 e iria se aplicar assim: if getPlayerSlotItem(cid, 2).itemid == id_item and getPlayerSlotItem(cid, 1).itemid == id_item2 then teria que fazer de cada um tbm
  13. Não adianta pq vc só estaria fazendo um texto atoa sem poder puxar os atributos configurados ou então os slots, não tem nem o que adiantar.
  14. A real é que aquele codigo da uma grande ajuda para implementar a sua ideia, ele não é tão diferente como vc ta falando. Porém modifica-lo exatamente para a sua maneira ainda iria dar um trabalho e fazer uns testes in game, enfim, se eu tiver mais tempo e paciência outro dia eu faço, mas espero que alguém aqui do fórum te ajude antes. Obs: A parte do look é a mais simples o chato é o restante.
  15. O ideal é vc procurar um script desse encantamento aqui no tibia king ou em outro forum ae eu te ajudo na questão do look do item caso vc não encontre da maneira que vc quer. Procure no google "Slot System (tfs 1.1)" que vc vai encontrar o que vc quer pronto, só que vc precisa ter a versao 1.1 do tfs.

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...