Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. zipter98

    Trader NPC

    Olá, O propósito principal desse NPC é facilitar a vida de quem quer fazer NPCs "traders". A configuração é muito fácil, e também há mais interação entre player-NPC (não, esse NPC não é por janelinha de trade). Você pode configurar a moeda usada nas negociações, os items que o NPC vende, e os que compra. Também há opções de ver as ofertas, e vender todas as unidades de determinado item apenas dizendo "all". Com esse NPC, também é poupado tempo, pois, ao invés de ir comprando/vendendo de 100 em 100 unidades de tal item, ou ficar ajustando a "barra de rolagem" para a quantidade desejada, você pode simplesmente digitar a quantidade (podendo comprar/vender, por exemplo, 400 unidades do item de uma vez!). Opções de fala: offers/buy/sell. Neste último, há a opção "all" para vender todas as unidades do item. Testei esse NPC várias vezes, e todos os bugs que apareceram foram corrigidos. Porém, se vocês encontrarem algum que deixei passar, postem aqui. As configurações estão indicadas no script, e, como mencionado antes, é MUITO fácil configurar o NPC. Vá em data/npc/scripts, crie um arquivo com extensão .lua, nomeie-o tradernpc, e coloque o seguinte conteúdo: XML: <?xml version="1.0" encoding="UTF-8"?> <npc name="Trader" script="tradernpc.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="523" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|, I {sell} and {buy} items. Do you want to see my {offers}?"/> </parameters> </npc> #EDIT, 08/12/2013, 21:42. Agora, ao dizer offers é dito pelo NPC o quê é configurado no "o que o player deverá falar". Assim, são evitadas confusões que poderiam haver antes, como, por exemplo, o nome do item dito no offers sendo pokemon prize box +4, e estando configurado para ser dito pelo jogador box 4. #EDIT, 22/01/2014, 17:02. Agora, você pode escolher a quantidade máxima que o jogador poderá comprar/vender. Também foi corrigido alguns erros no NPC. PS: Obrigado ao lordbug99 por indicá-los. #EDIT, 29/01/2014, 18:08. Para corrigir alguns bugs, foi adicionada ao código uma nova função. Foram também corrigidos alguns erros que poderiam ser causados no all, juntamente com a correção de uma maneira de conseguir comprar/vender uma quantia maior de items que a programada.
    2 pontos
  2. markindoot

    Sprites free for use

    Fala Galera do Xtibia tenho aki algumas sprites que fiz para quem quiser usar: Carl TWD : Pokemon Dialga incompleto : Grande Bills DBZ : Namorada do Gleen do TWD : Mini Bruxo : 2 Espadas : Outfit jason Incompleto : Outfit Com Mascara de Gaz Incompleto e parede : sao só esses ai em breve eu faço mais para uso livre =D abraços. @edit adicionei mais algumas sprites, em breve adiciono mais =D
    2 pontos
  3. Vampiresco

    Perfecttibia 9.81

    Offline meu amigo, offline......
    2 pontos
  4. Opa, área incorreta. Quando seu pedido for relacionado à servidores derivados (como pokémon, naruto, etc), opte por postar na devida área - Pedidos e dúvidas - Servidores derivados. Cuidado da próxima vez, e obrigado.
    2 pontos
  5. Vou tentar. Logo edito com resultado. EDIT: catchsystem.lua, abaixo de local give_level = lv_table[poke] if not give_level then give_level = 5 print(""..poke.." isn't in lv_table!") end Adicione: local stat = getPokemonStatus(poke) local off = stat.off * give_level local def = stat.def * give_level local agi = stat.agi * give_level local spatk = stat.spatk * give_level local vit = stat.vit * give_level Depois, substitua doItemSetAttribute(item, "offense", coffense) doItemSetAttribute(item, "defense", cdefense) doItemSetAttribute(item, "speed", cspeed) doItemSetAttribute(item, "vitality", cvitality) doItemSetAttribute(item, "specialattack", cspatk) Por: doItemSetAttribute(item, "offense", off) doItemSetAttribute(item, "defense", def) doItemSetAttribute(item, "speed", agi) doItemSetAttribute(item, "vitality", vit) doItemSetAttribute(item, "specialattack", spatk) Ao capturar o pokémon, ele está vindo no level definido na tabela lv_table. O cálculo de seus status é: status no configuration.lua * level.
    2 pontos
  6. Dynkzin

    PokexVnzl

    Ola Vim aqui disponibilizar meu ot de pokemon que comprei,como nao vo usar vo postar aqui =d Informaçoes •Mapa com hunts kanto. •Server Sem System de level !. •Clan System (PDA Slicer). •Alguns bugs corrigidos. •Pokemons da 1° até a 2° geração. •novas sprites do PxG. •Taunt System, para todos os clan rank 5, e algumas outfits. •novas paredes, pisos, e itens PxG. •Npc De itens de task de clãns. •Shinys Espalhado pelo mapa. •Moves system (m1 a m12). •Maximo 6 pokemonsna bag. •Order 100%. • Outland 100% no seu especifico clan ela esta Screen Shoot Do Mapa Download : Server - http://www.mediafire.com/download/puc9x6o8lo6i6af/Server+PxVzla.rar Scan - https://www.virustotal.com/pt/file/a5b16167f7c0599716c03d0d379858f337726216d958eef9455298b1e7daa99f/analysis/1386175577/ Cliente - http://www.mediafire.com/download/hk0ubgqglgb6a8m/PxVzla+Client.rar Scan - https://www.virustotal.com/pt/file/bdf2d1e90d8f65086343bab9ae7b681dd3945b9bdfa4e713b6ee555835a2c7fa/analysis/1386176114/ Senha do God acc - yoelvis senha - 2006905 Creditos : Yoelvis Sneider Por ter criado o server Espero que Gostem, Bom Aproveito =]] Obs : como não fui eu que criei,eu comprei, entao como sou apenas 1 hoster nao sei mecher muito em scripts me desculpem =/
    1 ponto
  7. ScythePhantom

    [Show Off] ScythePhantom

    Eis aqui "prints" dos meus mapas... Espero que gostem
    1 ponto
  8. comedinhasss

    Gesior ACC

    Olá galera, ultimamente está saindo várias novidades para os servidores e eu estou atualizando para os brasileiros :3 Você sabia que o gesior também migrou para o GitHub? Bom, ele migrou e agora está atualizando para todas as versões :3 Download: TFS 1.0: https://github.com/gesior/Gesior2012/tree/TFS-1.0 TFS 0.4: https://github.com/gesior/Gesior2012/tree/TFS-0.4_rev_3703+ TFS 0.3.6: https://github.com/gesior/Gesior2012/tree/TFS-0.3.6_and_0.4_to_rev_3703 TFS 0.2.13+: https://github.com/gesior/Gesior2012/tree/TFS-0.2.13+ TFS 0.2.11-: https://github.com/gesior/Gesior2012/tree/TFS-0.2.11_and_older É só baixar e se divertir pois os mais recentes vem com correções de bugs e muito mais :3
    1 ponto
  9. danielle1997

    [Encerrado] mapa poke

    eu gostaria de unas ilha que ta faltando no meu ot ,so que eu queria parecido com o pxg sao -deset island -ice island -lost island -charizard valley ajudem ai porfavor +rep
    1 ponto
  10. Zoobu

    Sprites Narutibia.

    Bem decidir disponibilizar todas minhas sprites de narutibia (não são em 45º) alguns servidores já possuem elas, mas ai tem algumas novas print :] http://www.mediafire.com/download/xked1q5a4bxjcfd/Sprites+Keviz.rar Bom proveito ^^.
    1 ponto
  11. linicris11

    [Encerrado] mapa poke

    Dani poderia me diser como voce consseguiu faser um pergunta eu nao conssigo sei que nao tem nada a ver eu posso te ajudar se mi ajudar
    1 ponto
  12. local tpId = 1387 local tps = { {name = "cavaleiro Negro", pos = {x=32541, y=30741, z=8, stackpos = 1}, toPos = {x=32532, y=30716, z=8}, time = 30}, {name = "Guardian Spider", pos = {x=32582, y=30816, z=8, stackpos = 1}, toPos = {x=32581, y=30784, z=8}, time = 30}, {name = "Thunder Dragon", pos = {x=32581, y=30742, z=8, stackpos = 1}, toPos = {32581, y=30716, z=8}, time = 30}, {name = "Shadow Pupil", pos = {x=32581, y=30713, z=8, stackpos = 1}, toPos = {32545, y=30682, z=8}, time = 30}, {name = "Shadow Boss", pos = {x=32545, y=30679, z=8, stackpos = 1}, toPos = {x=32565, y=30678, z=8}, time = 30}, {name = "Morgaroth", pos = {x=32666, y=30874, z=8, stackpos = 1}, toPos = {x=32633, y=30852, z=8}, time = 30}, {name = "Alma Perdida", pos = {x=32581, y=30782, z=8, stackpos = 1}, toPos = {x=32581, y=30745, z=8}, time = 30}, } for _, teles in pairs(tps) do function removeTp(pos) local t = getThingFromPos(teles.pos) if t.itemid == tpId then doRemoveItem(t.uid, 1) doSendMagicEffect(teles.pos, CONST_ME_POFF) end end function onDeath(cid) if getCreatureName(cid) == teles.name then doCreateTeleport(tpId, teles.topos, teles.pos) doCreatureSay(cid, "O teleport irá sumir em "..teles.time.." segundos.", TALKTYPE_ORANGE_1) addEvent(removeTp, teles.time*1000) end end return true end
    1 ponto
  13. alissonfgp

    Global Server 10.10

    é n, eu n lembro mto bem como cria a tabela de sqlite, vou tenta criar aqui e te envio...
    1 ponto
  14. alissonfgp

    Global Server 10.10

    Falta a tabela market_offers... aconselho usar site, o proximo update que vo fazer aqui é só com site que ele roda, vou deixar bastante coisa explicando como usar e talz.... Proximo update que vou fazer que vai ser 10.30, ja adicionei as novas areas da 10.22 e vou add as novas assim que sair a 10.30
    1 ponto
  15. vital900

    Mapa dota

    Tenta ai.
    1 ponto
  16. Vai em data/actions/scripts/catch.lua edita essa parte: Só edita onde ta " cr ";
    1 ponto
  17. Alexclusive

    VOTAÇÃO - A Melhor Assinatura #94

    1º Dudinha - Não podia se esperar algo ruim de você né...A foto é de sua própria câmera? Parece uma Nikon d40 que eu tinha.. (A Foto da "Lente" usada em minha ass é minha lente, por isso perguntei se a câmera é sua.) 2º Arkdumm - Gostei das cores e o efeito ficou legal comparando com a imagem original. 3º KluiMaster - Gostei de tarja lateral com o olho da render. (Você e Jakkin usaram a mesma...kkkkkk) @tópico Em uma edição que a maioria falou que não sabia o que fazer, até que tivemos um bom número de participantes. Que cada edição seja melhor e melhor... Abraço a todos os participantes e boa sorte!
    1 ponto
  18. VictorWEBMaster

    Como hospedar

    Normalmente voce deve hospedar seu servidor juntamente com seu website, caso contrario não haverá a conexção do banco de dados com o servidor e as integrações do website instalado com as informações do servidor.( Informações que necessitam dos arquivos na mesma maquina ). Para hospedar o servidor 24h é fácil, ou voce tem um computador com capacidade de deixar 24h/7 online ou contratar um serviço cloud (VPS) ou dedicado para hospedar o mesmo se for de grande porte. Para demais duvidas de como hospedar seu website/ot visite nosso forum na área de aprendizagem, lá há vários tutoriais de como iniviar seu servidor com site e hospedar em um vps.
    1 ponto
  19. Stigal

    [Encerrado] Pedido Npc Painter

    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 npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setMessage(MESSAGE_GREET, 'Bem-vindo à minha loja de pintura |PLAYERNAME|, Fale {Paint} para pintar!') function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local pokesalive = {'11826', '11829', '11835', '11832''} if(msgcontains(msg, 'paint')) then selfSay('Você quer pintar a sua pokeball?', cid) talkState = 1 elseif(msgcontains(msg, 'yes') and talkState == 1) then selfSay('Olá, você pode escolher: ´Darkball, Goldenball, Freshball e Loveball.', cid) talkState = 2 elseif(msgcontains(msg, 'no') and talkState == 1) then selfSay('Volte outra vez!', cid) talkState = 0 npcHandler:releaseFocus(cid) elseif((msgcontains(msg, 'Darkball') or msgcontains(msg, 'Dark ball') or msgcontains(msg, 'darkball') or msgcontains(msg, 'dark ball')) and talkState == 2) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then selfSay('Você realmente quer pintar a sua bola como um Dark Ball? Ele vai te custar 100 dólares!', cid) talkState = 3 else selfSay('Você deve colocar a bola fechada no slot.', cid) talkState = 0 end elseif(msgcontains(msg, 'yes') and talkState == 3) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then if doPlayerRemoveMoney(cid,10000) == true then selfSay('Boa escolha, a partir de agora um, ele vai olhar como uma Darkball! Há qualquer outra coisa que eu possa ajudá-lo?', cid) doTransformItem(getPlayerSlotItem(cid, 8).uid, 7774) talkState = 0 else selfSay('Sorry '.. getCreatureName(cid) ..', mas você não tem dinheiro suficiente.', cid) talkState = 0 end else selfSay('Por favor, mantenha sua bola fechada na slot.', cid) talkState = 0 end elseif((msgcontains(msg, 'Goldenball') or msgcontains(msg, 'Golden ball') or msgcontains(msg, 'goldenball') or msgcontains(msg, 'golden ball')) and talkState == 2) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then selfSay('Você realmente quer pintar a sua bola como um Goldenball? Ele vai te custar 200 dólares!', cid) talkState = 4 else selfSay('Você deve colocar a bola fechada no slot.', cid) talkState = 0 end elseif(msgcontains(msg, 'yes') and talkState == 4) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then if doPlayerRemoveMoney(cid,20000) == true then selfSay('Boa escolha, a partir de agora um, ele vai olhar como uma Goldenball! Há qualquer outra coisa que eu possa ajudá-lo?', cid) doTransformItem(getPlayerSlotItem(cid, 8).uid, 7775) talkState = 0 else selfSay('Sorry '.. getCreatureName(cid) ..', mas você não tem dinheiro suficiente.', cid) talkState = 0 end else selfSay('Por favor, mantenha sua bola fechada na slot.', cid) talkState = 0 end elseif((msgcontains(msg, 'Freshball') or msgcontains(msg, 'Fresh ball') or msgcontains(msg, 'fresh ball') or msgcontains(msg, 'freshball')) and talkState == 2) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then selfSay('Você realmente quer pintar a sua bola como um Freshball? Ele vai te custar 300 dólares!', cid) talkState = 5 else selfSay('Você deve colocar a bola fechada no slot.', cid) talkState = 0 end elseif(msgcontains(msg, 'yes') and talkState == 5) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then if doPlayerRemoveMoney(cid,30000) == true then selfSay('Boa escolha, a partir de agora um, ele vai olhar como uma Freshball! Há qualquer outra coisa que eu possa ajudá-lo?', cid) doTransformItem(getPlayerSlotItem(cid, 8).uid, 7776) talkState = 0 else selfSay('Sorry '.. getCreatureName(cid) ..', mas você não tem dinheiro suficiente.', cid) talkState = 0 end else selfSay('Por favor, mantenha sua bola fechada na slot.', cid) talkState = 0 end elseif((msgcontains(msg, 'Love ball') or msgcontains(msg, 'Loveball') or msgcontains(msg, 'love ball') or msgcontains(msg, 'loveball')) and talkState == 2) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then selfSay('Você realmente quer pintar a sua bola como um Loveball? Ele vai te custar 400 dólares!', cid) talkState = 6 else selfSay('Você deve colocar a bola fechada no slot.', cid) talkState = 0 end elseif(msgcontains(msg, 'yes') and talkState == 6) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then if doPlayerRemoveMoney(cid,40000) == true then selfSay('Boa escolha, a partir de agora um, ele vai olhar como uma Loveball! Há qualquer outra coisa que eu possa ajudá-lo?', cid) doTransformItem(getPlayerSlotItem(cid, 8).uid, 7777) talkState = 0 else selfSay('Sorry '.. getCreatureName(cid) ..', mas você não tem dinheiro suficiente.', cid) talkState = 0 end else selfSay('Por favor, mantenha sua bola fechada na slot.', cid) talkState = 0 end elseif((msgcontains(msg, 'monkzito') or msgcontains(msg, 'monkzito') or msgcontains(msg, 'monkzito') or msgcontains(msg, 'monkzito')) and talkState == 2) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then selfSay('Você realmente quer pintar a sua bola como um Orangeball? Ele vai te custar 700 dólares!', cid) talkState = 7 else selfSay('Você deve colocar a bola fechada no slot.', cid) talkState = 0 end elseif(msgcontains(msg, 'yes') and talkState == 7) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then if doPlayerRemoveMoney(cid,70000) == true then selfSay('Boa escolha, a partir de agora um, ele vai olhar como uma Orangeball! Há qualquer outra coisa que eu possa ajudá-lo?', cid) doTransformItem(getPlayerSlotItem(cid, 8).uid, 7778) talkState = 0 else selfSay('Sorry '.. getCreatureName(cid) ..', mas você não tem dinheiro suficiente.', cid) talkState = 0 end else selfSay('Por favor, mantenha sua bola fechada na slot.', cid) talkState = 0 end elseif((msgcontains(msg, 'monkzito2') or msgcontains(msg, 'monkzito2') or msgcontains(msg, 'monkzito2') or msgcontains(msg, 'monkzito2')) and talkState == 2) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then selfSay('Você realmente quer pintar a sua bola como um Loveball? Ele vai te custar 300 dólares!', cid) talkState = 8 else selfSay('Você deve colocar a bola fechada no slot.', cid) talkState = 0 end elseif(msgcontains(msg, 'yes') and talkState == 8) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then if doPlayerRemoveMoney(cid,30000) == true then selfSay('Boa escolha, a partir de agora um, ele vai olhar como uma Loveball! Há qualquer outra coisa que eu possa ajudá-lo?', cid) doTransformItem(getPlayerSlotItem(cid, 8).uid, 7779) talkState = 0 else selfSay('Sorry '.. getCreatureName(cid) ..', mas você não tem dinheiro suficiente.', cid) talkState = 0 end else selfSay('Por favor, mantenha sua bola fechada na slot.', cid) talkState = 0 end elseif((msgcontains(msg, 'monkzito2') or msgcontains(msg, 'monkzito2') or msgcontains(msg, 'monkzito2') or msgcontains(msg, 'monkzito2')) and talkState == 2) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then selfSay('Você realmente quer pintar a sua bola como um Luaball? Ele vai te custar 700 dólares!', cid) talkState = 9 else selfSay('Você deve colocar a bola fechada no slot.', cid) talkState = 0 end elseif(msgcontains(msg, 'yes') and talkState == 9) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then if doPlayerRemoveMoney(cid,70000) == true then selfSay('Boa escolha, a partir de agora um, ele vai olhar como uma Luaball! Há qualquer outra coisa que eu possa ajudá-lo?', cid) doTransformItem(getPlayerSlotItem(cid, 8).uid, 7780) talkState = 0 else selfSay('Sorry '.. getCreatureName(cid) ..', mas você não tem dinheiro suficiente.', cid) talkState = 0 end else selfSay('Por favor, mantenha sua bola fechada na slot.', cid) talkState = 0 end elseif((msgcontains(msg, 'monkzito2') or msgcontains(msg, 'monkzito2') or msgcontains(msg, 'monkzito2') or msgcontains(msg, 'monkzito2')) and talkState == 2) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then selfSay('Você realmente quer pintar a sua bola como um Duskball? Ele vai te custar 500 dólares!', cid) talkState = 10 else selfSay('Você deve colocar a bola fechada no slot.', cid) talkState = 0 end elseif(msgcontains(msg, 'yes') and talkState == 10) then if isInArray(pokesalive, getPlayerSlotItem(cid,8).itemid) then if doPlayerRemoveMoney(cid,50000) == true then selfSay('Boa escolha, a partir de agora um, ele vai olhar como uma Duskball! Há qualquer outra coisa que eu possa ajudá-lo?', cid) doTransformItem(getPlayerSlotItem(cid, 8).uid, 7781) talkState = 0 else selfSay('Sorry '.. getCreatureName(cid) ..', mas você não tem dinheiro suficiente.', cid) talkState = 0 end else selfSay('Por favor, mantenha sua bola fechada na slot.', cid) talkState = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) 7774, 7775, 7776, 7777, 7778, 7779, 7780, 7781 -- ID BALLS Atenciosamente, Stigal.
    1 ponto
  20. comedinhasss

    [Medalhas] RECEBA A SUA AQUI!

    Acho que eu tenho algumas para receber (todas acho kk)
    1 ponto
  21. Veja este tópico: http://www.xtibia.com/forum/topic/191860-max-lvl-dos-pokemon-poketibia/
    1 ponto
  22. Stigal

    [Encerrado] invasão poketibia

    Veja estes tópico: Invasão Programada: http://www.xtibia.com/forum/topic/156691-globalevents-invasao/ Invasão Talkaction: http://www.xtibia.com/forum/topic/211870-invasao-especifica/ Invasão Talkaction[2]: http://www.xtibia.com/forum/topic/135225-talkaction-comando-de-invasao/
    1 ponto
  23. zipter98

    [Encerrado] Sistema de clãns

    Isso se altera no arquivo .lua dos NPCs. Sendo mais exato, tabela clanNpcs.
    1 ponto
  24. vinnevinne

    VOTAÇÃO - A Melhor Assinatura #94

    m0p Jakiin KluiMaster
    1 ponto
  25. VictorWEBMaster

    [GESIOR] VictorWEBMaster 2019v

    Não, não há. No shopsystem tem a possibilidade de escolha dos sistemas, se voce usa um voce clica em um, se voce utiliza outro, clique no outro. Não tem possibilidade (de minha sabedoria) de unificar os sistemas.
    1 ponto
  26. Também acho meu caro Rikutachimoto, irei rever as vagas, necessidades, carências e editar o tópico pra já..
    1 ponto
  27. kinglekke, o Max disponibilizou o codigo pra vc usar e editar como quiser, ele nao se dispos a dar suporte permanente para todos. Se quiser que suas duvidas sejam retiradas, acho que eh melhor postar na area de pedidos e duvidas, pq la o pessoal costuma responder mais... Pra resolver o problema de nao teleportar o vencedor, tenta fazer assim, na parte: for _, cid in pairs(CTF.getMembers()) do if getPlayerStorageValue(cid, 16700) == win then local xp = math.ceil(getPlayerExperience(cid) * (CTF.xp_percent / 100), 215) doPlayerSendTextMessage(cid, 22, "Parab�ns! Voc� ganhou o evento e obteve ".. CTF.xp_percent .."% de sua experi�ncia total(".. xp ..").") doSendAnimatedText(getThingPos(cid), xp, 215) doPlayerAddExperience(cid, xp) end Vc muda e deixa ela assim: for _, cid in pairs(CTF.getMembers()) do if getPlayerStorageValue(cid, 16700) == win then local xp = math.ceil(getPlayerExperience(cid) * (CTF.xp_percent / 100), 215) doPlayerSendTextMessage(cid, 22, "Parab�ns! Voc� ganhou o evento e obteve ".. CTF.xp_percent .."% de sua experi�ncia total(".. xp ..").") doSendAnimatedText(getThingPos(cid), xp, 215) doPlayerAddExperience(cid, xp) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end
    1 ponto
  28. Você se refere à adicionar esse vip tile? É muito básico. Basta ir em data/movements/scripts, criar um arquivo com extensão .lua, e neste colocar o script que passei acima. Depois, em data/movements, abra o arquivo XML, e coloque a tag que também passei acima. Aí, no seu map editor, você configura o tile com o action id que configurou na tag. Se quiser testar o script antes de configurar no map editor, basta, in game, ficar de frente ao tile desejado, e digitar /attr set aid actionid que você configurou na tag. Seguindo como exemplo o action id que mencionei logo acima (12345), /attr set aid 12345.
    1 ponto
  29. Esse mapa não fui eu quem fiz, não sei quem fez, só arrumei alguns bugs, mesmo assim ainda ficou com alguns. o mapa esta sem respawn e sem npcs, pra vocês arrumarem do jeito que quiserem, o mapa tem todas as cidades, mas não são totalmente iguais ao do svke. Ss Download: http://www.4shared.com/file/_3MY9wJN/Mapa_2.html
    1 ponto
  30. SkyDarkyes

    Bleach Server + Client by Junior001

    MAPA MT BOM
    1 ponto
  31. tibiaa4e

    Pasta Data - Raids

    Pasta Enciclopedia com todos os links de outros tutoriais ! http://www.xtibia.com/forum/Pasta-Data-Enc...r-E-t99746.html Parte IV – Raids Bem agora depois dos monstros, vamos entender as raids ou invasões que são muito uteis para um bom RPG. Eu acho elas perfeitas para enfiar aquele boss no otserver. COmeçando editando ele pelo raids.xml <raid name="Demon" file="demon.xml" interval2="3500" chance ="30" margin="3000" enabled="1"/> Onde : Name : Nome da invasão, usado para o /raid file : O arquivo que você configura os monstros e aviso. interval2 : O tempo em minutos que levara para tentar executar a raid chance : A porcentagem de chance que tem para raid ser executada a cada interval2 margin Tempo em minutos que ela executará a partir da abertura do otserver. enabled : Se ela está ativa ou não. Essa parte é bem simples Agora vamos a parte da raids Você terá que criar um arquivo xml, como essas caracteristicas <raid> <announce delay="1000" type="event" message="Something walk near Edron"/> <announce delay="000" type="event" message="Some Demons want enter in Edron"/> <announce delay="55000" type="event" message="The Orshaball emerging from hell."/> <singlespawn delay="30000" name="Demon" x="1594" y="947" z="7"/> <singlespawn delay="13000" name="Demon" x="1594" y="947" z="7"/> <singlespawn delay="13000" name="Demon" x="1594" y="947" z="7"/> <singlespawn delay="13000" name="Orshaball" x="1594" y="947" z="7"/> <areaspawn delay="3000" centerx="1592" centery="928" centerz="7" radius="5"> <monster name="fire Elemental" minamount="1" maxamount="5"/> </areaspawn> <areaspawn delay="12000" fromx="1593" fromy="929" fromz="7" tox="1610" toy="940" toz="7"> <monster name="fire Elemental" amount="15"/> </areaspawn> </raid> Ai tem o arquivo demon.xml no caso ele foi meio que inventado pois eu não uso todas essas opções. vamos explicar cada um. announce delay O tempo em milessegundos que demorará para a aparecer a mensagem. type Esse tipo tem varios tipos.(warning,event,default,description,smallstatus,blueconsole,redconsole) o tradicional do tibia é o event. message A mensagem que aparecerá. Essa são as mensagens. Agora a parte de respawn, tem esses 3 tipos no singlespawn apenas um monstro será sumonado, nos outros dois casos você escolhe uma area, que dentro dela Poderá ser sumonados os monstros e a quantidade fixa ou quantidade sorteada. singlespawn delay e areaspawn delay O tempo a partir da execução da raid, que os monstros serão sumonados. monster name O nome do monstro que será sumonado. ammount A quantidade fixa de monstro que será sumonada na area. minammount e maxammount A quantidade minima e maxima de monstros que poderão ser sumonados na area. No caso das coordenadas, o center seria o centro do lugar. O radius é o raio (explicado no tuto de monstros), se você sabe o que é raio em matematica entenderá facilmente. No caso do from e to, já é uma area quadrada que os monstros estarão. Um unico problema é que se nessa area tiver uma região de aguá o otserver poderá dar debug,tente evitar isso. Bem o tuto ja foi explicado Agora vamos as dicas Dicas Bem para uma raid boa, e não apenas amontoamento de monstros, deverá ter um RPG e uma serie de "taticas". COmo você sabe o tempo é contado a partir do iniciamento da raid. Então o legal é em 1000 dar uma mensagem de aviso, A uns 1 min sumonar outros monstros, isso para dar tempo de jogadores que estão longe em hunts poderem chegar a essa raid. Depois dependendo da invasão aos 5 mins mandar uma outra mensagem e sumonar bastante monstros, e ai vai dando um tempo para eles matarem e sempre dando pequenos respawns. Depois cerca de uns 15 mins de raid sumonar o boss, ou algo do tipo. No caso se for um boss em lugar isolado sumona-lo aos 3 mins. Pois quando o time chegar ele ja estará lá. Evitar fazer raids que o sistema coloque ele, pois não tem a chanche ou seja sempre naquele tempo ele colocará a raid. Ou seja, faça os GM executarem elas, para ficar mais legal. Outra coisa é evitar certos monstros em raids. Como warlocks e outros, pois eles fogem e são horriveis de se matar. Espero que esse pequeno Tutorial tenha ajudado vocês a entenderem melhor as raids dos otserver. Esperem os proximos tutoriais que virão. E comentem o que acharam!!!
    1 ponto
  32. Stigal

    [Pokemon] Meu Mapa Editado

    Ola Galerinha Do Xtibia , Venho Aqui Trazer Meu Mapa Editado! Ele Contem: Imagens: Crystal Onix Cave: Charizard Valley Pvp Zone Ice Island Desert Saffari O Mapa Ja Vem Com Respown De "POKEMONS SELVAGENS", Duvidas - Criticas - Elogios... Aceitos! Comentem! :button_ok: Download: Scan: [VirusTotal] [Mapa] ~Stigal Creditos: [50%] Criador Do Mapa Dash v.6 [50%] Stigal (Eu)
    1 ponto
  33. masdead

    Ajuda Com Rme

    vai na pasta onde você instalou o seu RME 2.2 e delete as dll's WSOCK32.dll e RPCRT4.dll Não abra o RME pelo atalho na área de trabalho pois se não as dll's serão criadas novamente abra o RME pela pasta onde você instalou ele ou criem outro atalho espero ter ajudado
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...