Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 05/13/15 em todas áreas

  1. vai em data\globalevents\scripts cria um arquivo com nome parede_que_atira.lua coloca isso -- config by uotl£ -- distancia contando os quadros no chao ate chegar a parede resumo tamanho do raio -- lado_raio 1 ->> 2 <<-- 3 / \ 4 | -- | \ / effect = efeito pos = posição dano = porcentagem do dano local config = { {effect = 30,pos = {x = 143, y = 120, z = 7},distancia = 7,dano = 34,lado_raio = 3}, --{effect = 29,pos = {x = 131, y = 47, z = 7},distancia = 3,dano = 34,lado_raio = 2}, --{effect = 28,pos = {x = 131, y = 48, z = 7},distancia = 5,dano = 34,lado_raio = 3}, --{effect = 28,pos = {x = 131, y = 48, z = 7},distancia = 6,dano = 34,lado_raio = 4} } -- config by uotl£ function onThink(cid, interval, lastExecution) atirador () return true end function atirador () for sinal, valor in pairs(config) do for i = 1,valor.distancia do if valor.lado_raio == 1 then doSendMagicEffect({x = valor.pos.x+i, y = valor.pos.y, z = valor.pos.z},valor.effect) check = {x = valor.pos.x+i, y = valor.pos.y, z = valor.pos.z,stackpos=255} elseif valor.lado_raio == 2 then doSendMagicEffect({x = valor.pos.x-i, y = valor.pos.y, z = valor.pos.z},valor.effect) check = {x = valor.pos.x-i, y = valor.pos.y, z = valor.pos.z,stackpos=255} elseif valor.lado_raio == 3 then doSendMagicEffect({x = valor.pos.x, y = valor.pos.y-i, z = valor.pos.z},valor.effect) check = {x = valor.pos.x, y = valor.pos.y-i, z = valor.pos.z,stackpos=255} elseif valor.lado_raio == 4 then doSendMagicEffect({x = valor.pos.x, y = valor.pos.y+i, z = valor.pos.z},valor.effect) check = {x = valor.pos.x, y = valor.pos.y+i, z = valor.pos.z,stackpos=255} end tmp = getThingFromPos(check) if(tmp.uid ~= 0) then if isPlayer(tmp.uid) then -- se quer que attack os bichos usa esse "if isCreature(tmp.uid) then" p = (getCreatureMaxHealth(tmp.uid)/100)*valor.dano doCreatureAddHealth(tmp.uid, -p) doSendAnimatedText(getCreaturePosition(tmp.uid), math.ceil (p),145) end end end end end TAG em data\globalevents\globalevents.xml coloca isso <globalevent name="parede_que_atira" interval="5" event="script" value="parede_que_atira.lua"/> uma demostração em video
    3 pontos
  2. Furabio

    [TFS 1.X] /mute, /unmute

    data/talkactions/script/mute.lua TFS 1.1 : function onSay(cid, words, param) local CHANNEL_HELP = 7 local player = Player(cid) local storage = 456112 if words == "/mute" then local mute = param:split(",") if mute[1] == nil or mute[1] == " " then player:sendCancelMessage("Invalid player specified.") return false end if mute[2] == nil or mute[2] == " " then player:sendCancelMessage("Invalid time specified.") return false end local target = Player(mute[1]) local time = tonumber(mute[2]) local condition = Condition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT) condition:setParameter(CONDITION_PARAM_SUBID, CHANNEL_HELP) condition:setParameter(CONDITION_PARAM_TICKS, time*60*1000) if player:getAccountType() < ACCOUNT_TYPE_TUTOR then return false end if target == nil then player:sendCancelMessage("A player with that name is not online.") return false end if target:getAccountType() >= ACCOUNT_TYPE_TUTOR then player:sendCancelMessage("Only player can be mutated") return false end target:addCondition(condition) sendChannelMessage(CHANNEL_HELP, TALKTYPE_CHANNEL_R1, target:getName() .. " has been muted by " .. player:getName() .. " for using Help Channel inappropriately.") target:setStorageValue(storage, 1) return false end if words == "/unmute" then local remove = Player(param) if player:getAccountType() < ACCOUNT_TYPE_TUTOR then return false end if remove == nil then player:sendCancelMessage("A player with that name is not online.") return false end if remove:getAccountType() >= ACCOUNT_TYPE_TUTOR then return false end if remove:getStorageValue(storage) == 1 then remove:removeCondition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT, CHANNEL_HELP) sendChannelMessage(CHANNEL_HELP, TALKTYPE_CHANNEL_R1, remove:getName() .. " has been unmuted by " .. player:getName() .. ".") remove:setStorageValue(storage, -1) else player:sendCancelMessage("A player " .. remove:getName() .. "is not mutated") end end return false end em talkactions.XML, adicione : <talkaction words="/mute" separator=" " script="mute.lua" /> <talkaction words="/unmute" separator=" " script="mute.lua" /> Modo de usar : /mute ScreaM, 1 /unmute ScreaM
    3 pontos
  3. Testei aqui e funcionando 100% : local arena = { frompos = {x = 137, y = 380, z = 7}, topos = {x = 154, y = 403, z = 7}, } function isInRange(pos, fromPos, toPos) return pos.x >= fromPos.x and pos.y >= fromPos.y and pos.z >= fromPos.z and pos.x <= toPos.x and pos.y <= toPos.y and pos.z <= toPos.z end function onPrepareDeath(player, killer, mostDamageKiller) if player:isPlayer() and killer:isMonster() then local ppos = player:getPosition() if isInRange(ppos, arena.frompos, arena.topos) then player:teleportTo(player:getTown():getTemplePosition()) player:addHealth(player:getMaxHealth()) player:addMana(player:getMaxMana()) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You were killed by '.. killer:getName() ..'.') end end return true end function onLogin(player) player:registerEvent("MArena") return true end <event type="preparedeath" name="MArena" script="arquivo.lua"/> <event type="login" name="verf_MArena" script="arquivo.lua"/>
    2 pontos
  4. FLC

    FLC - Attempt to mapping - ShowOff

    Show Off :~ Dicas? Sugestões?
    1 ponto
  5. Krono

    [RESULTADO] SOTW #2

    Boa, parabéns aos participantes, no próximo irei participar, está um concurso muito disputado.
    1 ponto
  6. Furabio

    Dar Mount de Prêmio

    Teste : local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local xmsg = {} 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 local storage = 62003 local monsters = { ["Dragons"] = {storage = 5010, mstorage = 19000, amount = 10, exp = 5000, mount = 10}, ["Dragon Lords"] = {storage = 5011, mstorage = 19001, amount = 10, exp = 10000, mount = 20}, ["Hydras"] = {storage = 5012, mstorage = 19002, amount = 10, exp = 18000, mount = 30}, ["Demons"] = {storage = 5013, mstorage = 19003, amount = 10, exp = 20000, mount = 40} } local function Cptl(f, r) return f:upper()..r:lower() end function creatureSayCallback(cid, type, msg) local player, cmsg = Player(cid), msg:gsub("(%a)([%w_']*)", Cptl) if not npcHandler:isFocused(cid) then if msg == "hi" or msg == "hello" then npcHandler:addFocus(cid) if player:getStorageValue(storage) == -1 then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. ", " text = text .. ""..x.amount.." {"..k.."}" end end if n > 1 then npcHandler:say("I have several tasks for you to kill monsters"..text..", which one do you choose? I can also show you a {list} with rewards and you can {stop} a task if you want.", cid) npcHandler.topic[cid] = 1 xmsg[cid] = msg elseif n == 1 then npcHandler:say("I have one last task for you"..text..".", cid) npcHandler.topic[cid] = 1 else npcHandler:say("You already did all tasks, I have nothing for you to do anymore, good job though.", cid) end elseif player:getStorageValue(storage) == 1 then for k, x in pairs(monsters) do if player:getStorageValue(x.storage) == 1 then npcHandler:say("Did you kill "..x.amount.." "..k.."?", cid) npcHandler.topic[cid] = 2 xmsg[cid] = k end end end else return false end elseif monsters[cmsg] and npcHandler.topic[cid] == 1 then if player:getStorageValue(monsters[cmsg].storage) == -1 then npcHandler:say("Good luck, come back when you killed "..monsters[cmsg].amount.." "..cmsg..".", cid) player:setStorageValue(storage, 1) player:setStorageValue(monsters[cmsg].storage, 1) else npcHandler:say("You already did the "..cmsg.." mission.", cid) end npcHandler.topic[cid] = 0 elseif msgcontains(msg, "yes") and npcHandler.topic[cid] == 2 then local x = monsters[xmsg[cid]] if player:getStorageValue(x.mstorage) >= x.amount then npcHandler:say("Good job, here is your reward, ".. x.mount..".", cid) player:addMount(x.mount) player:addExperience(x.exp) player:setStorageValue(x.storage, 2) player:setStorageValue(storage, -1) npcHandler.topic[cid] = 3 else npcHandler:say("You didn't kill them all, you still need to kill "..x.amount -(player:getStorageValue(x.mstorage) + 1).." "..xmsg[cid]..".", cid) end elseif msgcontains(msg, "task") and npcHandler.topic[cid] == 3 then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. (n == 1 and "" or ", ") text = text .. "{"..k.."}" end end if text ~= "" then npcHandler:say("Want to do another task? You can choose "..text..".", cid) npcHandler.topic[cid] = 1 else npcHandler:say("You already did all tasks.", cid) end elseif msgcontains(msg, "no") and npcHandler.topic[cid] == 1 then npcHandler:say("Ok then.", cid) npcHandler.topic[cid] = 0 elseif msgcontains(msg, "stop") then local text, n = "", 0 for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then n = n + 1 text = text .. (n == 1 and "" or ", ") text = text .. "{"..k.."}" if player:getStorageValue(x.storage) == 1 then player:setStorageValue(x.storage, -1) end end end if player:getStorageValue(storage) == 1 then npcHandler:say("Alright, let me know if you want to continue an other task, you can still choose "..text..".", cid) else npcHandler:say("You didn't start any new task yet, if you want to start one, you can choose "..text..".", cid) end player:setStorageValue(storage, -1) npcHandler.topic[cid] = 1 elseif msgcontains(msg, "list") then local text = "Tasks\n\n" for k, x in pairs(monsters) do if player:getStorageValue(x.mstorage) < x.amount then text = text ..k .." ["..(player:getStorageValue(x.mstorage) + 1).."/"..x.amount.."]:\n Rewards:\n ".. x.mount .."\n "..x.exp.." experience \n\n" else text = text .. k .." [DONE]\n" end end player:showTextDialog(1949, "" .. text) npcHandler:say("Here you are.", cid) elseif msgcontains(msg, "bye") then npcHandler:say("Bye.", cid) npcHandler:releaseFocus(cid) else npcHandler:say("What?", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) a identação ficou bem bugada por causa que usei o ident automático no script sem identação... em : ["Dragons"] = {storage = 5010, mstorage = 19000, amount = 10, exp = 5000, mount = 10}, mount = ID DA MOUNT
    1 ponto
  7. Bruno

    Adicionar item para todos players online

    Esta função: doBroadcastMessage(getPlayerName(cid) .. " Acabou de dar: " .. t[2] .." ".. getItemNameById(t[1]) .. " para todos os players online!") Está dentro do looping, ou seja, se tiver 1000 players online ele vai dar 1000 Broadcast Messages certo? Uma dica rápida: if i == 1 then doBroadcastMessage(getPlayerName(cid) .. " Acabou de dar: " .. t[2] .." ".. getItemNameById(t[1]) .. " para todos os players online!") end
    1 ponto
  8. última vez kk, troque o skills.lua por esse:
    1 ponto
  9. AdilsonHacker

    Paralyze

    Tenta: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 7000) setConditionFormula(condition, -0.3, 0, -0.3, 0) setCombatCondition(combat, condition) function onCastSpell(cid, var) setPlayerStorageValue(cid, 12019, 1) addEvent(setPlayerStorageValue, 500, cid, 12019, -1) if(not doCombat(cid, combat, var)) then return false end doSendMagicEffect(getThingPosition(cid), CONST_ME_MAGIC_GREEN) return true end
    1 ponto
  10. Olha, peço gentilmente que evite estes tipos de resposta em tópicos, para evitar discussões. Você não reportou, porém, de acordo com o post aqui no tópico, foi este procedimento que você tomou, por isso utilizei o termo. Quando você for reportar um post, um erro, ou algo do tipo, não precisa de um post para descrever qual procedimento foi tomado, simplesmente reporte. Que fique claro, pois já é a terceira vez que estou falando com você sobre isso.
    1 ponto
  11. troque o seu skills.lua por esse:
    1 ponto
  12. Troque a pasta por essa aqui: game_skills.rar
    1 ponto
  13. bladeplays

    FusionPoke Open Beta Test!

    Obrigado ! Cara eu só acho que o servidor não tem culpa do seu PC seu um Lap-Top da XUXA ! Enquanto a pesca eu irei resolver isto ! (Eu coloquei no site um Executável OpenGL para quem usa X-Pad poder Jogar)
    1 ponto
  14. Wend ll

    [Encerrado] Nto ;c

    Era mais fácil ter procurado na seção de derivados mais olha alguns servidores de narutibia ai: http://www.xtibia.com/forum/topic/218893-nto-makita-sky-854/ http://www.xtibia.com/forum/topic/174203-854-naruto-seven-client-descompilado-download/ http://www.xtibia.com/forum/topic/233023-naruto-legend-v30/ http://www.xtibia.com/forum/topic/222037-nto-crysis-online/ http://www.xtibia.com/forum/topic/201810-854-naruto-legend-v20-novo-mapa-com-teleports/ http://www.xtibia.com/forum/topic/229043-nto-shippuden-854/ http://www.xtibia.com/forum/topic/206060-854-nto-robinhood-copia-do-ntoshinobi/ basta você escolher a base que lhe agradar mais ^^ Resolvido? se sim clique em melhor resposta para que tag seja adicionada automaticamente.
    1 ponto
  15. Wend ll

    [Erro] Rme

    Baixe esse RME aqui: http://www.4shared.com/rar/mflKTWO3ba/Remeres_Map_Editor.html? depois que baixar extraia para a sua área de trabalho, abra a pasta e localize o RME.exe e execute ele já com o RME aberto vá em file\preferences\client version desmarque todas as caixinhas e só deixe a extende marcada, logo abaixo procure Version 8.54 search path e clique em browse, vá na pasta do RME e clique na pasta Tibia 8.54. Feito isso só clicar em Apply e da Ok! pronto agora só ir em file\open e procura a pasta wolrd do seu servidor e seleciona o PokexCyan.otbm ^^
    1 ponto
  16. não achei erro ai já verificou se nome do bicho é mesmo do arquivo.xml exemplo data\monster\Dragons\Dragon Lord.xml nome é Dragon Lord dentro do arquivo ta <?xml version="1.0" encoding="UTF-8"?> <monster name="Dragon Lord" nameDescription="a dragon lord" race="blood" experience="2100" speed="240" manacost="0"> <health now="1900" max="1900"/> <look type="39" corpse="5984"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> nesse caso estaria certo verifica se não tem uma letra maiúsculas q no nome do arquivo.xml dos monster não tem
    1 ponto
  17. notle2012

    CHAR morre quando loga

    não entendi quando player morre nasce no mesmo lugar que morreu e morre de novo pro bixo e nasce e morre talvez isso resolve data\creaturescripts\scripts\login.lua coloca em baixo de function onLogin(cid) local posicao_do_jogador = {x = 160, y = 54, z = 7} doTeleportThing(cid,posicao_do_jogador,true) e mudar posicao_do_jogador de onde ele vai volta
    1 ponto
  18. notle2012

    Atributo de uma Vocaçao

    pra fazer isso é em data\movements\movements.xml e editar algo assim <movevent type="Equip" itemid="8904" slot="shield" level="70" event="function" value="onEquipItem"> <vocation id="1"/> <vocation id="5" showInDescription="0"/> <vocation id="2"/> <vocation id="6" showInDescription="0"/> </movevent> <movevent type="DeEquip" itemid="8904" slot="shield" event="function" value="onDeEquipItem"/> em vocation id você edita qual vocations pode usa tal item não sei se tem modo mais rápido de fazer isso em script lua
    1 ponto
  19. veja se isso te ajudaria http://www.xtibia.com/forum/topic/233879-estatua-que-joga-raio-by-notle/
    1 ponto
  20. Wend ll

    FusionPoke Open Beta Test!

    Só posso desejar boa sorte, que fique online por muito e muito tempo
    1 ponto
  21. function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) local from,to = {x = 154, y = 68, z = 7},{x = 160, y = 70, z = 7} if isPlayer(cid) and isMonster(lastHitKiller[1]) and isInRange(getCreaturePosition(cid), from, to) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doCreatureAddHealth(cid, getCreatureMaxHealth(cid), 65535, 256, true) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doRemoveConditions(cid, false) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce saiu da arena.") return false end return true end
    1 ponto
  22. Wend ll

    FusionPoke Open Beta Test!

    Eu estava editando ele para colocar online mais tive uns problemas com os estudos e parei :\ e ele ainda não estava totalmente bom para por online porque ainda faltava ns sistemas e modificações ^^
    1 ponto
  23. Oque são as source? Source é todo o codigo fonte de seu trabalho/projeto, é lá onde fica todos os codigos utilizados para executar uma ação/função. Todo programa/jogo é escrito por um programador e esse programador deve escrever na linguagem de computador em uma ide para depois compilar e virar binário. Todo o código que o programador escreve, se chama source ou em portugues, código fonte. Não é obrigatório você mecher com a source de um otserv se você não tem domínio de programação. Pode continuar seu servidor normalmente baixando os arquivos data,executavel e dll. Como abrir uma source para editar? Como os códigos são apenas textos podemos abrir-los em um editor de texto normal, porem para facilitar o trabalho do programador usamos IDE, o mais popular no mundo dos otservs, Dev-cpp. Qualquer melhor servidor de poketibia para projeto? Como você já sabe, servidores sem source não presta então nem pense em usar PDA para projeto sério porq não vai durar uma semana já um servidor com source é diferente, claro que é difícil aprender a mexer nos arquivos da source mais só basta querer aprender. ai vai alguns servidores de poketibia com source: http://www.xtibia.com/forum/topic/233718-erondino-v17-bpo-open-source/ http://www.xtibia.com/forum/topic/233665-pokemon-imperium-open-source/ http://www.xtibia.com/forum/topic/232971-erondino-v16-bpo-open-source/ http://www.xtibia.com/forum/topic/232978-pokemon-dash-20-source/ http://www.xtibia.com/forum/topic/233057-pda-pokemon-dash-advanced-open-source-2015/ http://www.xtibia.com/forum/topic/232976-pna-pokemon-new-age-open-source/ http://www.xtibia.com/forum/topic/229673-pfield-project-open-source/ http://www.xtibia.com/forum/topic/230011-brpokeot-open-sources/ http://www.xtibia.com/forum/topic/222270-pokemon-online-x-com-sources/
    1 ponto
  24. victormoaz

    Dive System (Super Básico)

    Olá, Existem vários sistemas de dive por Talkaction, eu sinceramente acho fraco o rpg quando se usa Talkaction. Assim resolvi fazer por Action. Primeiramente vou explicar como é: O sistema nada mais é do que fazer com que o player que precisa estar surfando possa ir para baixo d'agua. No caso do meu script, o player precisa estar surfando e portando um determinado item (mascara de oxigenio). Segue o Script: Salve em um bloco de notas na pasta data/actions/scripts o script abaixo com o nome mascara.lua explicando: De vermelho é o id do item (mascara de oxigenio) que o player precisa ter na bag para poder dar dive. No arquivo data/actions/Actions.xml adicione a seguinte tag. explicando: O numero na cor verde é o id do item (redemunho), o qual deve ser colocado no mapa na água acima do local onde é undewater. O Sistema funciona assim: Estando em Surf e com a Mascara de Oxigenio, basta dar use no Redemonho que será teleportado para a waypoint do script (cave). obs.: É necessário que adicione uma escada ou espaço para rope, para que o player volte para a água (saindo do dive). IMAGEM: Creditos: BobStriker - 100% Fiz o script do 0 (zero) e muito rápido. Pode estar bem simples, mas é funcional. Duvidas e Sugestões, Comentem. att.
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...