Pesquisar na Comunidade
Mostrando resultados para as tags ''system''.
Encontrado 115 registros
-
bom preciso de sistema de water pouch de avatar ele funciona assim: 1) dobradores de água só podem usar magia se estiverem perto de água ou gelo, nesse caso x sqms ou usando um pouch cheio de água. . 2) se os dobradores de água tiverem o pouch (item) eles teriam que encher eles dando use na água ou borda e esse item seria transformado em outro item e ganharia o atributo 'water' 100%. 4) ao usasse uma spell esse item iria perder uma % ate chegar a 0 e quando chegasse a 0 ele voltaria a ser o antigo item (antes de ser enchido e transformado) que esse item poderia ser enchido novamente. 5) agradeço a quem ajudar, pq já procurei esse sistema em vários lugares e todos que achei tem bugs 6) uso a base do tibia 9.86 chamado eorzea @up @up
-
Bom dia, galera... Eu mais uma vez (como de costume) aqui com os scripts problematicos. Enfim to com um reset system aqui por talkaction, e ele funciona normal, mas quando reseta ele mantem a mana e health do antigo level. Eu gostaria que quando desse reset a mana e health ficasse compativel com level para que o char voltou. Outra coisa tambem, ali no script tem a função de mostrar no look do char quantos resets ele tem, e também não funciona. Se alguém puder me ajudar ai com isso, ficarei eternamente agradecido. function onSay(cid, words, param) local level = 2000 --level pra ser resetado local RemainingLvl = 20 --lvl que ele ficara depois do reset local pid = getPlayerGUID(cid) function addReset(cid) resets = getResets(cid) setPlayerStorageValue(cid,1020,resets+1) look = true return true end function getResets(cid) resets = getPlayerStorageValue(cid,1020) if resets < 0 then resets = 0 end return resets end if getPlayerLevel(cid) >= level then addReset(cid) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerPopupFYI(cid,"you now was reset, you have "..getResets(cid).." reset.") doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level` = "..RemainingLvl..", `experience` = 0 WHERE `id` = "..pid) function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) then resets = getPlayerStorageValue(thing.uid, 1020)+1 doPlayerSetSpecialDescription(thing.uid, "\nResets: [" .. resets .."]") end return true end else doPlayerSendCancel(cid, "You need to have level "..level.." or more you may be reset.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return TRUE end
-
Boa noite Galera! Estou com um grande problema para adaptar esse sistema em meu ot alguém poderia me ajudar? estou usando o tfs 0.4 aqui esta o sistema! em data/actions/scripts/gems.lua Quote function onUse(cid, item, fromPosition, itemEx, toPosition) gem = gems.id[getPlayerVocation(cid)] if item.itemid == gem then doUseGem(cid, item, getPlayerVocation(cid)) end return TRUE end data/actions/actions.xml Quote <action itemid="2156" script="gems.lua"/> <action itemid="2155" script="gems.lua"/> <action itemid="2158" script="gems.lua"/> <action itemid="2153" script="gems.lua"/> data/lib/Pivi.lua Quote function doUseGem(cid, item) local voc = getPlayerVocation(cid) local interval = gems.interval[voc] if item.itemid ~= gems.id[voc] or getPlayerStorageValue(cid, gems.storage[voc]) > 0 then return FALSE end setPlayerStorageValue(cid, gems.storage[voc], 1) sendGemEffect(cid, gems.storage[voc], gems.interval[voc]) doRemoveItem(item.uid, 1) return TRUE end function sendGemEffect(cid, storage, interval) local pos = getThingPos(cid) local voc = getPlayerVocation(cid) local color = 1 if voc == 1 then color = gemMsg.colorDruid[math.random(1,#gemMsg.colorDruid)] elseif voc == 2 then color = gemMsg.colorSorcerer[math.random(1,#gemMsg.colorSorcerer)] elseif voc == 3 then color = gemMsg.colorPaladin[math.random(1,#gemMsg.colorPaladin)] elseif voc == 4 then color = gemMsg.colorKnight[math.random(1,#gemMsg.colorKnight)] elseif voc == 5 then color = gemMsg.colorDruid[math.random(1,#gemMsg.colorElderDruid)] elseif voc == 6 then color = gemMsg.colorSorcerer[math.random(1,#gemMsg.colorMasterSorcerer)] elseif voc == 7 then color = gemMsg.colorPaladin[math.random(1,#gemMsg.colorRoyalPaladin)] elseif voc == 8 then color = gemMsg.colorKnight[math.random(1,#gemMsg.colorEliteKnight)] end doSendAnimatedText(pos, gemMsg.rnd[math.random(1,#gemMsg.rnd)], color) if getPlayerStorageValue(cid, gems.storage[getPlayerVocation(cid)]) >= 1 then addEvent(sendGemEffect, interval, cid, storage, interval) end end function doRemoveGemEffect(cid) if getPlayerStorageValue(cid, gems.storage[getPlayerVocation(cid)]) < 1 then return FALSE end setPlayerStorageValue(cid, gems.storage[getPlayerVocation(cid)], 0) return TRUE end function doRemoveAllGemEffect(cid) for i = 1, table.maxn(gms.storage) do setPlayerStorageValue(cid, gems.storage, 0) end return TRUE end function isGemActivated(cid) if getPlayerStorageValue(cid, gems.storage[getPlayerVocation(cid)]) > 0 then return TRUE end return FALSE end data/lib/Pivi_const.lua Quote gems = { id = {2156, 2155, 2158, 2153, 2156, 2155, 2158, 2156}, storage = {5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008}, interval = {600, 600, 600, 600, 600, 600, 600}, -- Intervalo dos efeitos } gemMsg = { rnd = {"´ . ,", ". ´ ,", "` . ,", ", ´ ."}, colorDruid = {182,213}, colorSorcerer = {215,215}, colorPaladin = {89,89}, colorKnight = {210,210}, colorElderDruid = {182,213}, colorMasterSorcerer = {215,215}, colorRoyalPaladin = {89,89}, colorEliteKnight = {210,210} } data/item/items.xml Quote 2155 - Gema de Druid 2156 - Gema de Sorcerer e Knight 2158 - Gema de Paladin
-
Gostaria de fazer um pedido simples (espero que seja simples) um Pet System (Mas tem vários no site), não achei nenhum (se já tiver, manda link que eu removo o tópico) Direto ao assunto: o pet system tem que ser parecido com um pet na vida real, ele fica na house, independente do player estar ou não online, e temos que alimentar ele com X item (configurável), ele nao ataca ninguem, não sai da house, ele apenas fica em casa e come (vida boa)
-
:XTibia_smile:ArenaUp System :XTibia_smile: Ola pessoal venho por meio deste tópico disponibilizar um sistema de arenaup que eu meu amigo desenvolveu! O sistema funciona da seguinte maneira: "!arenaup enter,<monster>" -> Player entra na arena, apartir disto será sumonado 9 monstros a cada 5 segundos Condições: Necessario item e level minimo para entrar. O player fica dentro da arena no maximo 1h configuravel. Caso morrer a arena é limpa e setada como livre. Player so pode entrar na arena com algum montro preselecionado configuravel. "!arenaup leave" -> Player sai da arena. Instalação do Script Explicações das variaveis na lib, configurações do script tb na lib Em data/lib crie um arquivo chamado ArenaLib.lua e coloque isso dentro: Em creaturescripts.xml: Em creaturescripts/script/login.lua abaixo de function onLogin(cid) coloque: Na mesma pasta cria um arquivo chamado arenaup.lua e coloque: Em talkactions.xml coloque: em talkactions/scripts crie um arquivo arenaup.lua e coloque dentro: Após feito isso o script esta instalado!
-
Auguem poderia ajudarme com o sistema da dodge e critical system agradeço desde ja ! Que quando ativado subir status . tipo [Dodge] ou Critical!
-
Alguém poderia ajudar meu servidor não tem o comando /addvip, mais sabendo que tem o vip pois tem um tile que a action=5955 e quando tento passar da isso: Somente Premium Accounts. Adquira sua VIP queria saber como adicionar o comando /addvip para adicionar o vip ao player
-
alguém poderia me ajudar tenho addon system no meu server mais quando uso fly ou ride ou surf não aparece o addon, addon system: http://www.xtibia.com/forum/topic/194023-download-addons-pokemons-151/
-
Bom gente este sistema foi desenvolvido propriamente para o servidor Pokemon Imperium, porém devido á chegada de novas ideias o sistema acabou sendo deixado de lado e aqui está a demonstração de seu uso. Provavelmente postarei este sistema logo mais. O DESIGN UTILIZADO FOI O TESTE ENTÃO NÃO REPAREM
- 4 respostas
-
- pokemon imperium
- system
- (e 1 mais)
-
Gostaria de saber o script (acho q e isso ) Das auras system (Que vem quando o pokemon e capturado na premier ball, ou quando o pokemon fica com boost +50 (essas auras podem mudar de cor com um comando sen me engano )) Segue as prints dessas auras: Obs Se tiver na área errada, sorry (JA POSTEI NUMA ÁREA, MAS PELO VISTO, NENHUMA RESPOSTA COM A SCRIPT )
-
Gostaria de saber o script (acho q e isso ) Das auras system (Que vem quando o pokemon e capturado na premier ball, ou quando o pokemon fica com boost +50 (essas auras podem mudar de cor com um comando sen me engano )) Segue as prints dessas auras: Obs Se tiver na área errada, sorry
- 28 respostas
-
- pxgaura system
- system
- (e 4 mais)
-
Bom galera, eu tenho um mapa aqui, eu uso TFS 0.4 nele, eu que compilei e tals, uso esse distro em todo mapa que eu tenho, mas nesse, aparece um problema que eu não entendi, ai vai uma screenshot: Quero resolver essa parada logo! Por favor galera! Obrigado! up up!
-
Esse script foi feito por Codex NG. Bom, o nome já diz tudo então... Bom proveito! global.lua function upGradeSpells(player, words, tier, max) if player:getStorageValue(SPELL_WORDS[words]) < max then if player:getStorageValue(SPELL_WORDS[words]) < TIER[tier] then player:setStorageValue(SPELL_WORDS[words], TIER[tier]) player:getPosition():sendMagicEffect(CONST_ME_CONFETTI_HORIZONTAL) doCreatureSay(cid, tier, TALKTYPE_ORANGE_1, false, 0, player:getPosition()) elseif player:getStorageValue(SPELL_WORDS[words]) == TIER[tier] then player:sendCancelMessage("You've already scribed a this version of the spell.") player:getPosition():sendMagicEffect(CONST_ME_POFF) return false else player:sendCancelMessage("You already have a higher spell version scribed.") player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end else player:sendCancelMessage("You've reached the maximum tier for this spell.") player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end end --light, haste, single targets, area, single target heal, support spell, speed SPELL_WORDS = { ["exura dis"] = 1001, ["exevo dis flam hur"] = 1002, ["exiva"] = 1003, ["exori min flam"] = 1004, ["utevo lux"] = 1005, ["exura"] = 1006, ["exani tera"] = 1007, ["exura ico"] = 1008, ["exana pox"] = 1009, ["exani hur"] = 10010, ["exori vis"] = 10011, ["exori tera"] = 10012, ["exevo con"] = 10013, ["utevo gran lux"] = 10014, ["exori flam"] = 10015, ["exevo pan"] = 10016, ["adevo grav pox"] = 10017, ["utamo vita"] = 10018, ["utani hur"] = 10019, ["adevo grav flam"] = 10020, ["exori frigo"] = 10021, ["adori min vis"] = 10022, ["adana pox"] = 10023, ["adura gran"] = 10024, ["exori moe ico"] = 10025, ["exevo con pox"] = 10026, ["exori mort"] = 10027, ["exori ico"] = 10028, ["adeta sio"] = 10029, ["adito grav"] = 10030, ["exevo con mort"] = 10031, ["adevo grav vis"] = 10032, ["exevo flam hur"] = 10033, ["exura sio"] = 10034, ["exevo frigo hur"] = 10035, ["exura gran"] = 10036, ["utani gran hur"] = 10037, ["exeta res"] = 10038, ["adori blank"] = 10039, ["adito tera"] = 10040, ["exana vis"] = 10041, ["exevo vis lux"] = 10042, ["utevo res ina"] = 10043, ["exori con"] = 10044, ["exevo con hur"] = 10045, ["adori tera"] = 10046, ["adura vita"] = 10047, ["adevo mas pox"] = 10048, ["adori vis"] = 10049, ["exevo con flam"] = 10050, ["utani tempo hur"] = 10051, ["utevo res"] = 10052, ["utori flam"] = 10053, ["utevo vis lux"] = 10054, ["exana ina"] = 10055, ["adevo mas flam"] = 10056, ["adevo res flam"] = 10057, ["adori san"] = 10058, ["adori flam"] = 10059, ["adevo ina"] = 10060, ["adana mort"] = 10061, ["adevo grav vita"] = 10062, ["adori frigo"] = 10063, ["exori hur"] = 10064, ["adori mas vis"] = 10065, ["adori mas tera"] = 10066, ["exevo gran vis lux"] = 10067, ["adevo mas grav pox"] = 10068, ["exura vita"] = 10069, ["exana flam"] = 10070, ["adori mas frigo"] = 10071, ["adori mas flam"] = 10072, ["adevo mas hur"] = 10073, ["adevo grav tera"] = 10074, ["utura mas sio"] = 10075, ["utori mas sio"] = 10076, ["utito mas sio"] = 10077, ["utamo mas sio"] = 10078, ["adevo mas grav flam"] = 10079, ["exevo con grav"] = 10080, ["exori mas"] = 10081, ["utori vis"] = 10082, ["utana vid"] = 10083, ["exori"] = 10084, ["exura san"] = 10085, ["exura gran mas res"] = 10086, ["adevo mas vis"] = 10087, ["exevo vis hur"] = 10088, ["exevo tera hur"] = 10089, ["exori san"] = 10090, ["exevo gran frigo hur"] = 10091, ["utori kor"] = 10092, ["adevo mas grav vis"] = 10093, ["exeta vis"] = 10094, ["exeta con"] = 10095, ["exana kor"] = 10096, ["adori gran mort"] = 10097, ["utura"] = 10098, ["utori pox"] = 10099, ["exevo mas san"] = 100100, ["adana ani"] = 100101, ["utamo tempo san"] = 100102, ["exevo gran mas tera"] = 100103, ["utamo tempo"] = 100104, ["exevo gran mas vis"] = 100105, ["exori amp vis"] = 100106, ["exevo con vis"] = 100107, ["utito tempo san"] = 100108, ["exura gran san"] = 100109, ["exevo gran mas frigo"] = 100110, ["exevo gran mas flam"] = 100111, ["utito tempo"] = 100112, ["exori gran tera"] = 100113, ["exori gran flam"] = 100114, ["exori min"] = 100115, ["utori san"] = 100116, ["utori mort"] = 100117, ["exori gran vis"] = 100118, ["exana mort"] = 100119, ["exura gran ico"] = 100120, ["exori gran frigo"] = 100121, ["exori max flam"] = 100122, ["exori max tera"] = 100123, ["exori gran con"] = 100124, ["exori gran"] = 100125, ["exori max frigo"] = 100126, ["exori max vis"] = 100127, ["utura gran"] = 100128, ["exori gran ico"] = 100129 } TIER = { ["Apprentice"] = 0, ["Journeyman"] = 1, ["Adept"] = 2, ["Expert"] = 3, ["Master"] = 4, ["Grandmaster"] = 5 } Isso é salvo em chatchannels data\chatchannels\chatchannels.xml <?xml version="1.0" encoding="UTF-8"?> <channels> <channel id="2" name="Tutor" script="tutor.lua" /> <channel id="3" name="World Chat" public="1" script="worldchat.lua" /> <channel id="4" name="Spells" public="1" script="spells.lua" /> <channel id="5" name="Trade" public="1" script="advertising.lua" /> <channel id="6" name="Advertising-Rookgaard" public="1" script="advertising-rook.lua" /> <channel id="7" name="Help" public="1" script="help.lua" /> <channel id="8" name="Gamemaster" script="gamemaster.lua" /> </channels> data\chatchannels\scripts\spells.lua local CHANNEL_CHARACTER = 4 local tier = { [0] = "[ Apprentice ]", [1] = "[ Journeyman ]", [2] = "[ Adept ]", [3] = "[ Expert ]", [4] = "[ Master ]", [5] = "[ Grandmaster ]" } local function listSpells(player) local count = getPlayerInstantSpellCount(player) local text = "" local t = {} for i = 0, count - 1 do local spell = getPlayerInstantSpellInfo(player, i) if spell.level ~= 0 then if spell.manapercent > 0 then spell.mana = spell.manapercent .. "%" end t[#t+1] = spell end end table.sort(t, function(a, b) return a.level < b.level end) local prevLevel = -1 for i, spell in ipairs(t) do local line = "" if prevLevel ~= spell.level then if i ~= 1 then line = "\n" end line = line .. "\nSpells for Level " .. spell.level .. "\n" prevLevel = spell.level player:sendChannelMessage(cid, line, TALKTYPE_CHANNEL_O, CHANNEL_CHARACTER) end if player:getStorageValue(SPELL_WORDS[spell.words]) > 0 then local index = player:getStorageValue(SPELL_WORDS[spell.words]) text = " " .. spell.words .. " " .. tier[index] .. " - " .. spell.name .. " : " .. spell.mana .. "\n" else text = " " .. spell.words .. " " .. tier[0] .. " - " .. spell.name .. " : " .. spell.mana .. "\n" end player:sendChannelMessage(cid, text, TALKTYPE_CHANNEL_Y, CHANNEL_CHARACTER) end end function onJoin(player) addEvent(listSpells, 100, player) return true end function onSpeak(player, type, message) player:sendCancelMessage("You may not speak in this chat.") return false end Exemplo: data\chatchannels\actions\scripts\spells.lua function onUse(cid, item, fromPosition, itemEx, toPosition, isHotkey) upGradeSpells(cid, "exevo pan", 1, item) return true end Exemplo em Spell: local food = { 2666, -- meat 2671, -- ham 2681, -- grape 2674, -- apple 2689, -- bread 2690, -- roll 2696 -- cheese } function onCastSpell(creature, var) if not creature:isPlayer() then return false end if creature:getStorageValue(SPELL_WORDS["exevo pan"]) > 0 then -- if the tier is higher then apprentice increase the amount of food created creature:addItem(food[math.random(#food)], (creature:getStorageValue(SPELL_WORDS["exevo pan"]) + 1)) creature:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) else -- else give 1 piece of food creature:addItem(food[math.random(#food)], 1) creature:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) end return true end
-
O script consiste em quando você der look no player irá aparecer se ele é VIP ou FREE e quantas pessoas ele já matou (frags). SS: lookplayer.lua (data/creaturescripts/scripts) function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = {date = result:getDataInt("date")} if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = { day = table.maxn(contents.day), week = table.maxn(contents.week), month = table.maxn(contents.month) } return size.day + size.week + size.month end function onLook(cid, thing, position, lookDistance) local string = 'You see yourself.' if isPlayer(thing.uid) and thing.uid ~= cid then if getPlayerPremiumDays(thing.uid) > 0 then doPlayerSetSpecialDescription(thing.uid,'[Frags: '..getPlayerFrags(thing.uid)..'][VIP]') else doPlayerSetSpecialDescription(thing.uid,'[Frags: '..getPlayerFrags(thing.uid)..'][FREE]') end elseif thing.uid == cid then if getPlayerPremiumDays(cid) > 0 then doPlayerSetSpecialDescription(cid,'[Frags: '..getPlayerFrags(cid)..'][VIP]') else doPlayerSetSpecialDescription(cid,'[Frags: '..getPlayerFrags(cid)..'][FREE]') end if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then string = string..' You are '.. getPlayerGroupName(cid) ..'.' elseif getPlayerVocation(cid) ~= 0 then string = string..' You are '.. getPlayerVocationName(cid) ..'.' else string = string..' You have no vocation.' end string = string..getPlayerSpecialDescription(cid)..'' if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.' end if getPlayerGuildId(cid) > 0 then string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid) string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then string = string..'\nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].' string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].' end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string) return false end return true end creaturescripts.xml <event type="look" name="LookPlayer" event="script" value="lookplayer.lua"/> login.lua (data/creaturescripts) registerCreatureEvent(cid, "LookPlayer") Créditos: Taag - Suicide
-
Demonstração O script consiste em fazer um minigame da Snake (lá do nokia, heheh). Quanto mais a "cobra" pegar os bolos/comida irá acrescentar mais e mais caixas/blocos ao seu "corpo". Instalação: snakesys.lua (data/lib) [EDITE DE ACORDO COM SEU SERVIDOR] Edite essas linhas em sua lib para combinar com o mapa: itemid=1860, freeglobalstorage=28103, -- se nao souber mexer, nao mexa itemFood=6394, controlpos= {x = 28, y = 198, z = 6}, -- posiçao onde o player vai ficar exitpos = {x = 36, y = 190, z = 7}, -- posiçao que o player vai sair centerpos= {x = 27, y = 197, z = 7}, -- posiçao central wallID = 1486, -- id da parede ao redor da arena interval = 300, -- velocidade no qual a cobra ira se mover Quatro pisos ao redor da posição de controle: local generated = { {x = 28, y = 197, z = 6}, {x = 29, y = 198, z = 6}, {x = 28, y = 199, z = 6}, {x = 27, y = 198, z = 6} } Primeiro piso: Segundo piso: actions.xml (data/actions) <action actionid="200" script="snake.lua"/> snake.lua (data/actions/scripts) function onUse(player, item, fromPosition, itemEx, toPosition) if (Game.getStorageValue(SNAKE.freeglobalstorage)) ~= 1 then player:teleportTo(SNAKE.controlpos) SNAKE.timer(player.uid,1,nil,1000) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Segure o CTRL e use as setas para controlar a cobra.') SNAKE.generateFood() else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Aguarde, por favor.') end end PS: Peguei de um fórum que estava em inglês e traduzi. PS²: É um script antigo porém funcional. Créditos: Mock the bear
-
O script consiste em, ao clicar, lançar uma flecha que, ao chegar no target, dará certo dano. Sendo assim, um bom script para Paladino. SS: ballista.lua (data/actions/scripts) local config = { shootRange = 7, damage = {50, 100}, -- dano minimo/maximo shootEffect = CONST_ANI_HUNTINGSPEAR, impactEffect = CONST_ME_HITAREA, exhaustOnUse = 300, -- tempo de recarga em segundos direction = { [5692] = DIRECTION_NORTH, [5701] = DIRECTION_EAST, [5698] = DIRECTION_WEST, [5695] = DIRECTION_SOUTH } } local exhaust = Condition(CONDITION_EXHAUST_WEAPON) exhaust:setParameter(CONDITION_PARAM_TICKS, config.exhaustOnUse) function onUse(player, item, fromPosition, target, toPosition, isHotkey) if player:getCondition(CONDITION_EXHAUST_WEAPON) then player:sendTextMessage(MESSAGE_STATUS_SMALL, Game.getReturnMessage(RETURNVALUE_YOUAREEXHAUSTED)) return true end player:addCondition(exhaust) for i = 1, config.shootRange do local nextPosition = item:getPosition() nextPosition:getNextPosition(config.direction[item.itemid], i) local tile = Tile(nextPosition) if tile then local topCreature = tile:getTopCreature() if topCreature then toPosition:sendDistanceEffect(topCreature:getPosition(), config.shootEffect) doTargetCombatHealth(player, topCreature, COMBAT_PHYSICALDAMAGE, -config.damage[1] * i, -config.damage[2] * i, config.impactEffect) return true end end end local nextPosition = item:getPosition() nextPosition:getNextPosition(config.direction[item.itemid], config.shootRange) toPosition:sendDistanceEffect(nextPosition, config.shootEffect) return true end actions.xml (data/actions) <action itemid="id" event="script" value="ballista.lua"/> Créditos: Printer
-
Já que tô de bobeira nessa madrugada, não custa nada refazer uns sistemas né. O sistema consiste em não permitir o uso do Magebomb ou fazer (o famoso) MC. antimagemc.lua (data/creaturescripts/scripts) Creaturescripts.xml (data/creaturescripts) <event type="login" name=antimagemc" event="script" value="antimagemc.lua"/> PS: Tirei os acentos do script para evitar futuros bugs. PS²: Eu tirei o script de um fórum gringo e reformulei. Créditos: Gringo desconhecido.
-
O script consiste em não deixar que players da mesma guild se ataquem (se matem). creaturescripts.xml (data/creaturescripts): <event type="attack" name="attackguild" script="attackguild.lua"/> attackguild.lua (data/creaturescripts/scripts):
-
action Sistema de nocautear e assaltar o player
um tópico no fórum postou TaaG Actions e Talkactions
Vídeo demonstração Instalando: steal.lua (data/actions/scripts) Actions.xml (data/actions) <action itemid="id da runa/item" event="script" value="steal.lua"/> Créditos: CandleJack -
Falaê galera. Hoje vou trazer um script do Wise que achei bem interessante e não achei aqui. O que isso faz? Faz com que o player necessite se alimentar para parar de perder vida, caso não se alimente, sua vida irá descer até 0. Caso o player morra, quando entrar, ele vai continuar perdendo a porcentagem de HP, até que enfim se alimente. Acredito que seja bom para servidores sérios. Versões testadas: TFS 0.3.6, mas pelas funções, acho que execute de boa também com TFS 1.0 e com o TFS 0.4. Bora lá. Vá em data\creaturescripts\scripts, crie um .lua chamado checkhunger e adicione isso: -- Developed by Wise local t = { hp = 2, -- % maxTime = 25 * 60, -- minutes * 60 lossInterval = 5, -- seconds hstor = 98765 -- hunger storage } function checkHunger(cid) local h = getPlayerStorageValue(cid, t.hstor) local loss = t.lossInterval > 1 and t.lossInterval or 2 if getPlayerFlagValue(cid, PLAYERFLAG_CANNOTBEATTACKED) then return true elseif getPlayerFood(cid) < 1 then if h <= t.maxTime then if h < 0 then setPlayerStorageValue(cid, t.hstor, 0) end setPlayerStorageValue(cid, t.hstor, getPlayerStorageValue(cid, t.hstor) + 1) else addEvent(function() if isPlayer(cid) then doCreatureAddHealth(cid, -(t.hp * (getCreatureMaxHealth(cid) / 100))) end end, (loss - 1) * 1000) end else if h > 0 then setPlayerStorageValue(cid, t.hstor, 0) end end addEvent(function() if isPlayer(cid) then checkHunger(cid) end end, 1000) return true end function onLogin(cid) return checkHunger(cid) and true end Agora vá em data\creaturescripts e abra o creaturescripts.xml, adicione a seguinte tag: <event type="login" name="checkHunger" event="script" value="checkhunger.lua"/> Configuração: local t = { hp = 2, -- porcentagem de HP que o player perderá maxTime = 25 * 60, -- tempo máximo para ficar sem se alimentar em minutos * 60 (no caso, seriam 25 minutos, ou seja, 1500 segundos) lossInterval = 5, -- tempo do intervalo de perda da porcentagem do HP, em segundos (no caso, perderia a porcentagem estipulada a cada 5 segundos) hstor = 98765 -- storage que faz a contagem do tempo máximo } Créditos: Wise Enjoy it!
- 1 resposta
-
- suicidehunger
- system
- (e 2 mais)
-
Eu uso o Seguinte Sistema de Addon http://www.xtibia.com/forum/topic/234479-sistema-de-addon/ maisnele não tem suporte a addon com flying ou surf ou habilidade como Shereder Team , Team Slicer. Se Alguem Puder Adaptar ao sistema Agradeceria muito , Irei dar rep + a semana toda. up
-
Bom gente, coloquei um zombie event no meu server, está tudo ok, menos os Zombies.. É assim: 1- O Zombie NÃO pode ser atacado; 2- O Zombie NÃO mata o player em 1 hit(estou com DONATE Set, mas devia funcionar) tem que matar o player ao encostar no mesmo; 3- Como um KNIGHT vai participar do evento, se o zombie tem que matar o player em 1 hit? Somente encostando no player; 4- Como configuro para quando sobrar apenas 1 player na arena, acabar o evento e ele receber os prêmios, depois de 3 segundos ? Ai vai o meu evento: creaturescripts/scripts/login.lua creaturescripts/scripts/zombieevent.lua creaturescripts/creaturescripts.xml globalevents/scripts/fechazombie.lua globalevents/scripts/zombieevent.lua globalevents/globalevents.xml monsters/Zombie event.xml monsters.xml movements/scripts/zombieevent.lua movements/movements.xml Créditos: Smart Maxx POR FAVOR ME AJUDEM! up up
-
Bom gente, eu adicionei o War System no meu server, achei em outro fórum. Bom, TUDO está funcionando perfeitamente, só 2 coisas que me perturbam, porém não são erros(eu acho) que são: 1º Mãozinha fechada 2º PZ Bom gente, é isso, quero muito a ajuda de vocês, obrigado!
-
Bom gente, agradeço desde já. Quero um sistem de PET, pode ser em MODs ou na pasta DATA do server mesmo.. Assim: Existiriam 2 tipos de PETs, os de distance e os que atacam em melee. Porém, existiriam 4 pets, e cada um para um level de player. X pet é para player level X+, Y pet é para player level Y+, Z pet é para player level Z+ e A pet é para player level A+. Eles upariam de level como os players, porém mais devagar, seu level máximo seria 30. Cada PET teria um "ovo", e para possuir o pet, o player deveria dar use no ovo do respectivo pet, ao dar use no ovo, ele sumiria, e você recebe a mensagem "parabéns, voce habilitou X pet.". Para dar use no ovo, o player deve ser X level+, leveis diferentes para cada ovo. Existiriam os seguintes comandos: Também existiria um NPC que revive o PET X se ele estiver "morto". Você fala: hi revive O npc pergunta qual pet você fala o nome, se você nao possuir ele, o npc fala que vc não tem, se não existir o nome, o npc fala que não existe esse pet. Para reviver ele, você precisaria de X item, ou X valor de coins. Ai depois você fala: yes ou no O player pode ter os 4 pets, mas ele teria que dar use no ovo de cada um. Então precisaria de X level para dar use em todos. Os PETs poderiam usar algumas magias que existissem no server, porém, somente 3 magias. 1 de healar, 1 de ataque em área, 1 de dano com target. A de healar, ele usasse quando a vida dele estivesse com menos de 70%, e a spell healaria dependendo do level do pet, uma porcentagem de life. A de dano em área, o player deveria usar o comando O look dos pets seriam definidos onde vocês quiserem! A cada level que o pet upa, eles ganhariam: X de life e Y de mana e Z de skill de dano. Como existem 4 pets, e cada um com um level, o ganho de life, mana e skill de dano de cada pet, seria configurado um por um, e não o mesmo para todos! Também coloquem algum lugar para configurar o dano, a life e a mana dos pets quando level 1. Se tiver faltando algo, eu edito o post! Se puderem, criem uma spell de healar especialmente para os PETs. Eu gostaria de marcar alguns membros aqui que talvez possam me ajudar, sem querer desmerecer NINGUÉM NO XT: @Night Wolf @zipter98 @luanluciano93 @fireelement @RigBy @Bruno Minervino @Kissy @MudrocK up