Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 11/26/13 em %
-
Ta aqui se nao funcionar me manda o erro da distro(se tiver):2 pontos
-
Double Exp Para Vip
williamserravalle reagiu a Vodkart por um tópico no fórum
servidos testado 8.54 ~ 8.60 Quando você compra vip você pode aumentar a taxa de exp em percent que ele irá receber a mais,como se fosse um bonus... a taxa se modifica aqui: local rate = 1.5 -- 50% vermelho:representa o quanto irá subir em % caso fosse 20% seria local rate = 1.2 e por ai vai.... [ Double exp para o Perfect Vip System ] : [ Double exp para o Vip System By Account V1.0 ] : [ Double exp para o Vip System By Mock] :1 ponto -
Criando Um Cliente 100% Proprio
LuisMatheuziin reagiu a Tony por um tópico no fórum
Olá pessoal do Xtibia! Hoje vou ensinar a vocês como criar um cliente 100% próprio para seu servidor de tibia. :forward: Créditos :back: :star2: Jakiin :star2: Trazer ao x-tibia :star2: TiraDuvidas :star2: Fazer o Tutorial Este tópico recebeu destaque em nosso portal!1 ponto -
A um bom tempo estava montando um serv Full 8.54 ai parei de criar pois so eu estava editando o mapa, cansei e resolvi parar entao como parei com as ediçoes resolvi postar catch = 4 pokebells - Normal,Great,Super,ultra Pokemons = 1 , 2 , 3 , 4 geraçao com alguns shinys da 4 geraçao Shinys = Primeira geraçao Resumo = Ta como base LunusOT, Com pokemons do Centurion, e Scripts do Dash Adv Client para se usar é o Centurion v4.0 Mapa quase todo editado com sistema de Vip, e Novas Cidades , ~~~ [11] = {name = "Snow", id = 11}, [12] = {name = "Under Vip", id = 12}, [13] = {name = "Ice Sland", id = 13}, Os Sistemas de Teleport, Fly, estao para vip, eu acho, nao garanto que esta tambem o Ride =) Aqui vai o Download http://www.4shared.com/get/cSZA8MS_/Server.html So novo aki entao se tiver algo errado Avisa ç.ç Fuiz Gosto ?? REP +1 ponto
-
Tour Mod
kleytonhigor reagiu a Omega por um tópico no fórum
Informações Apresento-lhes um mod simples, mas muito útil para servidores com mapas próprios. Ele faz com que o jogador passe por certos locais, sem poder se mexer nem entrar em combate, recebendo caixas de diálogo com informações sobre cada local Basta adicionar o código na pasta mods do seu servidor como tourMod.xml O comando é ativado in-game usando /tour ou !tour Só pode ser ativado em PZ A duração de cada posição é configurável Caso haja algum erro, GMs podem usar o comando /tour debug para finalizar o tour de todos os jogadores online Código Configuração As posições para as quais o jogador será levado e o tempo pelo qual ele ficará em cada posição são configuráveis em tourLocations, seguindo o padrão Depois de cada duração, você deve configurar a mensagem que o jogador irá receber em tourDesc, usando a mesma numeração1 ponto -
Me Chamo Gabriel , e aqui estarei postando minhas Sprites! Comentem para me Ajudar! ''---------------------------------------------------------------------------------------------------------------------------------------------------'' Minha Adaga1 ponto
-
Locker Protection
JonPiress reagiu a MaXwEllDeN por um tópico no fórum
#Introdução Bem, este é um sistema no qual você pode protejer o seu locker(depot) com senha, assim evitando hackers. #Instalação Primeiro faça o download do sistema e cole na sua pasta data. Após ter instalado os arquivos nas suas respectivas pastas adicione as tags: @Actions <action itemid="2589; 2590; 2591; 2592" event="script" value="DPPass.lua"/> <!-- DP Pass --> @Creaturescripts <event type="login" name="LockerPass" event="script" value="DPPass.lua"/> <!-- DPPass --> @Movements <movevent type="StepOut" actionid="96475" event="script" value="DPPass.lua"/> <!-- DPPass --> @Talkactions <talkaction words="!locker" script="DPPass.lua"/> <!-- DP Pass --> Abraço.1 ponto -
CP Cinnabar & Cidade Hamlin PxG
Vini Original reagiu a FlamesAdmin por um tópico no fórum
Eae galera, to passando aki rapidin pra postar esse mapa que achei no pc que eu fiz do PxG. Prints: Download: http://www.4shared.com/rar/l3jDJmEo/Cp_CinnabarCidade_Hamlin.html OBS: Em Hamlin é só a Cidade, nao tem as hunts. Bom uso do mapa. Boa noite xD.1 ponto -
Residentibia [Showoff]
vital900 reagiu a gonorreiaswat por um tópico no fórum
Obrigado pelos comentários animadores, pois andei investindo um bom tempo ao Projeto. Sei que estou devendo ShowOFF e imagens novas do Projeto, mas como disse anteriormente, estava investindo mais em criar do que em publicar. Sem falar que por se tratar de Resident, muitas das missões e descobertas remuneradas (quests), serão secretas no server, sendo assim, estas eu não posso divulgar como funciona e onde ficam, mas podem ter certeza que irão ter muitas coisas a descobrir neste jogo. E em lugares onde menos imaginam... Estou criando um jogo mais próximo da realidade possível, claro, com algumas coisas surreais que o Resident Evil oferece, e tudo isso ao Gráfico 2D de Tibia. Espero contar com o apoio de vocês e com a galera seguindo o tópico para que eu anime de ir publicando sempre as novidades por aqui. De ontem pra hoje fiquei sem internet pois mudei de residência, sacanagem é que acabei de renderizar o vídeo ShowOFF 02, que será dividido em 2 partes. Hoje, domingo, provavelmente estarei ativando a interne Banda Larga para upar o vídeo ao YouTube, pois estou em Net ViaRádio e a velocidade deixa a desejar já que o vídeo é em qualidade boa (full HD eu acho). Meu computador ainda está desligado na sala, estou digitando do Notebook da minha esposa. Galera, sem mais para o momento, estou mesmo para agradecer pelo apoio. Conto com vocês em um futuro/breve test server. Obrigado a todos. -edit- Boa noite galera. Acabei de conseguir upar o vídeo ShowOFF 02. O mesmo já foi adicionado ao tópico principal e para constar, segue aqui também. Obrigado pela paciência.1 ponto -
melhor servidor na minha opinião http://tibiapoketibia-erondino.weebly.com/poketibia-erondino-site-v15.html1 ponto
-
Water Island - Para Pokemon
GuhPk reagiu a Rikutachimoto por um tópico no fórum
Ola estava sem nada para fazer, sou iniciante em mapping e decidi melhorar e sempre que puder estarei trazendo conteúdos para o xTibia, fiz essa ilha especialmente para Pokemon, Servers Low ou High nao e muito grande mais e uma ótima hunt. Print: Download: https://www.mediafire.com/?8urd8wr8coa526u Nao sei fazer Scan ;x mais acho que nao e necessário. PORFAVOR COMENTEM1 ponto -
[Arquivado][OPNIOES] Narutibia 7.81 vs 8.54
Kahzinhuh reagiu a AlexandreKG por um tópico no fórum
Eu jogava naruto 7.81 também, e não foi de agora, mas de meses atrás, que "naruto 8.54" está dominando, eu na verdade estou bastante triste, pois muitas vezes ao dia bate aquela vontade de jogar um naruto 7.81 que na minha opiniao, não tinha "quase" nenhum bug ou nenhum, e era divertido de jogar. 8.54 agora não tem nada demais mesmo.1 ponto -
healthLostMana.lua : local config = { voc = {1, 5, 2, 6}, -- quais vocação perde dano quando n tem mana seconds = 1, -- a cada quantos segundos vai perder dano damage = 1 -- quanto de dano ira perder } function startManaHealth(cid, seconds, damage) if not isCreature(cid) then return true end if getCreatureMana(cid) == 0 then doCreatureAddHealth(cid, -damage) end addEvent(startManaHealth, 1000 * seconds, cid, seconds, damage) end function onLogin(cid) if isInArray(config.voc, getPlayerVocation(cid)) then startManaHealth(cid, config.seconds, config.damage) end return true end tag: <event type="login" name="healthLostMana" event="script" value="healthLostMana.lua"/> as configurações ta no script, vc pode escolher se só algumas vocações vão ter este problema kk e os segundos e dano ...1 ponto
-
Tenta assim: function onUse(cid, item, fromPosition, item2, toPosition) local nonremskulls = {red = SKULL_RED, white = SKULL_WHITE, black = SKULL_BLACK} if getPlayerStorageValue(cid,1800) == 10 then doCreatureSay(cid, "You can not remove your frags and their skulls.", TALKTYPE_ORANGE_1) else if getPlayerLevel(cid) >= 10 then doCreatureSay(cid, "Your Frags were successfully removed.", TALKTYPE_ORANGE_1) db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ")") doCreatureSetSkullType(cid,0) doSendMagicEffect(fromPosition, 37) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid,1800,20) return TRUE else doCreatureSay(cid, "Only people level 10 can use this item.", TALKTYPE_ORANGE_1) end end end1 ponto
-
Primeiramente, você deve verificar a sprite das spells em seu Dat Editor. O ID que você usará nos scripts é o Itemtype do Dat Editor. Tomando este script do Barrier como exemplo: verifique no seu Dat Editor se em seu client você têm a sprite do Barrier. Se sim, verifique seu Itemtype. Aí, com este já em mente, você procura por todas as funções que usam o Itemtype, e edita lá. Por exemplo, doSendMagicEffect({x = pos.x + 1, y = pos.y + 1, z = pos.z}, 192) Onde 192 é o Itemtype. Se no seu Dat Editor a sprite do Barrier (ou outro sprite desejado) tiver Itemtype, por exemplo, 32, você deveria mudar para: doSendMagicEffect({x = pos.x + 1, y = pos.y + 1, z = pos.z}, 32) Resumindo: o Itemtype do Dat Editor é o ID que você usará nos scripts. Agora, em data/spells; copie um arquivo qualquer de data/spells/scripts/ps, e nomeie para o nome da spell. Aí, neste, você provavelmente verá algo como: function onCastSpell(cid, var) if isSummon(cid) then return true end docastspell(cid, "Nome da spell") return true end Em Nome da spell, você colocar o nome da spell (hue). Se a spell for o Barrier, então, arquivo com nome Barrier, conteúdo: function onCastSpell(cid, var) if isSummon(cid) then return true end docastspell(cid, "Barrier") return true end Novamente em data/spells; abra spells.xml, e coloque, antes de </spells>, a tag da spell. A base seria assim: <instant name="Nome da spell" words="palavras que o god dirá para usar a spell" lvl="1000" mana="0" event="script" value="ps/Nome do arquivo da spell.lua"></instant> No caso do Barrier, ficaria assim: <instant name="Barrier" words="barrierspell" lvl="1000" mana="0" event="script" value="ps/Barrier.lua"></instant> Agora, vamos para a parte mais fácil: configuration.lua. Em data/lib/configuration.lua, procure pela configuração de moveset do(s) pokémon(s) que deseja que tenha a spell. Provavelmente, você sabe editar essa parte. Tomando como a Mr. Mime e o Barrier como exemplo, você procuraria pela configuração da Mr. Mime. No caso, ["Mr. Mime"] = {move1 = {name = "Doubleslap", level = 35, cd = 10, dist = 1, target = 1, f = 25, t = "normal"}, move2 = {name = "Psywave", level = 35, cd = 15, dist = 1, target = 0, f = 75, t = "psychic"}, move3 = {name = "Magical Leaf", level = 35, cd = 15, dist = 4, target = 1, f = 35, t = "grass"}, move4 = {name = "Confusion", level = 35, cd = 35, dist = 1, target = 0, f = 50, t = "psychic"}, move5 = {name = "Psychic", level = 37, cd = 30, dist = 1, target = 0, f = 90, t = "psychic"}, move6 = {name = "Psyusion", level = 35, cd = 60, dist = 1, target = 0, f = 70, t = "psychic"}, move7 = {name = "Reflect", level = 38, cd = 35, dist = 1, target = 0, f = 0, t = "psychic"}, move8 = {name = "Mimic Wall", level = 36, cd = 5, dist = 1, target = 0, f = 0, t = "psychic"}, move9 = {name = "Miracle Eye", level = 36, cd = 40, dist = 1, target = 0, f = 0, t = "psychic"}, }, Então, defina em qual "m" ficará o Barrier. Suponhamos que você queira que ele fique na posição 10 (move10/m10). Depois de definido isso, monte a "linha" de sua spell. A base seria esta: movenúmero do "m"(por exemplo, move9 para m9) = {name = "Nome da spell", level = level necessário para usar a spell, cd = tempo de cooldown da spell, dist = distância mínima para usar a spell(se for em área, deixe 1), target = 0(se deixar 1, precisará de target. 0, não.), f = defina aqui a força da spell, t = "elemento da spell que aparecerá na pokedex"}, Definido as características da spell, adicione então essa "linha" na tabela de moves do pokémon. O Mr. Mime ficaria, então, assim (configurações a meu gosto): ["Mr. Mime"] = {move1 = {name = "Doubleslap", level = 35, cd = 10, dist = 1, target = 1, f = 25, t = "normal"}, move2 = {name = "Psywave", level = 35, cd = 15, dist = 1, target = 0, f = 75, t = "psychic"}, move3 = {name = "Magical Leaf", level = 35, cd = 15, dist = 4, target = 1, f = 35, t = "grass"}, move4 = {name = "Confusion", level = 35, cd = 35, dist = 1, target = 0, f = 50, t = "psychic"}, move5 = {name = "Psychic", level = 37, cd = 30, dist = 1, target = 0, f = 90, t = "psychic"}, move6 = {name = "Psyusion", level = 35, cd = 60, dist = 1, target = 0, f = 70, t = "psychic"}, move7 = {name = "Reflect", level = 38, cd = 35, dist = 1, target = 0, f = 0, t = "psychic"}, move8 = {name = "Mimic Wall", level = 36, cd = 5, dist = 1, target = 0, f = 0, t = "psychic"}, move9 = {name = "Miracle Eye", level = 36, cd = 40, dist = 1, target = 0, f = 0, t = "psychic"}, move10 = {name = "Barrier", level = 64, cd = 45, dist = 1, target = 1, f = 0, t = "psychic"}, --coloque dist = 1, porque, neste script do Stylo Maldoso, o Barrier pode ser usado à qualquer distância. },1 ponto
-
- cria um arquivo inv.lua e cola o script: local configInv = { ["19:00"] = {nome = "The Demon Invasion", pos = {x=32369, y=32167, z=7}, monster = {"50 Demon", "200 Dragon"}}, } local timenopvp = 30 -- em minutos function onThink(interval, lastExecution) local hours = tostring(os.date("%X")):sub(1, 5) local tb = configInv[hours] if tb then function startInvasion() doBroadcastMessage(tb.nome .. " iníciou.") for _,x in pairs(tb.monster) do for s = 1, tonumber(x:match("%d+")) do doSummonCreature(x:match("%s(.+)"), tb.pos) end end setWorldType(WORLD_TYPE_NO_PVP) addEvent(setWorldType, 1000 * 60 * timenopvp, WORLD_TYPE_PVP) end doBroadcastMessage(tb.nome .. " ira iníciar em 5 minutos.") addEvent(startInvasion, 1000 * 60 * 5) end return true end tag no xml: <globalevent name="Invasao" interval="60" event="script" value="inv.lua"/>1 ponto
-
Então minha opnião.. Será que eu faço um 7.6 Old School ou alguma versão mais recente? R: Prefiro um Old School Bem Editado... Será que a galera gosta de procurar areas de HUNT ou gostam de Teleports? R: Teleport so fode com o servidor haha' prefiro procurar as Hunts.... Será que a galera curte um jogo mais fácil ou mais difícil? R: Mediano pois jogo facil de + não tem graça e dificil de + prefiro ir pro global U.U1 ponto
-
[Show Off] Barra Skill - baseada na pxg
ManoTobira reagiu a Noninhouh por um tópico no fórum
jah q o smix deu idea eu resolvi filma kkkkk: bom, apenas para mostrar tds os sistemas q consegui fazer ate agr... OBS: imagem do shiny venusaur colocada apenas para teste kkkk1 ponto -
[Tabela] Item de Teleporte
matheusata55 reagiu a Killua por uma questão
Eu fiz a talkaction pra vc mas quando vc fala !teleport repetidas vezes ele vai repetindo o nome dos lugares disponiveis... To tentando arrumar isso. local positions = { {lugar = "Midgard", pos = {x=123, y=123, z=7}}, {lugar = "Sao Paulo", pos = {x=123, y=123, z=7}}, {lugar = "Carlin", pos = {x=123, y=123, z=7}}, {lugar = "Venore", pos = {x=123, y=123, z=7}} } local str = "" local needPz = false -- Precisa de pz? [true/false] function onSay(cid, words, param, channel) for i = 1, (#positions) do local cidades = positions[i].lugar str = str .. cidades .. '\n ' end for _, abc in pairs(positions) do if param == "" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Para se teleportar diga !teleport LUGAR.\nLugares disponiveis:\n " .. str .. "\n Escolha seu destino e boa viagem!") end if param == "" .. abc.lugar .. "" then if needPz == true and getTilePzInfo(getCreaturePosition(cid)) == false then doPlayerSendCancel(cid, "Voce precisa estar em PZ para teleportar.") return true end doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) doTeleportThing(cid, abc.pos) doPlayerSendTextMessage(cid, 25, "Bem vindo a " .. abc.lugar.. "!") doSendMagicEffect(abc.pos, CONST_ME_TELEPORT) end end return true end XML <talkaction words="!teleport" event="script" value="teleport.lua"/>1 ponto -
Tem que ter posto em itens.otb para constar no Remeres. Bom tem este tutorial que você pode seguir. Esta dúvida não é de mapping e sim Spr. Movido, apesar que o link que te mandei resolverá seu problema1 ponto
-
Deletando players inativos banco de dados.
ShockZz reagiu a Alexclusive por uma questão
Cara, isso se chama query. Para deletar TODOS os players, menos os Acc Man e os Samples, execute essa: DELETE FROM `players` WHERE NOT `players`.`name` IN ("Account Manager", "Rook Sample", "Sorcerer Sample", "Druid Sample", "Paladin Sample", "Knight Sample"); Se você quiser usar a sua query: DELETE FROM players WHERE level < 50 AND lastlogin < UNIX_TIMESTAMP() - 20*24*60*60 Como voce mesmo disse, isso pode fazer com que os samples e o Acc Man sejam deletados. Se forem deletados, basta você executar essa: INSERT INTO `players` (`id`, `name`, `world_id`, `group_id`, `account_id`, `level`, `vocation`, `health`, `healthmax`, `experience`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `lookaddons`, `maglevel`, `mana`, `manamax`, `manaspent`, `soul`, `town_id`, `posx`, `posy`, `posz`, `conditions`, `cap`, `sex`, `lastlogin`, `lastip`, `save`, `skull`, `skulltime`, `rank_id`, `guildnick`, `lastlogout`, `blessings`, `balance`, `stamina`, `direction`, `loss_experience`, `loss_mana`, `loss_skills`, `loss_containers`, `loss_items`, `premend`, `online`, `marriage`, `promotion`, `deleted`, `description`, `created`, `nick_verify`, `old_name`, `hide_char`, `worldtransfer`, `comment`, `show_outfit`, `show_eq`, `show_bars`, `show_skills`, `show_quests`) VALUES (1, 'Rook Sample', 0, 1, 1, 1, 0, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 1, 0, '', 1, 1, 1, 1, 1), (2, 'Sorcerer Sample', 0, 1, 1, 8, 1, 185, 185, 0, 0, 0, 0, 0, 128, 0, 0, 35, 35, 0, 0, 2, 0, 0, 0, '', 600, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 1, 0, '', 1, 1, 1, 1, 1), (3, 'Druid Sample', 0, 1, 1, 8, 2, 185, 185, 0, 0, 0, 0, 0, 128, 0, 0, 35, 35, 0, 0, 2, 0, 0, 0, '', 600, 0, 1302858859, 16777343, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 1, 0, '', 1, 1, 1, 1, 1), (4, 'Paladin Sample', 0, 1, 1, 8, 3, 185, 185, 0, 0, 0, 0, 0, 128, 0, 0, 35, 35, 0, 0, 2, 0, 0, 0, '', 600, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 1, 0, '', 1, 1, 1, 1, 1), (5, 'Knight Sample', 0, 1, 1, 8, 4, 185, 185, 0, 0, 0, 0, 0, 128, 0, 0, 35, 35, 0, 0, 2, 0, 0, 0, '', 600, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 1, 0, '', 1, 1, 1, 1, 1); Espero que sirva pra algo...1 ponto -
Ola Xtibia eu uso o TFS 0.4 3884 eu preciso de um sistema que dependendo do seu skill de shielding podera da MISS quando um bicho te ataca ou player ataca avera chance de da MISS (Attack falha) Tipo : Se seu skill de shielding for 20 tera 5% de chance de da MISS Se seu skill de shielding for 30 tera 10% de chance de da MISS Se seu skill de shielding for 60 tera 30% de chance de da MISS Quando não acerta o attack ai aparece MISS em azul em cima do player. Quem me ajuda darei 3 Rep++ por favor to precisando ugente1 ponto
-
[Encerrado] Ot Server de Narutibia
RaylanderCotta reagiu a vinnevinne por um tópico no fórum
de nd qualquer duvida so me procurar.1 ponto -
[Encerrado] Ot Server de Narutibia
vinnevinne reagiu a RaylanderCotta por um tópico no fórum
Obrigado. bom eu ja baxei algums mais esta com muitos bugs. mas irei procura para ver se encontro um com menos defeito obrigado novamente1 ponto -
1 ponto
-
Ajuda Spell 'kamui'
viniciusBIG reagiu a gonorreiaswat por uma questão
Bom, se entendi corretamente, funcionará assim. O player usa a magia e leva o target para outra posição, só que é para este player se manter no lugar destino. Sendo assim, este script foi testado após a edição que fiz e está funcionando. E o Exhaust já estava funcionando. O player que usa a magia não é teleportado, correto? Alias, ele é teleportado, porém, para outro lugar né? Caso queira alguma modificação, favor postar aqui. Sendo assim, segue abaixo o script para que o target mantenha-se no lugar destino: local newPos1 = {x = 0, y = 0, z = 0} --pos pra onde sera levado o caster da spell local newPos2 = {x = 1517, y = 417, z = 6} --pos pra onde sera levado o target local function teleport(cid, pid, pos, pos2) if isCreature(cid) then doTeleportThing(cid, getClosestFreeTile(cid, pos)) doSendMagicEffect(getPlayerPosition(cid), 30) end if isCreature(pid) then doTeleportThing(pid, getClosestFreeTile(pid, pos2 or pos)) doSendMagicEffect(getPlayerPosition(pid), 30) end end function onCastSpell(cid, var) local target = getCreatureTarget(cid) if not isCreature(target) or not isPlayer(target) then return doPlayerSendTextMessage(cid, 27, "Voce precisa selecionar um alvo para usar o Mangekyou Kamui.") end if getPlayerStorageValue(cid, 33333) < os.time () then local target = getCreatureTarget(cid) local posCid = getPlayerPosition(cid) local posTarget = getPlayerPosition(target) local tempo = 10000 -- 10s setPlayerStorageValue(cid, 33333, os.time () + 30) teleport(cid, target, newPos1, newPos2) else doPlayerSendCancel(cid, "Voce so pode usar esse jutsu daki a "..getPlayerStorageValue(cid, 33333) - os.time ().." segundos ") end return true end Boa sorte.1 ponto -
Tutorial Mapping Tema: Jungle [Montanha] Salve "Ekada", a muito não trago conteúdo ao Xtibia (peço desculpas pois ultimamente está corrido). Mas vamos ao que interessa: No tutorial de hoje estarei ensinando como mecher com jungle, exclusivamente em montanhas. Deicharei um geral de quais plantas usar, e também estarei mostrando algumas ideias criativas. Estarei mostrando um tuto completo, e por fim a foto de um vale com a mesma idéia. 1# - Crie sua base: O inicio de tudo, é criar a base, que no caso será a montanha. Não precisa fazer só uma montanha, pode fazer também outras pequenas por cima. Nessa parte, o 'como ficara' é livre arbitrio, ficara do jeito que você quiser: 2# - Acrescente as plantas iniciais (jungle basico): A segunda parte, você simplesmente tem que colocar algumas plantinhas básicas, jungle com nature, plantinhas dos ids "2778" (pra cima) e "4008"(pra cima). [quando me refiro "pra cima", quero dizer que os ids ao redor dos citados tem algo a ver, e também podem ser usados]: 3# - Cogumelos/Flores: Adicione também, alguns cogumelos, flores, pedrinhas menores, tudo relacionado a jungle e à montanhas. As flores e os cogumelos estão nessa faixa de id: "4134", até "4185", você pode usar também ids como "11044" "10763" "11811" "10793" (entre outros que estão nessa faixa: (nesta imagem [/\] não adicionei os ids comunicados, apenas adicionei algumas flores e plantas. Mas na proxima imagem vocês verão como eu usei) 4# - Momento Criatividade: Estarei mostrando, algumas ideias de jungle, que também ficaram bem legais. Da uma conferida aí na imagem: 4# - Final: Bom, no final, use bastante de criatividade, junte tudo aquilo que você sabe a respeito do tema e faça o que 'vier na telha', no meu caso ficou assim: Recomendação: Na área de jungle, não recomendo usar nas bordas os ids de "4456 à 4467" e sim de "891 à 902", assim dará impressão de um local mais aberto. Tenho costume de fazer assim apenas em àreas jungle, e em algumas outras especificas. Do contrário faça do jeito que bem entender. Também estarei mostrando outra imagem que fiz, usando os mesmos aspectos ensinado no tutorial acima. Fiz uma espécie de vale, com montanha, tudo relacionado a jungle. (só pra vocês terem uma idéia): (não terminei o último andar, sorry) Espero que tenham gostado do tutorial. Brevemente estarei trazendo mais conteúdo ao "eks. Deiche uma dica de tutorial que gostaria, quem sabe ele não pode ser o proximo (deiche juntamente ao comentário). Créditos 100% GuizitoG1 ponto
-
[ Talkaction ]Teleport Por Talk. Para Vip
Rikutachimoto reagiu a Vodkart por um tópico no fórum
script é simples,jogadores vip poderão ser teleportado para os lugar por talkactions basta usar o comando teleportvip.lua --[[script By Vodkart]]-- function onSay(cid, words, param) local config = { pz = true, -- players precisam estar em protection zone para usar? (true or false) battle = true, -- players deve estar sem battle (true or false) custo = true, -- se os teleport irão custa (true or false) need_level = true, -- se os teleport irão precisar de level (true or false) premium = true -- se precisa ser premium account (true or false) } --[[ Config lugares]]-- local lugar = { ["depot"] = { -- nome do lugar pos = {x=129, y=54, z=6},level = 5,price = 1000}, ["templo"] = { -- nome do lugar pos = {x=160, y=54, z=7},level = 10, price = 2000}, ["arena"] = { -- nome do lugar pos = {x=125, y=351, z=9},level = 15,price = 3000}, ["area vip"] ={ -- nome do lugar pos = {x=280, y=87, z=4},level = 20,price = 4000} } --[[ Lista de Viagem (Não mexa) ]]-- if (param == "lista") then local str = "" str = str .. "lista de viagem :\n\n" for name, pos in pairs(lugar) do str = str..name.."\n" end str = str .. "" doShowTextDialog(cid, 6579, str) return TRUE end local a = lugar[param] if not(a) then doPlayerSendTextMessage(cid, 22, "desculpe,este lugar não existe") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE elseif config.premium == true and not isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players com premium account podem teleportar.") return TRUE elseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE elseif config.need_level == true and getPlayerLevel(cid) < a.level then doPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then doPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end doTeleportThing(cid, a.pos) doSendMagicEffect(a.pos, CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, 22, "" .. getPlayerName(cid) .. " foi teleportado para: \n " .. param .. ".") return TRUE end em talkactions.xml adicione <talkaction words="!tp" script="teleportvip.lua"/>1 ponto -
1 ponto