Ir para conteúdo

bagolas

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    bagolas deu reputação a ViitinG em [Sistema] Castle Guild   
    script testado em TFS 0.3.6 Crying Dansom
    Créditos: 100% Draky Lucas

    Provavelmente funcionará em qualquer versão acima de 8.54, ja abaixo eu nao confirmo mais não custa testar

    Como funciona?
    o ADM digita !war open para ativar a war, e !war close na hora de terminar a war.
    A Ultima guild que puxar a alavanca antes de terminar a war é considerada a vencedora do evento.

    Vamos começar:


    Atualizado: corrigido erro pelo Demonbholder [dava só em alguns pois eram desatualizados]
    em data/lib/050-functions.lua ache a função isInArea, deletem-la e substituam-la por essa:
    function isInArea(arr, arr1, arr2) if (arr.x <= arr1.x and arr.x >= arr2.x) or (arr.x >= arr1.x and arr.x <= arr2.x) then if (arr.y <= arr1.y and arr.y >= arr2.y) or (arr.y >= arr1.y and arr.y <= arr2.y) then if (arr.z <= arr1.z and arr.z >= arr2.z) or (arr.z >= arr1.z and arr.z <= arr2.z) then return TRUE end end end return FALSE end em Data/actions/scripts/ crie um arquivo chamado castlewar-action.lua e nele coloque isto :
    local storage = 1755 local emGuerra = 1756 function onUse(cid, item, frompos, item2, topos) if getPlayerGuildId(cid) == nil or getPlayerGuildId(cid) <= 0 or getPlayerGuildId(cid) == false then return doPlayerSendCancel(cid,"Voce precisa de uma guild para dominar o castelo!") end if getGlobalStorageValue(emGuerra) <= 0 then return doPlayerSendCancel(cid,"O Castelo nao está em guerra!") end if getPlayerGuildId(cid) == getGlobalStorageValue(storage) then return doPlayerSendCancel(cid,"Sua guild ja está dominando o castelo!") end setGlobalStorageValue(storage,getPlayerGuildId(cid)) doBroadcastMessage("A Guild ".. getPlayerGuildName(cid) .." dominou o castelo!",22) return true end Não mude nada a não ser que não saiba o que esteja fazendo!


    em Data/actions/actions.xml coloque isso:
    <action actionid="1755" script="castlewar-action.lua" /> em data/movements/scripts/ crie um arquivo chamado castlewar-movements.lua e coloque isso:
    local storage = 1755 local emGuerra = 1756 function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getGlobalStorageValue(storage) == getPlayerGuildId(cid) then return true end if getGlobalStorageValue(emGuerra) == 1 then return true else doTeleportThing(cid,fromPosition,false) return doPlayerSendCancel(cid,"Por favor espere a batalha começar!") end return true end em data/movements/movements.xml coloque isso:
    <movevent type="StepIn" actionid="1756" event="script" value="castlewar-movements.lua"/> em data/talkactions/scripts/ crie um arquivo chamado castlewar-talk.lua e coloque isso:
    local storage = 1755 local emGuerra = 1756 local firstpos = {x = 582,y = 1290,z = 7} local secondpos = {x = 802,y = 1490,z = 0} function onSay(cid, words, param) if param == "open" then setGlobalStorageValue(emGuerra,1) doBroadcastMessage("A Guerra pelo castelo começou!",22) return true elseif param == "close" then for _, pid in ipairs(getPlayersOnline()) do if isInArea(getCreaturePosition(pid),firstpos,secondpos)then if getGlobalStorageValue(storage) ~= getPlayerGuildId(pid) then doTeleportThing(pid,getTownTemplePosition(getPlayerTown(pid))) doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_BLUE,"Desculpe mas sua guild não venceu essa guerra!") else doPlayerSendTextMessage(pid,MESSAGE_STATUS_CONSOLE_BLUE,"Sua guild conseguio dominar o castelo. Parabens por ajuda-la!") end end end setGlobalStorageValue(emGuerra,0) doBroadcastMessage("A Guerra pelo castelo terminou!",22) else return doPlayerSendCancel(cid,"Digite !war open[inicia a guerra] ou !war close[terminaa guerra]") end return true end local firstpos = {x = 582,y = 1290,z = 7}
    local secondpos = {x = 802,y = 1490,z = 0}
    ./\ edite essa parte com forme no tutorial das SS's
     
    e em data/talkactions/talkactions.xml adicione isso:
    <talkaction log="yes" words="!war" access="5" event="script" value="castlewar-talk.lua"/> Tutorial: MAPA

    Preencha todo o castelo com PVP TileZone, exceto a parte de caça para a guild dominante [que deverá ficar no subsolo do castelo]

    Depois siga o mapinha [nao zoapq fiz em 2 min pa demonstrar kpoekopkepo...]

    SS1: Castelo inteiro [nao zoa plz kkk]
    Resto de instalações:



    OBS : Script completo retirado de outro fórum por DrakyLucas.
     
    Creditos : DrakyLucas 100%.
  2. Gostei
    bagolas deu reputação a ViitinG em Teleport Scroll System   
    Para quem não sabe como funciona o script : Ao dar use em um item writable no caso 1949(configurável),você pode escrever o local que deseja ser teleportado e clicar em OK para ser teleportado para o local,ao ser teleportado o player deve esperar 30 segundos(configurável) para usar novamente o Teleport Scroll.
    (Testado em 0.3.6 [8.54] e ultima REV da TFS [9.1])
     


    Exemplo :
    Para você ser teleportado para o trainers,basta escrever Trainers e clicar em OK.

    Clicando em OK você será teleportado para os trainers e terá que esperar 30 segundos para usar o Teleport Scroll novamente.
     

    •   Adicionando o script   •
     
    "data/creaturescripts/scripts/tsviiting.lua" :
    local t = { ["Temple"] = {pos = {x = 1000, y = 1000, z = 7}, storage = 79402, time = 30}, ["Teleports"] = {pos = {x = 2000, y = 2000, z = 7}, storage = 79402, time = 30}, ["Trainers"] = {pos = {x = 3000, y = 3000, z = 7}, storage = 79403, time = 30} } function onTextEdit(cid, item, newText) if item.itemid == 1949 then if isPlayerPzLocked(cid) then doCreatureSay(cid, "Voce esta com battle!", TALKTYPE_MONSTER) return false end if isInArray({'locations', 'places', 'place'}, newText) then local i = '' for text, x in pairs(t) do i = i .. "\n[" .. text .. "]" end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Locais de teleportes: " .. i) else local p = t[newText] if not p then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Local invalido") return false end local st = p.storage if getCreatureStorage(cid, st) > os.time() then doCreatureSay(cid, "Voce precisa esperar " .. getCreatureStorage(cid, st) - os.time() .. ' segundo(s)' .. (getCreatureStorage(cid, st) - os.time() == 1 and "" or "s") .. " para teleportar novamente.", TALKTYPE_MONSTER) return true end local ti = p.time local pos = p.pos doTeleportThing(cid, pos, true) doSendMagicEffect(pos, CONST_ME_TELEPORT) doCreatureSetStorage(cid, st, os.time() + ti) doCreatureSay(cid, "Voce foi teleportado!", TALKTYPE_MONSTER) end end return true end  
    "data/creaturescripts/creaturescripts.xml" :
    <event type="textedit" name="TSViitinG" event="script" value="tsviiting.lua"/> "data/creaturescripts/scripts/login.lua" :

    registerCreatureEvent(cid, "TSViitinG") Creditos : J.Dre / Sonik / Fallen / Shinmaru / ViitinG
     
    • Configurando •
     
  3. Gostei
    bagolas deu reputação a dezon em Shop Admin Gesior 2012 (TFS 0.3.6 ~ 0.4, 1.0)   
    [+] Shop Admin Gesior 2012 (TFS 0.3.6 ~ 0.4, 1.0) [+]
    [+] Nova versão 2015 [+]
     
    Olá pessoal!

    Quero apresentar a mais nova versão do meu script para administrar Web Shop do Gesior 2012.

    [+] O que tem de novo?:
    O script foi revisado; Comentado as principais partes; Escrito algumas funções e ações novas; Revisado anti-inject; Agora você pode adicionar pontos para quem fizer doação; De uma forma geral, foi revisado de cabo à rabo ! [+] Imagens:

    [+] Galeria de imagens online
    http://postimg.org/gallery/1ssnwbf1i/

    [+] Instalação:
    Basta você ter o Gesior 2012 instalado junto aos scripts LUA de shop do mesmo; Ter o banco de dados instalado e um servidor TFS 0.3.6+, TFS 1.0, 1 rodando também.

    + Vá na pata {seu_web_server}\www ou htdocs\pages\ e renomeie o arquivo 'shopadmin.php' para 'shopadmin.php.old';
    + Faça download do script novo e cole na pasta que citei à cima;
    + Faça download desse arquivo http://item-images.ots.me/items_images_1076.zip;
    + Copie e cole a pasta que vem dentro desse arquivo e cole na pasta {seu_web_server}\www ou htdocs\images\ ficando assim {seu_web_server}\www ou htdocs\images\items\ e dentro dessa pasta as imagens dos itens do tibia;
    + Pronto!

    [+] Download:
    http://www.mediafire.com/view/z62d9zxylpg36dz/shopadmin.php

    [+] Scan:
    https://www.virustotal.com/pt/file/c06a2f7e1c1909b34f4dee2a7c27930a6c7cad1882edfcdf101689b0b61899d9/analysis/1399682407/
     
    [+] ATENÇÃO: Bug encontrado:
    Na realidade o shopadmin.php desenvolvido por mim, não contém bug's, ele faz o registro das ofertas corretamente, o que eu não consegui consertar foi o data/globalevents/scripts/others/shop.lua.
    Ele não consegue criar o container e adicionar os itens dentro desse container da oferta cadastrada, exemplo: se você criar uma BP de SD, dá o seguinte erro:
    Lua Script Error: [GlobalEvent Interface] data/globalevents/scripts/others/shop.lua:onThink LuaScriptInterface::luaPlayerAddItemEx(). Item not found stack traceback: [C]: in function 'addItemEx' data/lib/compat/compat.lua:363: in function 'doPlayerAddItemEx' data/globalevents/scripts/others/shop.lua:50: in function <data/globalev ents/scripts/others/shop.lua:7> Claro que estou correndo atrás de resolver esse problema, mas se por um acaso alguém tiver a solução, peço que por gentileza, poste aqui que darei os devidos créditos!
     
     
    [+] Como adicionar items?
    Para adicionar items ao shopping é muito fácil, basta você seguir igual eu postei nas fotos a configuração, respeitando o ID do item, Quantidade, o Tipo da oferta e etc, assim você enviará uma nova oferta para o seu site.

    Para adicionar uma oferta do tipo Container (Bp, Bag, etc) é fácil também, basta você preencher como na imagem à seguir:


    [+] Explicando:
    Coloque o 'Nome' da oferta. Insira uma 'Descrição' para essa oferta. Diga a quantidade de 'Premium points' necessários. Selecione o tipo da oferta: 'Item' ou 'Container'. Coloque o 'ID Item 1' à ser vendido, caso seja um item normal: armadura, espada, etc. Preencha a 'Qtde. Item 1' que o player irá receber quando comprar essa oferta. Deixe em branco 'ID Item 2' e 'Qtde. Item 2'. Caso seja BP, selecione o tipo para 'Container', no 'ID Item 1' coloque o Id da BP. Em 'Qtde. Item 1' você deve colocar a quantidade para cada item dentro do container, exemplo: se for BP de Runa, para preencher a BP você terá um total de 20 slots preenchidos pela quantidade de runas do 'Qtde. Item 2', então coloque 20, pois representa a quantidade de slots dentro do container. Agora em 'ID Item 2' você coloca o ID da Runa ou do item que você está vendendo dentro do container. Preencha a 'Qtde. Item 2' com a quantidade para cada slot do container que você está vendendo. Clique em salvar. Pronto, adicionado! [+] Isso é necessário:
    Lembrando que você precisa estar já com os scripts em lua funcionando corretamente do sistema de shop do Gesior 2012, você pode encontrá-los aqui: http://otland.net/threads/gesior2012-items-shop-installation-administration.170654/

    Obrigado à todos!!!

Informação Importante

Confirmação de Termo