Ir para conteúdo

Wise

Membro
  • Registro em

  • Última visita

Solutions

  1. Wise's post in (Resolvido)(SPELL) Puxando Target Pra Perto Do Player was marked as the answer   
    pulltarget.lua (data/spells/scripts):
    function onCastSpell(cid, var)     local pos = getClosestFreeTile(cid, getCreaturePosition(cid), false)         if not pos then             doPlayerSendCancel(cid, "There's no room to pull the target.")         end              doTeleportThing(variantToNumber(var), pos)     doSendMagicEffect(variantToNumber(var), CONST_ME_TELEPORT)     return true end

    Tag - spells.xml (data/scripts):
    <instant name="INSTANTSPELLNAME" words="SPELLNAME" lvl="100" mana="1000" aggressive="1" range="7" blockwalls="1" needtarget="1" exhaustion="1500" needlearn="0" event="script" value="pulltarget.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> </instant>
  2. Wise's post in (Resolvido)[PEDIDO]Talkaction 8.54 was marked as the answer   
    buyvoc.lua (data/talkactions/scripts):
    local tab = { [1] = {item = {1234, 5}}, -- [vocid] = {item = {itemid, count}}, [2] = {item = {1234, 5}}, [3] = {item = {1234, 5}} } function onSay(cid, words, param, channel)     local p = string.explode(param, " ")              if(param == "") then             return doPlayerSendCancel(cid, "Enter the vocation number that you want to buy.")         end                      if not (tab[tonumber(p[1])]) then                 return doPlayerSendCancel(cid, "Vocation not found.")             end                      if(p[2]) then             return doPlayerSendCancel(cid, "Invalid parameter specified.")         end              if(tonumber(p[1])) then         if(doPlayerRemoveItem(cid, tab[tonumber(p[1])].item[1], tab[tonumber(p[1])].item[2]) == true) then             doPlayerSetVocation(cid, tonumber(p[1]))             doSendMagicEffect(getThingPos(cid), CONST_ME_GIFT_WRAPS)             doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You bought a new vocation!!")         else             doPlayerSendCancel(cid, "You need "..tab[tonumber(p[1])].item[2].." "..getItemNameById(tab[tonumber(p[1])].item[1]).." to buy this vocation.")         end     end          return true end

     
    Tag - talkactions.xml (data/talkactions):
    <talkaction words="!buyvoc" event="script" value="buyvoc.lua"/>
     
    Parâmetro de uso:

    !buyvoc number

    Ex: !buyvoc 3
  3. Wise's post in (Resolvido)[PEDIDO] Script comando /servesave was marked as the answer   
    Script de talkaction padrão da maioria dos servidores..


    serversave.lua (data/talkactions/scripts):
    local savingEvent = 0 function onSay(cid, words, param, channel) if(isNumber(param)) then stopEvent(savingEvent) save(tonumber(param) * 60 * 1000) else doSaveServer() end return true end function save(delay) doSaveServer() if(delay > 0) then savingEvent = addEvent(save, delay, delay) end end


    tag - talkactions.xml (data/talkactions):
    <talkaction log="yes" words="/serversave" access="4" event="script" value="serversave.lua"/>
  4. Wise's post in (Resolvido)Delay em scripts was marked as the answer   
    Você pode usar um addEvent para que execute uma função após um período de tempo estipulado (delay em milissegundos).
    Dê uma olhada nesse tutorial, deve te ajudar.
  5. Wise's post in (Resolvido)Tile ou teleport que manda o player para sua cidade de origem was marked as the answer   
    towntile.lua (data/movements/scripts):
    function onStepIn(cid, item, pos, fromPos) if isPlayer(cid) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você foi teleportado para a cidade onde você reside.") end     return true end

    tag no movements.xml (data/movements):
    <movevent type="StepIn" actionid="ACTIONID" event="script" value="towntile.lua"/> Corrigi 1 erro de auto-complementar do meu corretor que trocou uma palavra importante..pronto, taí.
  6. Wise's post in (Resolvido)[Pedido] Script de porta! Alguem poderia me ajudar! was marked as the answer   
    lvldoor.lua (data/actions/scripts):
    function onUse(cid, item, fromPos, item2, toPos)     lvl = 1000          if getPlayerLevel(cid) >= lvl then         doTeleportThing(cid, toPos)         doSendMagicEffect(fromPos, CONST_ME_MAGIC_BLUE)     else         doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Você precisa de level '..lvl..' para poder abrir a porta.')         doSendMagicEffect(fromPos, CONST_ME_POFF)     end     return true end

     
    Adicione a tag ao arquivo actions.xml (data/actions):
    <action actionid="ACTIONID" event="script" value="lvldoor.lua"/>  
  7. Wise's post in (Resolvido)[Pedido] Comando (URGENTE) was marked as the answer   
    portalevento.lua
    local appear = {x=123, y=456, z=7, stackpos=253} local destination = {x=123, y=456, z=7, stackpos=253} local gsto = 34567 function onSay(cid, words, param, channel) local e = getTileItemById(appear, 1387)     if param == "" then         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite !evento on - para criar um portal para o evento e !evento off - para deletar o portal do evento.")     return 1     end         if param == "on" and getGlobalStorageValue(gsto) < 1 then             setGlobalStorageValue(gsto, 1)             doCreateTeleport(1387, destination, appear)             broadcastMessage("O portal para a Área de Eventos foi aberto!", MESSAGE_STATUS_WARNING)         else             doPlayerSendCancel(cid, "Já há um Evento em andamento, desative-o para poder iniciar outro.")         end     if param == "off" and getGlobalStorageValue(gsto) > 0 and e then         setGlobalStorageValue(gsto, -1)         doRemoveItem(e.uid, 1)         broadcastMessage("O portal para a Área de Eventos foi fechado pelo Administrador!", MESSAGE_STATUS_WARNING)     else         doPlayerSendCancel(cid, "Não há nenhum Evento em andamento.")     end return 1 end

     
    tag (talkactions.xml):
    <talkaction log="yes" words="!evento" access="4" event="script" value="portalevento.lua"/>
    Parâmetros
    !evento on
    !evento off


    Não testei

     
    local appear = onde o portal será criado
    local destination = para onde o portal leva
  8. Wise's post in (Resolvido)[Pedido 3x] NPC,Mapa,Distro was marked as the answer   
    Paisagista.xml
    <?xml version="1.0" encoding="UTF-8"?> <npc name="Paisagista" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="121" head="0" body="0" legs="0" feet="0" addons="0"/> </npc>

     
    Informante.xml
    <?xml version="1.0" encoding="UTF-8"?> <npc name="Informante" script="data/npc/scripts/informante.lua" walkinterval="3000" floorchange="0"> <health now="100" max="100"/> <look type="292" head="0" body="0" legs="0" feet="0"/> <parameters> <parameter key="message_greet" value="Ola |PlayerName|! Bem vindo a loja de points, aqui voce podera comprar coisas com points. Diga {mais}! " /> <parameter key="message_decline" value="Goodbye!" /> <parameter key="module_keywords" value="1" /> <parameter key="keywords" value="mais;premium;ofertas" /> <parameter key="keyword_reply1" value="Quer saber sobre, novas {ofertas} ou {premium} account?" /> <parameter key="keyword_reply2" value="Para comprar premium account diga !buypremium e pronto, lembre-se de que voce comprara premium com dinheiro e nao com points." /> <parameter key="keyword_reply3" value="Novas ofertas surgirao com o tempo." /> </parameters> </npc>

     
    informante.lua (data/npc/scripts):
    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 npcHandler:addModule(FocusModule:new())
     
    Sobre o baú móvel e pegável:
    Você vai precisar dos programas ObjectBuilder e Item Editor. Após ter feito o download deles e etc:



    Item Editor
    1) Vá até a o diretório onde você instalou seu ItemEditor e crie uma pasta com a número da versão do seu tibia.spr/tibia.dat do seu client. Por exemplo, se for 8.54, crie uma pasta nomeada por: 854 e cole o .dat e .spr nela.
    2) Abra o Item editor, aperte CTRL+O e selecione o items.otb do seu servidor (data/items).
    3) Os dados serão carregados..em seguida, procure pelo ID/sprite do item que você deseja alterar os atributos (no lado esquerdo <) e selecione ele.
    4) No lado direito > aparecerão todos os dados do item selecionado. Em Attributes, apenas deixe marcadas as opções Unpassable, Block Pathfinder e Has Elevation (dessa forma, eles não poderam pegar o item/movê-lo/passar sobre ele/etc, e o item terá uma elevação caso seja sobreposto em algum outro item).
    5) Salve a edição (CTRL+S).




    Object Builder
    1) Abra o programa, aperte CTRL+O, selecione pela pasta com os arquivos do seu client descompactados e clique em Load.
    2) Depois que os dados carregarem, no lado < esquerdo procure onde está "Items", pela sprite/ID do item que você quer alterar as propriedades.
    3) Após encontrar o item desejado, clique duas vezes sobre a imagem dele ou clique com o botão direito do mouse e em seguinda clique sobre Edit.
    4) Clique na aba Properties e deixe marcadas apenas as opções Has Elevation, Container e Block Pathfinder.
    5) Compile (CTRL+S).




    O erro é no mapa, você provavelmente não deve ter feito a "entrada" de algumas houses, como indicam os erros no distro.
    Após você ter posto todos os sqms do interior da house, você precisa clicar em Select Exit (na aba House Palette) e selecionar o sqm em frente a porta da house, que irá ficar como se um fluído tivesse caído ali. Criando essas "entradas" das houses que o distro acusou como não definidas, você conseguirá resolver os erros.
    Dá uma olhada nesse tutorial aqui, talvez ajude.


    Não testei nada, mas espero que ajude
  9. Wise's post in (Resolvido)Mudar efeito da wand was marked as the answer   
    mas que demônio.. local ef, sh, dmg = CONST_ME_SOUND_BLUE, CONST_ANI_SMALLICE, COMBAT_ICEDAMAGE function onUseWeapon(cid, var) min, max = 500, 700 target = getCreatureTarget(cid)     if target ~= 0 then         doSendDistanceShoot(getThingPos(cid), getThingPos(target), sh)         addEvent(doAreaCombatHealth, 100, cid, dmg, getThingPos(target), 0, -min, -max, ef)     end return 1 end
  10. Wise's post in (Resolvido)Efeito Visual do Outfit was marked as the answer   
    Você poderá ver o nome do arquivo Lua no fim da tag. Pegue o script dentro dele e poste aqui.
    Aliás, você quer removê-lo..então basta retirar as tags que contenham o nome do arquivo Lua desse script do seu creaturescripts.xml
    Acredito que o outro que você citou, de adicionar atributos com determinado outfit full, não tem nada a ver com esse outro. Então se você remover, o seu script de atributos irá continuar executando normalmente no seu servidor.

    Editei a resposta anterior..basta retirar as tags para desativá-lo, amigo.
     

    E pelo que vi..deve ter uma segunda tag além dessa que citei acima, acredito que deve ter uma expecífica pra função onLogin.
    Então..não se esqueça de retirá-la também.

Informação Importante

Confirmação de Termo