Pesquisar na Comunidade
Mostrando resultados para as tags ''action''.
Encontrado 1423 registros
-
Apenas algumas ferramentas que o Codex NG reconstruiu em um interpretador Lua para obter certos valores a partir de arquivos. Monster local data = { ['monster'] = {'name', 'nameDescription', 'race', 'experience', 'speed', 'manacost', 'skull', 'script'}, ['health'] = {'min', 'max'}, ['look'] = { 'type', 'head', 'body', 'legs', 'feet', 'corpse', 'addons', 'typeex', 'mount'}, ['targethange'] = { 'interval', 'chance', 'speed'}, ['flag'] = {'summonable', 'attackable', 'hostile', 'illusionable', 'convinceable', 'pushable', 'canpushitems', 'canpushcreatures', 'staticattack', 'lightlevel', 'lightcolor', 'targetdistance', 'runonhealth', 'hidehealth'}, ['attack'] = {'name', 'interval', 'min', 'max', 'range', 'chance'}, ['attribute'] = {'key', 'value'}, ['defenses'] ={'armor', 'defense'}, ['element'] = {'physicalPercent', 'icePercent', 'poisonPercent', 'earthPercent', 'firePercent', 'energyPercent', 'holyPercent', 'deathPercent', 'drownPercent', 'lifedrainPercent', 'manadrainPercent'}, ['immunity'] = {'name', 'physical', 'energy', 'fire', 'poison', 'earth', 'drown', 'ice', 'holy', 'death', 'lifedrain', 'manadrain', 'paralyze', 'outfit', 'drunk', 'invisible', 'invisibility', 'bleed'}, ['voices'] = {'speed', 'interval', 'chance', 'sentence', 'yell'}, ['voice'] = {'speed', 'interval', 'chance', 'sentence', 'yell'}, ['summons'] = {'maxSummons'}, ['summon'] = {'name','interval','chance','speed'}, ['script'] = {'name'}, ['item'] = {'id','countmax','chance', 'chance1', 'subtype', 'actionId', 'text'} } local dir = 'data/monster/' local file = 'monsters.xml' for line in io.lines(dir..file) do if string.match(line, '<(%a-)%s* ') ~= nil then for lines in io.lines(dir..line:match('file="(.-)"') ) do if string.match(lines, '<(%a-)%s* ') ~= nil then local p = data[string.match(lines, '<(%a-)%s* ')] if p ~= nil then for i = 1, #p do local t = lines:match(p[i]..'="(.-)"') if t ~= nil then print(string.match(lines, '<(%a-)%s* '), p[i], t) end end end end end end end Items local items = {} local para = { 'id', 'name', 'fromid', 'toid', 'key', 'value' } function Items() local file = 'data/items/items.xml' local k = {} for line in io.lines(file) do if string.match(line, '<(%a-)%s* ') ~= nil then local itemParam = string.match(line, '<(%a-)%s* ') if itemParam ~= nil then for type_ in line:gmatch(itemParam) do for i = 1, #para do if line:match(para[i]..'="(.-)"') then table.insert(k, para[i]..' = "'..line:match(para[i]..'="(.-)"')..'", ') end end local temp = '{'..table.concat(k) temp = temp:sub(1, #temp - 2)..'},' k = {} table.insert(items, temp) end end end end for k, v in pairs(items)do print(v) end end Items() Spells local spells = {} local para = { 'group', 'spellid', 'name', 'words', 'lvl', 'mana', 'prem', 'range', 'needtarget', 'blockwalls', 'needweapon', 'exhaustion', 'groupcooldown', 'casterTargetOrDirection', 'aggressive', 'needlearn', 'selftarget', 'script', 'charges', 'maglv' } function parseSpells() local file = 'data/spells/spells.xml' local k = {} for line in io.lines(file) do if string.match(line, '<(%a-)%s* ') ~= nil then spellParam = string.match(line, '<(%a-)%s* ') if spellParam ~= nil then for type_ in line:gmatch(spellParam) do for i = 1, #para do if line:match(para[i]..'="(.-)"') then table.insert(k, para[i]..' = "'..line:match(para[i]..'="(.-)"')..'", ') end end local temp = '{'..table.concat(k) temp = temp:sub(1, #temp - 2)..'},' k = {} table.insert(spells, temp) end end end end for k, v in pairs(spells)do print(v) end end parseSpells()
-
Nome Do Autor : Xisto Versão Testada : 8.54 -- Pokemon Dash Advanced / Centurion Explicação : Um sistema de pesca em que e obrigatorio o uso de uma certa roupa.Créditos : Xisto 1 - Script local storage = 15458 local storageP = 154580 local bonus = 1 local limite = 80 local function doFish(cid, pos, ppos, chance, interval, number) if not isCreature(cid) then return false end if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then return false end if getPlayerStorageValue(cid, storage) ~= number then return false end doSendMagicEffect(pos, CONST_ME_LOSEENERGY) local peixe = 0 local playerpos = getClosestFreeTile(cid, getThingPos(cid)) local fishes = {} local randomfish = "" --alterado!! if getPlayerSkillLevel(cid, 6) < limite then doPlayerAddSkillTry(cid, 6, 20) end for a, b in pairs (fishing) do if getPlayerSkillLevel(cid, 6) >= b.skill then table.insert(fishes, a) end end if math.random(1, 100) <= chance then if getPlayerSkillLevel(cid, 6) < limite then doPlayerAddSkillTry(cid, 6, bonus) end randomfish = fishes[math.random(#fishes)] peixe = doSummonCreature(randomfish, playerpos) if not isCreature(peixe) then addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) return true end doSetMonsterPassive(peixe) doWildAttackPlayer(peixe, cid) if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173) ---- 1 e o efeito que ira sair ao usar a rod na agua. doChallengeCreature(getCreatureSummons(cid)[1], peixe) else doSendMagicEffect(getThingPos(cid), 173) doChallengeCreature(cid, peixe) end setPlayerStorageValue(cid, storageP, 1) doCreatureSetNoMove(cid, false) doRemoveCondition(cid, CONDITION_OUTFIT) return true end addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) setPlayerStorageValue(cid, storageP, 1) doCreatureSetNoMove(cid, true) return true end local waters = {4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825} function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerGroupId(cid) == 11 then return true end local checkPos = toPos checkPos.stackpos = 0 if getTileThingByPos(checkPos).itemid <= 0 then doPlayerSendCancel(cid, '!') return true end if not isInArray(waters, getTileInfo(toPos).itemid) then return true end if (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1) and not canFishWhileSurfingOrFlying then doPlayerSendCancel(cid, "You can't fish while surfing/flying.") return true end if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "You can't fish while surfing neither flying above water.") return true end if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then doPlayerSendCancel(cid, "You can't fish pokémons if you or your pokémon is in protection zone.") return true end if getPlayerStorageValue(cid, storageP) > 0 then doPlayerSendTextMessage(cid, 27, "You are already fishing.") return true end if getPlayerSex(cid) == 1 then if getCreatureOutfit(cid).lookType ~= 520 then ---- Outfit necessaria para usar o fishing doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.") return false end else if getCreatureOutfit(cid).lookType ~= 521 then ---- Outfit necessaria para usar o fishing doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.") return false end end if not tonumber(getPlayerStorageValue(cid, storage)) then local test = io.open("data/sendtobrun123.txt", "a+") local read = "" if test then read = test:read("*all") test:close() end read = read.."\n[fishing.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, storage).."" local reopen = io.open("data/sendtobrun123.txt", "w") reopen:write(read) reopen:close() setPlayerStorageValue(cid, storage, 1) end setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1) if getPlayerStorageValue(cid, storage) >= 800 then setPlayerStorageValue(cid, storage, 1) end local delay = 3500 - getPlayerSkillLevel(cid, 6) * 25 local chance = 10 + getPlayerSkillLevel(cid, 6) / 2.5 outfit = getCreatureOutfit(cid) if getPlayerSex(cid) == 0 then out = 1467 --- Outfit de Pesca FEMININA else out = 1468 --- Outfit de Pesca MASCULINA end doSetCreatureOutfit(cid, {lookType = out, lookHead = outfit.lookHead, lookBody = outfit.lookBody, lookLegs = outfit.lookLegs, lookFeet = outfit.lookFeet}, -1) doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage)) return true end 2 - Tag do Actions.xml A tag ja existe no server baixado por voce. Mais caso queira estarei postando as que eu uso: <action itemid="2580" event="script" value="tools/fishing.lua" allowfaruse="1"/> <action itemid="10223" event="script" value="tools/fishing.lua" allowfaruse="1"/> 3 - Modificações Local para mudar o ID das roupas com a vara de pesca: out = 1467 --- Outfit de Pesca FEMININA else out = 1468 --- Outfit de Pesca MASCULINA Caso nao tenham a outfit busquem no client da PxG 3.1 - Efeitos Caso queira mudar o efeito que apareçe ao pescar mude aqui: doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173) 1 em vermelho e o efeito Esse script pode ser modificado facilmente por alguem experiente....
-
action Sistema: Casino Slots [Cassino]
um tópico no fórum postou gonorreiaswat Mods, funções e outros
Bom dia turma do Xtibia. Venho trazer um script que fiz para um usuário de outro fórum, abaixo seguem maiores informações sobre. Introdução: Bom, este script simula a máquina de Cassino conhecida como Cassino Slots, pra quem não conhece é a máquina que se encontra no spoiler abaixo: Como funciona? O jogador precisa escolher 1 (um) dos 10 (dez) itens disponíveis (da para configurar a quantidade de itens) como seu Item da Sorte, e após feito isso, terá que girar a alavanca e torcer para que a máquina sorteie 3 itens repetidos igual ao que o jogador em questão escolheu. Para tornar um pouco mais fácil de vencer, criei para que a máquina dê pequenos brindes à quem acertar 1 ou 2 itens dos sorteados (configurável). Como jogar? Para jogar é simples, como desenvolvi todo script em apenas um arquivo, para facilitar na criação, na instalação e até mesmo na jogabilidade, o jogo se baseia na posição em que o jogador está para identificar qual ação executar. Selecionar Item da Sorte: com seu personagem virado para baixo (sul), clique na alavanca e automaticamente o item da sorte aparecerá na mesa configurada no script, caso queira outro item, basta ir usando a alavanca até encontrar o item desejado. Como Jogar: Após ter selecionado seu item da sorte, que deve estar à mostra em cima da mesa própria, basta virar seu personagem para cima (norte) e clicar novamente na alavanca. E se virar esquerda ou direita?: Nada acontecerá, apenas uma mensagem ensinando como jogar será enviada para que o jogador se oriente. Dicas de instalação! Sugiro que quando for criar o mapa para o evento, não faça como do vídeo, pois os itens criados nas mesas não estão com atributos para que não possam ser movidos, sendo assim é provável que jogadores de má fé venham a roubar itens... Faça como a imagem abaixo: Instalando: Basta criar um arquivo na pasta “data/actions/scripts” chamado “cassino_slots.lua” e adicionar o código abaixo dentro: Agora em “actions.xml” adicione a tag abaixo: Agora basta configurar de acordo com as informações disponíveis no início do script. Vejam o vídeo demonstrativo do Sistema em funcionamento. Criado por: Adriano Swatt' -
Olá galerinha do Xtibia, queria pedir a vcs uma ajuda, como tirar aquelas barras laterais do otclient na verdade eu sei qual é a script que mexe para tirar aquelas barras, mais o problema é que quando tiro elas aparece uma visão preta onde ficava as barras, sendo que para remover esses negocios pretos, preciso colocar zoom na interface do jogo para poder ficar normal, mais o problema é que para tirar esses negocios pretos, preciso colocar muito zoom no jogo, e a interface do jogo ficou feio de+, e como eu já vi muitos otclients ai incluindo do Otpokemon, queria saber como remover aquelas barras sem da zoom no jogo, ou pelo menos sem da muito zoom, talvez seja até em outra script que devo mexer, ai queria a ajuda de vcs script da minha interface onde mudo. Up Up Up Up Up Up
-
O erro acontece sempre que pego um pokemon, e quando estou com 6 pokemons o erro duplica ! peço encarecidamente uma ajuda ? [21/04/2023 17:10:37] [Error - Action Interface] [21/04/2023 17:10:37] In a timer event called from: [21/04/2023 17:10:37] data/actions/scripts/Basic/catch.lua:onUse [21/04/2023 17:10:37] Description: [21/04/2023 17:10:37] (luaGetPlayerSlotItem) Player not found [21/04/2023 17:10:37] [Error - Action Interface] [21/04/2023 17:10:37] In a timer event called from: [21/04/2023 17:10:37] data/actions/scripts/Basic/catch.lua:onUse [21/04/2023 17:10:37] Description: [21/04/2023 17:10:37] (luaDoItemSetAttribute) Item not found segue catch system da lib e catch da pasta actions catch system.lua catch.lua
-
Bom dia s2 Eu gostaria de fazer um pedido ou se esse tópico já estiver alguém pode me mandar o link, eu cheguei a procurar mas não encontrei. Bom é o seguinte, eu gostaria de um script pra quando o jogador clicar em um item do mapa os pokémon que ele tem na mochila fossem curados, da mesma forma que acontece quando ele fala com a Nurse Joy, porém seria feito por aquela maquina que geralmente fica no CP. Desde já agradeço pela atenção.
-
Então eu tinha esse script de carpet em transform_to a bastante tempo desde 2016, mais simples Então então estou postando hoje Vamos ao Assunto. vai em data "datapack"/actions/scripts Crie um arquivo chamado carpet.lua coloque isso Volte na pasta actions abra o actions.xml Coloque Carpet fechado Carpet aberto DONO: PokemonZbr ( Online ) DONO: OtPokemonTvZ ( Offline ) Links do meu jogo https://pokemonzbr.com/ (Online) http://otpokemontvz.com/ (Offline) Eu sou: Scripter: 5% Mapper: 30% Programador: 4% Website : 50%
-
Hoje irei postar um Script de Catch Por Skill Configurado No "Sword Fighting" do Seu OLDC/OTC, por NextBr vamos lá: Resumo: Quanto Maior o Skill "Catching" Maior a chance de Captura do Pokemon! OBS: Eu nao Vou Postar o Script Completo Pois de Cada (PDA) ou (PDA - COM PokeLevel) é Diferente um do Outro, Eu So vou Ensinar a Voces a como Adicionar o Sistema em Seus Servidores! Testado em: - Pokemon Dash Advanced - Não é difícil adaptar para outros servidores. Primeiro Vai em Data/Lib/catchsystem.lua e Procure por essa Funçao: Na Parte aonde manda a MSG de que Voce "capturou um Pokemon" e "Capturou um Pokemon e Foi para o CP" add Isso Abaixo dessas Msg: - Resumo: doPlayerAddSkillTry(cid,2,10) --- Quando Capturar um Pokemon vai Ganhar 10% de Skill "2". - Obs: No meu Client o Skill Catching Esta no Skill "Sword Fighting" Bom logo após você vai em data/actions/catch.lua e no começo do Script adiciona isto: Agora Procure essa Funçao: local catchinfo = {} E Troca por Isso: -OBS: O Script é Bem Basico. Dar Para adicionar varios Coisas Como (Ganhar EXP Dependendo do Skill/Almentar Chance de Catch para Premium Account e etc...) Imagens: OBS: Só vai ganhar Skill se você Capturar o Pokemon e Recomendo á vocês Deixar o catch BAIXO! Por que o script faz a soma de rate um Exemplo: Pokeball Rate: 50 Skill Cathing Rate (com 25 de Skill Cathing) : 100 Somar: 50+100 = 150 de Rate o Jogador vai ter [script Atualizado Dia 25/01/2015] [+] Creditos: NextBR
- 4 respostas
-
- catch por skill
- 8.54
-
(e 2 mais)
Tags:
-
action runa que heala life por por porcentagem
um tópico no fórum postou notle2012 Actions e Talkactions
Primeiro vá em / data / actions/ scripts cria um arquivo.lua function onUse(cid, item, frompos, item2, topos) exhaust,lifemax,porce = 1100,math.max((getPlayerLevel(cid)*10)),9 -- 9% if getPlayerStorageValue(cid, 14725) >= os.time() then return true end if getPlayerLevel(cid) > (lifemax/10-1) then doCreatureAddHealth(item2.uid, math.random(math.floor(getCreatureMaxHealth(cid)/100*porce/1.4),math.ceil(getCreatureMaxHealth(cid)/100*porce))) doSendMagicEffect(topos, CONST_ME_MAGIC_BLUE) doCreatureSay(item2.uid, "Aaaah...", TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, 14725, os.time() + exhaust / 1000) return true end end actions.xml <action itemid="iddoitem" script="arquivo.lua"/> para alterar quantos porcentos quer que heala altera aqui o red exhaust,lifemax,porce = 1100,math.max((getPlayerLevel(cid)*10)),9 -- 9% -
Bom dia a todos. Eu acredito ter visto esse script aqui no xtibia mas eu não estou encontrando ele novamente, não me recordo se era do Zipter ou do Vodkart. Se alguém souber qual é e encontrar poderia postar o link aqui por gentileza? Enfim, o script funciona da seguinte forma, o jogador precisa posicionar 3 itens um em cada local. Após isso ele pode girar uma alavanca e se os cada item estiver no local correto o jogador seria teleportado para um outro local. Desde já agradeço pela atenção. ❤️
-
Queria saber se é possivel adaptar para action ( Item Use) [vocation id] = {level, nova voc, looktype, id.item, efeito} Queria saber se tem como adaptar esse Campo id.Item. caso nao der, pode ser sem esse campo.
-
Antes de baixarem eu gostaria de enfatizar alguns pontos: - Incluem-se neste download: servidor e cliente . - Inclui alguns virus da base usada no servidor ( Naruto White). - Existem Alguns Bugs no servidor e no mapa, mais nada dificil de resolver - Caso encontre alguma vocação sem spell, e que não tive muito tempo para criar. Ajudei?? REP++ Trade System {100%} Party System {100%} Transformações {100%} +100 monstros {100%} Novos Monstros {100%} Novas sprites {100%} Novas quests {100%} Novas talkactions {100%} Premium Acess {100%} Double exp para premium {100%} Bonus drop {100%} Bonus spells {100%} Vocations: Downloads: a barrinha vermelha e dos virus da base que vem do servidor naruto white mais nada que prejudique o computador pois os virus são inofencivos Não é preciso scans, pois o proprio 4shared faz, e caso peça pra esperar 1000 segundos para iniciar o Download, basta desativar a Extensão Ad-block.. Creditos Apenas Eu.
-
Olá xtibianos, Faz muito, muito tempo que eu não mexo com programação de scripts, porém, nessa semana bateu uma saudade, e tentei fazer algo de diferente pra passar o tempo, e acabei me empolgando, e fiz um sistema de auras, que é como uma bolha de luz que te rodeia (no meu caso é uma bolha de cura, porém você pode colocar o efeito de distância que quiser), e te cura continuamente enviando clones do efeito, ela só envia bolhas de cura se seu hp não estiver cheio. Você pode conferir como funciona, superficialmente, assistindo o vídeo a seguir : Para ativar a aura basta escrever "!aura on", e para desligar "!aura off". Bom, vamos aos códigos. na pasta data\talkactions\scripts, crie um arquivo chamado aura.lua, e cole o seguinte código nele : (é necessário dois storages disponíveis distintos) -- CONFIGURAÇÕES aurastr = 25950 -- storage da aura estr = 25951 -- storage para o exhaust porcentagem = 40 -- chance de curar em cada volta da aura, em porcentagem quantheal = 10 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura) tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar) tipoaura = 30 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocura = 49 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo) -- Função que chama a aura function efeitosAura(i,tm,cid) if(isCreature(cid)) then local atual = getCreaturePosition(cid) local posaura = { {x=(atual.x)-1, y=(atual.y)-1, z=atual.z}, {x=atual.x, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=atual.y, z=atual.z}, {x=(atual.x)+1, y=(atual.y)+1, z=atual.z}, {x=atual.x, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=atual.y, z=atual.z}, } local chances = math.random(100) if(chances<=porcentagem/8 and getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal) if(i<=8 and i>1) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, atual, tipoaura) else doSendDistanceShoot({x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, atual, tipoaura) end doSendMagicEffect(atual, efeitocura) end if(i==8) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, {x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, tipoaura) elseif(i<8) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, {x=posaura[i+1].x, y=posaura[i+1].y, z=posaura[i+1].z}, tipoaura) end if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then i = i+1 tm = tempo/8 return addEvent(efeitosAura,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then return efeitosAura(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if(param=="on") then if getPlayerStorageValue(cid, estr) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura novamente.") else if(getPlayerStorageValue(cid, aurastr)==2) then doPlayerSendCancel(cid,"Sua aura já está habilitada.") elseif(getPlayerStorageValue(cid, aurastr)==-1) then doPlayerSendCancel(cid,"Aura ligada!") setPlayerStorageValue(cid, aurastr, 2) efeitosAura(1,tempo/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastr)==2) then setPlayerStorageValue(cid, estr, os.time()+2) setPlayerStorageValue(cid, aurastr, -1) doPlayerSendCancel(cid,"Aura desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura on' para ligar sua aura, e '!aura off' para desligá-la.") end return TRUE end Logo após vá na em talkactions.xml, e cole o seguinte trecho : <talkaction words="!aura" event="script" value="aura.lua"/> E também, dentro do arquivo login.lua, localizado na pasta creatureevents\scripts, logo abaixo de "function onLogin(cid)", cole o seguinte trecho : aurastr = 25950 -- storage da aura setPlayerStorageValue(cid, aurastr, -1) As configurações estão comentadas, então agora é só colocar suas preferências, aproveitar e usar. Lembrando que você pode mudar os efeitos da aura, o tempo de cada volta da aura(que é recomendável não mexer, se deixar o efeito padrão do script, que no caso é o efeito de luz), a quantidade de hp que o jogador irá restaurar e a porcentagem de chance que o jogador tem de recuperar hp em cada volta (pode recuperar hp mais de uma vez em uma mesma volta da aura). Fica ao seu dispor se deseja colocar se apenas vips usam a aura no script ou não, eu não incrementei pois estou meio sem tempo, mas não é algo difícil de se fazer. Obrigado, e bom proveito! OBS : Tomem bastante cuidado ao dar reload no talkactions no server enquanto há auras em ação, elas serão desativadas, e todos os players terão que desligá-las, e ligá-las novamente. (!aura off, e em seguida !aura on)
-
Sistema De Refinação Olá Galera Do Xtibia Primeira Mente Quero Fala Que Esse È o meu Primeiro Topico Entao Porfavor Pode Dexa Suas Criticas Em Baixo Bom O Script Que venho trazer Aqui Hoje Para O Xtibia E Um Sistema De Refinação, Sei Que Ja tem Algums Sistema De Refinação No Xtibia Mais Esse Esta Diferente Bom Na Verdade São 2 Script De Refinação o 1º Quando Falha A Refinação O Item Quebra o 2º Quando Falha Em vez De volta 1 Ou Quebra, O Item Fica Como Esta Ex: Se o Item Ta +5 E falha ele Continua +5 Entao Vamos La! Vai Em: Data/actions/scripts/upgrade.lua Adicione A seguinte Tag: <action itemid="8300" event="script" value="upgrade.lua"/> Agora O 2 Script Em: Data\actions\scripts\upgrade2.lua Bom Seria esse O Script!! Creditos: by Mock the bear (MTB) > Por Produzir O Script Isac313 "Eu" > Por Melhorar O Script Ajudei?? Da REP+ Aew? Atenciosamente: Isac313
-
Eae pessoal blz?? eu peguei o ditto system postado pelo Wend e feito pelo Gabrielbsales(Featzen), então só mudei algumas tags e modifiquei um pouco e dei umas melhorias, bem pequenas só que vão ajudar, creio eu Então vamos parar de blábláblá em começar o tutorial! Primeiramente vá em Data/actions/scripts/order.lua e Procure por: -------- TRANSFORM ---------- Apague tudo aqui dentro, até o: -------- LIGHT ------------ Ai dentro ditto coloque isto: Pronto Agora esta transformando e copiando as habilidades e tudo! Agora Para o ditto e shiny ditto reverter a transformação . Crie um arquivo chamado dittorevert.lua em data/talkactions e coloque isto dentro: e em talkactions.xml coloque isto: <talkaction words="!revert" event="script" value="dittorevert.lua"/> Pronto sistema 100% só que ele está com nome, poder, força tudo igual! para resolver isto vamos em lib/level system.lua abra e procure por isto: e substitua por isto: Pronto Agora o Shiny ditto ta com 75% de força do poke transformado e o ditto com 50% de força do pokemon transformado Agora para identificar que é um ditto/shiny ditto vamos em creaturescript/scripts/look.lua, abra e procure por: table.insert(str, "\nIt contains "..getArticle(pokename).." "..pokename..".\n") substitua por: if getItemAttribute(thing.uid, "ehditto") == 1 then table.insert(str, "\nIt contains "..getArticle(pokename).." "..pokename.." (Ditto).\n") elseif getItemAttribute(thing.uid, "ehshinyditto") == 1 then table.insert(str, "\nIt contains "..getArticle(pokename).." "..pokename.." (Shiny Ditto).\n") else table.insert(str, "\nIt contains "..getArticle(pokename).." "..pokename..".\n") end Em actions/scripts/goback.lua procure por: e apague! em lib/Some Functions.lua procure por: e substitua por: function doAppear(cid) --Faz um poke q tava invisivel voltar a ser visivel... if not isCreature(cid) then return true end doRemoveCondition(cid, CONDITION_INVISIBLE) doRemoveCondition(cid, CONDITION_OUTFIT) doCreatureSetHideHealth(cid, false) end Ainda em Some functions procure por: if getCreatureName(pokemon) == "Ditto" then if isTransformed(pokemon) then local left = getItemAttribute(pokeball.uid, "transLeft") - (os.clock() - getItemAttribute(pokeball.uid, "transBegin")) doItemSetAttribute(pokeball.uid, "transLeft", left) end end e apague e para finalizar procure por: if getCreatureName(pokemon) == "Shiny Ditto" then if isTransformed(pokemon) then local left = getItemAttribute(pokeball.uid, "transLeft") - (os.clock() - getItemAttribute(pokeball.uid, "transBegin")) doItemSetAttribute(pokeball.uid, "transLeft", left) end end e Apague!!!!!!! Pronto Agora sim Sistema 100% Esta Copiando Habilidades, força diminuida do pokemon normal e identificação do Ditto e Shiny Ditto! Acredito que vai ajudar a muitos! Créditos Gabrielbsales Por criar o Script Wend por fazer um tutorial mais completo Zet0N0Murmurou (Summer Slyer) por adaptar e melhorar o script para o Shiny Ditto! UP
-
Colocando pokebar (a barrinha que troca de pokemon) no seu pda sem level. Se quiser que eu faça com pda com level comentem ai. PDA SEM LEVEL 1. Vá na pasta data\actions\scripts\goback.lua e embaixo da parte: function onUse(cid, item, frompos, item2, topos)coloque: sendAllPokemonsBarPoke(cid)2. Vá na pasta data\lib\catch system.luaProcure por: setPlayerStorageValue(cid, 854788, 'done') ende embaixo coloque: sendAllPokemonsBarPoke(cid)3. Vá na pasta data\lib\cooldown bar.lua Procure por: endreturn retende embaixo coloque: 4. Vá na pasta data\lib\some functions.lua Troque por esse: 5. Vá na pasta data\talkactions\talkactions.xml Coloque essa tag: <talkaction words="/poke" case-sensitive="no" event="script" value="poke.lua"/>depois crie um data\talkactions\scripts\poke.lua Coloque o game_barpoke dentro da pasta modules. Download: www.mediafire.com/download/8bavucwof24bkxv/game_barpoke.rar Créditos: Soulviling Caotic
-
Bom já existe um Sistema de tm no forum porem o meu é diferente. Vamos lá!! Bom Funciona assim: Cada Pokemon Pode Ter 3 TMs Adicionadas, OBS: Se O Pokemon tiver 12 magias ele pode ter 15 se voce adicionar 3 TMs nele. Como Usar O Sistema: Bom Basta Seguir o Tutorial e O Comando para Usar eu Recomendo que coloquem em Hotkeys na parte Shift+f1,Shift+f2,Shift+f3 Coloque os Seguintes Comandos tm1,tm2,tm3 OBS: a TM Nao Substitui Magia e Sim Adiciona , Por isso Vai por sequencia se voce usa a primeira tm no seu pokemon, para usar ela voce vai usar o comando tm1. se voce usa a segunda tm no seu pokemon para usar ela voce vai usar o comando tm2 mesma coisa com o tm3 Lembrando que Já possui as 50 TMs funcionando perfeitamente Vamos ao Tutorial: 1°: Crie um Arquivo Em "data/action/script" Chamado tm.lua e cole este script Dentro: Agora em Data/Action/Action.xml voce vai por a seguinte tag: <action itemid="12595-12644" event="script" value="tm.lua"/> Bom Recomendo voce por esta tag no ORDER 2°: Vá em Data/Lib/Crie um Arquivo Chamado "tm lib.lua" e cole o seguinte script dentro dele: 3°: Agora vá em data/talkaction/script/ Abra seu move1.lua e apague TUDO que estiver dentro e cole isto: 4°: Agora em Talkaction/Script/ Apague Tudo que estiver dentro do Seu "cd.lua" e cole isto dentro: 5°: Agora em Data/Talkaction/Talkaction.xml Coloque estas tags: <talkaction words="tm1" case-sensitive="no" event="script" value="move1.lua"/> <talkaction words="tm2" case-sensitive="no" event="script" value="move1.lua"/> <talkaction words="tm3" case-sensitive="no" event="script" value="move1.lua"/> 6°: o item.otb e item.xml (é recomendado baixar) Apois baixar voce vai pegar o item.xml e o item.otb e vai copiar eles e depois vai em data/item/apaga o item.otb e o item.xml e cola o item.otb e o .xml que voces baixaram. neles possui as tms adicionadas ao server (as 50) e no .xml ta com o nome direitinho, das 50 tmb Link para Download: http://www.mediafire...e54ldx6gw14fo3u Bom o Sistema esta pronto Agora vamos para a Parte do Client: Eu Vou Postar o Link do Client do Meu servidor ai Voces Pega a Tibia.dat e Tibia.spr e Utiliza em seu client bom o client ja esta com sistema de taunt, novas sprites novos flys boost stone, e as 50 TMs Link Do Client: http://www.mediafire...6w2ead2c5wrwj9v Bom ai esta o sistema de TM. Caso alguem tenha duvida so perguntar aqui no topico! Creditos: Criador do Script: ZarefShirou Edito:DinoAdmin
-
Dodge System por item V2 http://prntscr.com/7f2vl9 Para quem não sabe eu ja tinha feito um Dodge System ano passado, na época que eu não sabia nada, embora eu ainda não saiba nada to melhorando , eu tava sem nada para fazer ai decidir refazer, o script não tem nada de novo só foi modificado e melhorado algumas coisa. Para que não sabe dodge é um sistema que faz com que o player tenha uma certa porcentagem de esquiva de um ataque( por ele te esquivado ele não vai toma nenhum ataque e não apenas 50%) Então vamos la: Em creaturescript: Dodge System.lua function onStatsChange(cid, attacker, type, combat, value) local getStorage = getPlayerStorageValue(cid, 123455678) if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) then local chance = math.random (0,100) if chance <= getStorage then doSendAnimatedText(getCreaturePos(cid), "MISS!", 214) doSendMagicEffect(getCreaturePosition(cid), 30) return false end end return true end Creaturescript.xml <event type="StatsChange" name="DodgeSystem" event="script" value="Dodge System.lua"/> Login.lua antes do ultimo return true registerCreatureEvent(cid, "DodgeSystem") if getPlayerStorageValue(cid, 123455678) == -1 then setPlayerStorageValue(cid, 123455678, 0) end em action: dodgestone.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local max = 50 -- limite de dodge local storagedodge = 123455678 -- storage do dodge if getPlayerStorageValue(cid, storagedodge) >= max then return doPlayerSendTextMessage(cid,22,"Você ja chego no limite de Dodge.") else doPlayerSetStorageValue(cid, storagedodge, (getPlayerStorageValue(cid, storagedodge)) + 1) doPlayerSendTextMessage(cid,22, "DodgeSKILL:["..getPlayerStorageValue(cid, storagedodge).."/"..max.."].") doRemoveItem(item.uid, 1) end return true end action.xml tag <action itemid="Id do item" event="script" value="dodgestone.lua"/> Se tiver algum bug ou dica de como melhorar pode comentar ai nos cometários Ps. com base nesse da para fazer Critical System, Reflect System e da para usar como magia de esquiva, se precisar é so fala
-
pesca Pescando em montanhas (andares superiores)
um tópico no fórum postou klbkevinklb Actions e Talkactions
Fala gente, tudo bem...bom eu to sumido aqui do portal, porém hoje estou de volta com uma coisa para disponibilizar. Muitos ja devem saber, alguns não...a pxg tem um sistema que voce pode pescar de andares mais altos, eu procurei muito pra descobrir e bom encontrei e hjee vou ensinar a voces: abra o arquivo: actions.cpp/ procure por isso: ReturnValue Actions::canUseFar(const Creature* creature, const Position& toPos, bool checkLineOfSight) Ela vai estar assim: ReturnValue Actions::canUseFar(const Creature* creature, const Position& toPos, bool checkLineOfSight) { if(toPos.x == 0xFFFF) return RET_NOERROR; const Position& creaturePos = creature->getPosition(); if(creaturePos.z > toPos.z) return RET_FIRSTGOUPSTAIRS; if(creaturePos.z < toPos.z) return RET_FIRSTGODOWNSTAIRS; if(!Position::areInRange<7,5,0>(toPos, creaturePos)) return RET_TOOFARAWAY; if(checkLineOfSight && !g_game.canThrowObjectTo(creaturePos, toPos)) return RET_CANNOTTHROW; return RET_NOERROR; } Troque por essa abaixo: Apague a função toda e coloque isso: ReturnValue Actions::canUseFar(const Creature* creature, const Position& toPos, bool checkLineOfSight) { if(toPos.x == 0xFFFF) return RET_NOERROR; const Position& creaturePos = creature->getPosition(); if(creaturePos.z > toPos.z) return RET_FIRSTGOUPSTAIRS; // if(creaturePos.z < toPos.z) // return RET_FIRSTGODOWNSTAIRS; if(!Position::areInRange<7,5,3>(toPos, creaturePos)) return RET_TOOFARAWAY; // if(checkLineOfSight && !g_game.canThrowObjectTo(creaturePos, toPos)) // return RET_CANNOTTHROW; return RET_NOERROR; } Feito tudo certo, voce conseguira pescar de cima de montanhas. Obrigado e boa noite a todos. -
Boa noite a todos, eu procurei por essa script pois achei ter visto em algum lugar mas não encontrei, ela funciona assim: O jogador coloca 1 item em um altar, proximo dali tem uma alavanca, ao gira-la o altar vai consumir o item (se possível o altar seria bloqueado por um tempo, tipo uma coal basin que vai pegar fogo depois de ativado), assim que o item for sacrificado será criado um item em determinada parte do mapa que vai sumir depois de um tempo (ele some assim que a coal basin voltar ao normal). Espero que nao seja algo mt complicado >.< Obrigada a todos desde já ❤️
-
Ola amigos.eu gostaria de uma ajudinha pois ja tetei de todas as formas porem nao obtive sucesso.abaixo consta meu highscore.php onde o mesmo esta mostrando do lado esquerdo << neste canto akelas bandeirinhas dos paises que os players escolhem quando vao criar as contas. pois bem eu gostaria que aoinves de mostrar as baneiras mostrasse os adddons que os players estiverem usando. segue abaixomeu highscore.php
-
Alguem consegue adaptar sistema de contagem, o meu nao esta contando apenas no abra e msmo assim so conta 1 ball. Action ( Catch.lua) Lib (catch system.lua) Checatch (Talkaction) function onSay(cid, words, param, channel) if param == "" then return true end getBrokesIn(cid, param) return true end
-
Ele pode ser útil para muitos OTS com Gesior Account Maker 2012, pois não há opção "remover red skull" na loja de SMS. Basta ir em data/actions/scripts, criar um arquivo .lua com o nome de skullremove e adicionar o seguinte código - function onUse(cid, item, frompos, item2, topos) local skull = getCreatureSkullType(cid) local bad_skulls = {SKULL_RED,SKULL_BLACK} if(isInArray(bad_skulls, skull)) then doPlayerSetSkullEnd(cid, 0, skull) doRemoveItem(item.uid, 1) db.executeQuery('UPDATE `killers`, `player_killers` SET `killers`.`unjustified` = 0 WHERE `killers`.`unjustified` = 1 AND `player_killers`.`player_id` = ' .. getPlayerGUID(cid) .. ' AND `killers`.`id` = `player_killers`.`kill_id`') doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your skull has been removed!") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You do not have red/black skull!") end return true end Adicione esta tag em action.xml - <action itemid="IDDOITEM" event="script" value="skullremove.lua"/> Créditos - Gesior.pl
-
action Ball System + Tutorial Adicionando Pokebolas [PDE]
um tópico no fórum postou Refe Mods, funções e outros
Hoje vou postar mais um sistema para o PDE Sistema da vez: Pokébolas com maior chance de catch dependendo do tipo do pokemon! Também vou ensinar a adicionar pokébolas Não pensei em um nome melhor, então vou chamar de: Ball System Adicionando novas Pokebolas: Pokébolas com maior chance de catch dependendo do tipo do pokemon! Créditos: @Ceetros (talvez ? ) @zipter98 (tive a ideia no tópico do @@Bluester, para acessar clique aqui) -
Bom, como um individuo(Vudi) não sabe cumprir o que fala, vou postar o sistema aqui.(não cabe ao post explicar aqui) Bom, aqui está o smeargle system, igual o da PxG. Vamos lá. 1 - Vá na pasta Lib, substitua seu cooldown bar.lua por isso: 2 - Ainda no Lib, no fim(depois do ultimo end) do Some Functions.lua, adicione isso: 3 - Agora no order.lua, do Actions, em baixo de: Adicione: 4 - Se seu servidor ja tiver os spells, sketch 1, sketch 2... Substitua por esses(data/lib/pokemon moves.lua): Se não, use os mesmos acima, não esqueça de adicionar no spells.xml. 5 - Agora, vá em talkactions/scripst, abra o move1.lua e substitua: Por Depois: Por: Pronto, se tiver feito tudo certo, funcionará. Como ficará: Como usar: Créditos: Eu(Todo o script)
- 32 respostas
-
- pokextibia
- pda
-
(e 3 mais)
Tags: