Jump to content

Search the Community

Showing results for tags 'action'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Recursos
    • Suporte
    • Pedidos
    • Downloads
  • OFF-Topic

Categories

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Sou

Found 850 results

  1. 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)
  2. Fala galera tudo bem? Essa semana teve um membro que pediu um evento de double exp até que consegui fazer usando alguns scripts como base, então vamos ao código. INSTALAÇÃO Vá em data/creaturescripts/scripts e em creaturescripts.xml adicione a seguinte tag. <event type="kill" name="ExpBonus" event="script" value="exp.lua"/> Em data/creaturescripts/scripts crie um arquivo .lua e renomeie para exp.lua e adicione o seguinte código. function onKill(cid, target) if isPlayer(cid) and isMonster(target) then if getGlobalStorageValue(102590) - os.time() >= 1 then local exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier) local count = ((getMonsterInfo(string.lower(getCreatureName(target))).experience*1.5*exp)/2) doPlayerAddExperience(cid, count) addEvent(doSendAnimatedText, 500, getCreaturePosition(cid), '+'..count, math.random(50,60)) end else return TRUE end return TRUE end Agora no data/creaturescripts/scripts e login.lua adicione a seguinte tag. registerCreatureEvent(cid, "ExpBonus") Agora vá em data/talkactions/scripts talkactions.xml <talkaction words="/doubleexp" access="5" event="script" value="exp.lua"/> Em data/talkactions/scripts crie um arquivo.lua e o renomeio para exp.lua e adicione o seguinte código dentro. function onSay(cid, words, param, channel) local config = { storage = 102590, } if(param == 'cancel') then if getGlobalStorageValue(config.storage) > 0 then setGlobalStorageValue(config.storage, -1) doBroadcastMessage("Double Exp cancelado") end return true end param = tonumber(param) if(not param or param < 0) then doPlayerSendCancel(cid, "Digite por quantas horas o evento ira durar") return true end if getGlobalStorageValue(config.storage) - os.time() <= 0 then setGlobalStorageValue(config.storage, os.time()+param*60*60) doBroadcastMessage("Exp bonus ativado 50% + EXP por "..param.." horas! Aproveite.") end return true end COMO UTILIZAR Para ativar o comando digite /doubleexp Quantidade de horas que vai durar o evento Exemplo /doubleexp 3 o evento ira durar por 3 horas. Para cancelar o evento basta digitar /doubleexp cancel apenas os GOD'S podem utilizar os 2 comandos. Créditos --- Pela postagem do tópico e edição nos códigos. --- Por eu tê pego uma parte de um script dele do creaturescripts. Espero que gostem
  3. Boa Tarde... Venho Trazer a Vocês uma Potion de Double Exp. Essa Potion Você Pode Morrer, Sair, Voltar que ela Não perde o Efeito! Essa Potion Depois de usada, Sua Exp Sera Aumentada conforme a Configuração que Fizer nela! Testada em OTServers 8.6 - 0.4.1 Vamos la! Em mods Crie um Arquivo chamado Doubleexppotion.xml e Dentro dele Adicione: <?xml version="1.0" encoding="UTF-8"?> <mod name="AdvancedExpPotionSystem" enabled="yes" author="MatheusMkalo" forum="XTibia.com"> <!-- Configs and Functions --> <config name="PotionExpConfigs"><![CDATA[ ------ CONFIGURE SEU SCRIPT ------ TRUE ou FALSE configs = { time = 30, ---- TIME IN MINUTES needpa = TRUE, needlvl = {TRUE, level = 50}, costmana = {TRUE, mana = 300}, addrate = 50, -- Exp que vai adicionar em % removeonuse = TRUE } function getTime(s) local n = math.floor(s / 60) s = s - (60 * n) return n, s end CreatureEventChecker = function(event, ...) -- Colex if isCreature(arg[1]) then event(unpack(arg)) end end creatureEvent = function(event, delay, ...) -- Colex addEvent(CreatureEventChecker, delay, event, unpack(arg)) end function getPlayerExtraExpRate(cid) -- By MatheusMkalo return (getPlayerRates(cid)[8]-1)*100 end ]]></config> <!-- exppotion.lua --> <action itemid="7440" event="script"><![CDATA[ domodlib('PotionExpConfigs') if getPlayerStorageValue(cid, 62164) >= 1 then return doPlayerSendCancel(cid, "Voce ja ta Sob o Efeito da Potion.") end if configs.needpa and not isPremium(cid) then return doPlayerSendCancel(cid, "Voce Precisar ser Premium Para Usar") end if configs.needlvl[1] and getPlayerLevel(cid) < configs.needlvl.level then return doPlayerSendCancel(cid, "Voce Precisa ser " .. configs.needlvl.level .. " Para usar a Potion.") end if configs.costmana[1] then if getCreatureMana(cid) < configs.costmana.mana then return doPlayerSendCancel(cid, "Voce Precisar ter " .. configs.costmana.mana .. " de Mana Para usar a Potion") else doCreatureAddMana(cid, -configs.costmana.mana) end end if configs.removeonuse then doRemoveItem(item.uid, 1) end for i = configs.time*60, 1, -1 do local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60)) if #a < 4 then a = string.sub(a,1,2) .. "0" .. string.sub(a, 3) end if i == configs.time*60 then creatureEvent(doPlayerSendCancel, configs.time*60*1000, cid, "Efeito Final da Pocao de EXP.") end creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "O Efeito da Pocao vai acabar em "..a..".") end doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100)) creatureEvent(doPlayerSetExperienceRate, configs.time *60*1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100))) doPlayerSendTextMessage(cid, 22, "Agora Voce Esta Recebendo mais EXP por Matar Monstros.") setPlayerStorageValue(cid, 62164, os.time()) creatureEvent(setPlayerStorageValue, configs.time *60*1000, cid, 62164, 0) return TRUE ]]></action> <creaturescript type="login" name="ExpPotion" event="script"><![CDATA[ domodlib('PotionExpConfigs') local time = configs.time if os.time()-getPlayerStorageValue(cid, 62164) < time *60 then doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100)) creatureEvent(doPlayerSetExperienceRate, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100))) creatureEvent(setPlayerStorageValue, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000 , cid, 62164, 0) for i = (time*60-(os.time()-getPlayerStorageValue(cid, 62164))), 1, -1 do local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60)) if #a < 4 then a = string.sub(a,1,2) .. "0" .. string.sub(a, 3) end if i == (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) then creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, 62164)))*1000, cid, "O Efeito da Potion Termina em.") end creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 62164)))-i)*1000, cid, "O Efeito da Potion Termina em "..a..".") end end return TRUE ]]></creaturescript> </mod> Configurações configs = { time = 30, ---- TEMPO EM MINUTOS needpa = TRUE, --- NECESSITA DE PREMIUM OU NÃO, TRUE OU FALSE needlvl = {TRUE, level = 50},---- EXIGE LEVEL TRUE OU FALSE CASO NÃO , E O LEVEL QUE DESEJA USAR NO CASO ESTA 50 costmana = {TRUE, mana = 300}, --- CUSTA MANA TRUE OU NÃO CASO NÃO QUERIA, CUSTARA 300 NO CASO addrate = 50, -- EXP QUE VAI ADICIONAR EM PORCENTAGEM , NO CASO ESTA 50% removeonuse = TRUE --- CASO QUEIRA QUE ELA SUMA APOSTA USAR, DEIXE TRUE, CASO CONTINUE FALSE! Agora vamos escolher uma Potion: Aqui Estamos usando a ID:7440 Procure Por essa Linha: <action itemid="7440" event="script"><![CDATA[ Caso queira deixar Essa Potion, ou Renome-la vá em data/items/items.xml Items.xml e Procure pela ID: 7440 <item id="7440" article="a" name="Double Exp Potion"> <attribute key="weight" value="200" /> <attribute key="description" value="Depois de Tomar Sua EXP Dobrara." /> </item> Salve, e Aproveite! Créditos: MatheusMkalo e a Mim Por Traduzir e trazer pra cá!
  4. Fala galera, tudo bem? Bom, estou trazendo aqui um sisteminha de double exp e double loot system que fiz sob encomenda só que acabaram fazendo por conta própria e desistindo de comprar o que me encomendaram, então estou divulgando aqui para vocês o sistema completo já que não tem mais nenhum termo de privacidade e é um sisteminha legal de se usar para diversas coisas (quests, itens especiais, etc). O nome é bem auto-explicativo, o sistema aumenta a rate de exp e loot daquele cidadão por um período X de tempo. Scripts: http://pastebin.com/Wc9ZL8Km É bastante auto-explicativo o código acima, pois já coloquei no pastebin com os devidos comentários e com os passos a serem seguidos. Leiam tudo pois são 3 arquivos e 1 modificação no login.lua. A forma como está feita ali é um item (a ser definido por você na tag) que você clica e habilita o bonus ao player. A rate de exp e loot são customizáveis tal qual o tempo de duração do bônus. Espero que gostem. Abraços,
  5. Resumo: Para quem já jogou league of legends, o sistema é "parecido" com o Invite Friends, e para quem não jogou irei dar uma breve descrição sobre o sistema. Descrição: O sistema oferece algumas premiações como: Itens, Premium Days, Montarias, Premium Points(para site) e Outfits. Claro que isso tudo é configurável. A ideia principal do sistema foi que essas premiações fossem exclusivas do sistema, digamos, que os jogadores só fossem recompensados e tivessem certas montarias/outfits se ele atingisse num número "X" de pontos por ter ajudado seu servidor a crescer! Como todo mundo almeja algo exclusivo e difícil de ser obtido, iria instigar os jogadores a usar o sistema e convidar seus amigos para o servidor! Como Funciona o Sistema? O sistema foi planejado para que jogadores "espertinhos" não burlassem o sistema e acontece da seguinte maneira: Temos o jogador João e a jogadora Maria: Maria necessita ser level 30 ou menor que 30(Configurável) para utilizar uma talkactions e dizer por quem foi invitada para o servidor, vamos supor que João a convidou Maria para jogar, João por sua vez necessita também ter um level avançado, digamos 50 ou superior(Configurável). Feito com sucesso o uso do sistema, ele funciona da seguinte maneira: OBS: Você pode dizer o nome do jogador mesmo que ele esteja OFFLINE! OBS2: Um ou mais Players podem ser invitador pelo MESMO JOGADOR! ENTÃO QUANTO MAIS PLAYER VOCÊ CHAMAR, MAIS FÁCIL DE RECEBER PONTOS E PREMIAÇÕES O jogador invitado, no caso o João, teria que atingir um número "X" de pontos para receber premiações, por exemplo: * Com 10 Pontos jogão recebe: Itens * Com 25 Pontos jogão recebe: Itens e Premium Points * Com 50 Pontos jogão recebe: Itens e Montaria * Com 100 Pontos jogão recebe: Itens, Premium Points, Premium Days e Outifit (Claro que isso é tudo configurável em uma Tabela) E como recebo Recebo esses Pontos VODKART SEU FILHO DA PUTA! Se lembra que João Convidou Maria para Jogar? Então... Maria tem que atingir certos leveis para que João receba esses pontos! Por exemplo a tabela do sistema: levels_win = { [50] = 5, [80] = 6, [100] = 8, [150] = 10 }, Se Maria atingir level 50, João recebe 5 pontos Se Maria atingir level 80, João recebe 6 pontos Etc... Claro que isso tudo é acumulativo! E sabe o que mais? João recebe Pontos mesmo se estiver ONLINE ou OFFLINE! Sem mais delongas, Vamos instalar o sistema! Instalando o Sistema: data\creaturescripts\scripts InviteFriends.lua function onLogin(player) player:registerEvent("FriendsPoints") if player:getStorageValue(_invite_friends.storages[1]) < 0 then player:setStorageValue(_invite_friends.storages[1], 0) player:setStorageValue(_invite_friends.storages[4], 0) end if getInvitePoints(player) > 0 then local acc = player:getAccountId() local FriendPoints, CheckPoints = getInvitePoints(player), player:getStorageValue(_invite_friends.storages[4]) for vod, ka in pairs(_invite_friends.rewards) do local str = "" if FriendPoints >= vod and CheckPoints < vod then str = str.."--> Invite Players System <--\n\nVocê acaba de receber algumas recompensas:\n\nItems: \n"..getItemsFromList(ka.items)..".\n\n" if ka.p_days > 0 then player:addPremiumDays(ka.p_days) str = str.."Premium Days:\n"..ka.p_days.." Premium Days." end if ka.p_points > 0 then db.executeQuery('UPDATE accounts SET premium_points=premium_points+' .. p_points ..' WHERE id=' .. acc) str = str.."Premium Points:\n"..ka.p_points.." Premium Points." end if ka.out[1] > 0 then player:addOutfitAddon(player:getSex() == PLAYERSEX_FEMALE and ka.out[1] or ka.out[2], 3) str = str.."[New Outfit]\nRecebeu uma Nova Outfit." end if ka.mount_id > 0 then player:addMount(ka.mount_id) str = str.."[New Outfit]\nRecebeu uma Nova Montaria." end player:setStorageValue(_invite_friends.storages[4], FriendPoints) local town_id = player:getTown():getId() if #ka.items > 0 then local parcel = player:getDepotChest(town_id, true):addItem(2595) for _, i_i in ipairs(ka.items) do local item, amount = i_i[1],i_i[2] if isItemStackable(item) or amount == 1 then parcel:addItem(item, amount) else for i = 1, amount do parcel:addItem(item, 1) end end end end local townid = player:getTown():getId() local letter = player:getDepotChest(town_id, true):addItem(2598, 1, true, 1) letter:setAttribute(ITEM_ATTRIBUTE_WRITER, "[+] Invite Players System [+]") letter:setAttribute(ITEM_ATTRIBUTE_TEXT, str) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE,"[Invite Players System] Você Recebeu algumas premiações por estar convidando jogadores para o servidor, Por favor conferir os itens no Depot.") end end end return true end function onAdvance(player, skill, oldlevel, newlevel) if (skill == SKILL__LEVEL) then if hasInviteFriend(player) and player:getStorageValue(_invite_friends.storages[3]) < newLevel and _invite_friends.levels_win[newLevel] then local f_name, points = getNameFriend(player), _invite_friends.levels_win[newLevel] player:setStorageValue(_invite_friends.storages[3], newLevel) addInvitePoints(f_name, points) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "[Invite Friends] você atingiu o level "..newLevel.." e o seu amigou "..f_name.." recebeu "..points.." Friend Points. Obrigado!") end end return true end creaturescripts.xml <event type="advance" name="FriendsPoints" script="InviteFriends.lua"/> <event type="login" name="FriendsLogin" script="InviteFriends.lua"/> data\lib\core invitefriends.lua _invite_friends = { storages = {202301, 202302, 202303, 202304}, -- points, jogador, recompensa lvl, recompensa items level_max = 30, -- até que level ele precisa falar seu friend level_need = 50, -- que lever o jogador precisa ser para ganhar pontos levels_win = { [50] = 5, [80] = 6, [100] = 8, [150] = 10 }, rewards = { [10] = {items = {{2160,1},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [25] = {items = {{2160,2},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [50] = {items = {{2160,3},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [100] = {items = {{2160,4},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [200] = {items = {{2160,5},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [250] = {items = {{2160,6},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {698, 699}}, [500] = {items = {{2160,7},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}} } } function getInvitePoints(cid) local cid = Player(cid) if cid == nil then return false end return getPlayerStorageValue(cid, _invite_friends.storages[1]) < 0 and 0 or getPlayerStorageValue(cid, _invite_friends.storages[1]) end function hasInviteFriend(cid) local cid = Player(cid) if cid == nil then return false end return getPlayerStorageValue(cid, _invite_friends.storages[2]) > 0 and true or false end function getNameFriend(cid) local cid = Player(cid) if cid == nil then return false end return getPlayerNameByGUID(getPlayerStorageValue(cid, _invite_friends.storages[2])) end function addInvitePoints(name, amount) local pid, Guid = getPlayerByName(name), getPlayerGUIDByName(name) if not pid then local getFriendPoints = db.storeQuery("SELECT `value` FROM `player_storage` WHERE `player_id` = ".. Guid .." AND `key` = ".._invite_friends.storages[1]) if getFriendPoints ~= false then db.asyncQuery("UPDATE `player_storage` SET `value` = ".. (result.getDataInt(getFriendPoints, "value")+amount) .." WHERE `player_id` = ".. Guid .." AND `key` = ".._invite_friends.storages[1]) end else setPlayerStorageValue(getPlayerByName(name), _invite_friends.storages[1], getInvitePoints(getPlayerByName(name))+amount) end return true end function getItemsFromList(items) -- by vodka local str = '' if table.maxn(items) > 0 then for i = 1, table.maxn(items) do str = str .. items[i][2] .. ' ' .. ItemType(items[i][1]):getName() if i ~= table.maxn(items) then str = str .. ', ' end end end return str end function getPlayerNameByGUID(guid) local a = db.storeQuery('SELECT `name` FROM `players` WHERE `id` = ' .. guid .. ' LIMIT 1') if a then return result.getDataString(a, "name") end return nil end function PlayerExist(name) -- by vodka local a = db.storeQuery('SELECT `id` FROM `players` WHERE `name` = ' .. db.escapeString(name)) if a ~= false then return true end return false end Na mesma pasta procure por data\lib\core.lua e adc essa linha: dofile('data/lib/core/invitefriends.lua') data\talkactions\scripts InviteFriends.lua function onSay(player, words, param) local param = param:lower() if param == "" or not param then player:sendCancelMessage("Você precisa digitar o nome de um jogador.") return false elseif param == "points" then player:popupFYI("[+] Invite Friend System [+]\n\nvocê tem ["..getInvitePoints(player).."] Friends Points.") return false elseif hasInviteFriend(player) then player:sendCancelMessage("Você já agradeceu o jogador ["..getNameFriend(player).."] por te convidar a jogar neste servidor.") return false elseif not getPlayerGUIDByName(param) then player:sendCancelMessage("Desculpe, mas o jogador [" .. param .. "] não existe.") return false elseif player:getLevel() > _invite_friends.level_max or result.getDataInt(db.storeQuery("SELECT `level` FROM `players` WHERE `id` = "..getPlayerGUIDByName(param)), "level") < _invite_friends.level_need then player:sendCancelMessage((player:getLevel() > _invite_friends.level_max and "Desculpe, mas você precisa ter no maximo level ".._invite_friends.level_max.." para usar este comando." or "Desculpe, mas o jogador ["..param.."] precisa ter no minimo level ".._invite_friends.level_need.." para ser escolhido.")) return false elseif player:getName():lower() == param then player:sendCancelMessage("Desculpe, mas você não pode se auto invitar.") return false end player:setStorageValue(_invite_friends.storages[2], getPlayerGUIDByName(param)) player:sendTextMessage(25, "Você indicou o jogador "..param..", este sistema é uma forma de agradecer a vocês por trazerem seus amigos para jogar.") player:getPosition():sendMagicEffect(math.random(28,30)) return false end talkactions.xml <talkaction words="!invited" separator=" " script="InviteFriends.lua"/> Exemplo de uso do comando: Vodkart me chamou para jogador? uso o comando: !invited vodkart Configurando o Sistema: *Vá na LIB do sistema que você adicionou* level_max = 30, -- até que level ele precisa falar seu friend level_need = 50, -- que lever o jogador precisa ser para ganhar pontos levels_win = { -- [LEVEL QUE PRECISA ATINGIR] = QUANTIDADE DE PONTOS QUE O OUTRO JOGADOR VAI RECEBER [50] = 5, [80] = 6, [100] = 8, [150] = 10 } rewards = { [10] = {items = {{2160,1},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [25] = {items = {{2160,2},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [50] = {items = {{2160,3},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [100] = {items = {{2160,4},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [200] = {items = {{2160,5},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, [250] = {items = {{2160,6},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {698, 699}}, [500] = {items = {{2160,7},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}} } rewards = { [PONTOS NECESSÁRIO PARA OBTER A PREMIAÇÃO] = exemplo: [10] = {items = {{2160,1},{2173,1}}, p_days = 0, mount_id = 0, p_points = 0 , out = {0,0}}, com 10 pontos ele irá rceber aquele itens acima /\ items = {} -- Poderá adicionar itens em uma tabela dizendo {id do item, quantidade} p_days = 0 -- se o jogador vai receber Premium Days? 0 ou Quantidade que vc deseja dar mount_id = 0 -- Se o jogador vai receber montaria? Colocar o Mount ID(que fica em mounts.xml) Ou deixar 0 para nenhuma p_points = 0 -- se o jogador vai receber Premium Points? 0 ou Quantidade que vc deseja dar out = {0,0} -- se vai recever outfit? {FEMALE, MALE} OU {0 , 0} para nenhuma
  6. Action abaixo, escolha o item que quiser para o script. Tempo (é em segundos): 7200 = 2 Horas Como converter: https://www.google.com.br/#q=2+horas+em+segundos function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) if player:getStorageValue(1234) >= os.time() then player:say('You already have double exp!', TALKTYPE_MONSTER_SAY) return true end player:setStorageValue(1234, os.time() + 7200) Item(item.uid):remove(1) player:say('Your 2 hours of double XP has started!', TALKTYPE_MONSTER_SAY) player:registerEvent("dblxp") return trueend Em creaturescripts.xml <event type="think" name="dblxp" script="dblxp.lua" /> Em creaturescripts/scripts crie dblxp.lua function onThink(creature, interval) local player = Player(creature) if not player then return true end if player:getStorageValue(1234) < os.time() then player:sendTextMessage(MESSAGE_STATUS_WARNING, "Your double XP has ended!") player:unregisterEvent("dblxp") end return trueend Créditos: RazorBlade
  7. Ha um tempo atrás eu procurei um Pet System bem simples pro meu servidor, e achei um muito bacana. TFS: 0.4 Tibia: 8.6 O script funciona corretamente, eu fiz apenas algumas alterações e queria compartilhar caso vocês tenham as mesmas exigências que eu; * Ao tentar usar o PET em PZ não da mais erro na distro, sobe um efeito FAILED! no player e manda uma mensagem. * Agora cada PET precisa de um storage para ser usado, no meu caso, cada PET tem sua quest individual. Indo para o assunto... Vá em "data/actions/scripts", copie algum arquivo da pasta e cole, renomeie para "simple_pet" e adicione isso dentro: function onUse(cid, item, frompos, item2, topos)local dolls = {[11256] = {pet = "Rat"},[11207] = {pet = "Demon"},[5791] = {pet = "Dragon"},}local go = dolls[item.itemid]local summon = getCreatureSummons(cid)---------------------------------------------------if not (getTilePzInfo(getCreaturePosition(cid))) thenif #summon >= 1 thenfor _, pid in ipairs(summon) dodoRemoveCreature(pid)doCreatureSay(cid, ""..go.pet..", Recuar!", TALKTYPE_ORANGE_1)endreturn trueendif item.itemid == 5791 thenif getPlayerStorageValue(cid, 6666) == 1 thendoConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1)else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!")doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180)endend if item.itemid == 11256 thenif getPlayerStorageValue(cid, 4444) == 1 thendoConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1)else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!")doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180)endendif item.itemid == 11207 thenif getPlayerStorageValue(cid, 4445) == 1 thendoConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid)))doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1)else doPlayerSendTextMessage(cid, 19, "Voce precisa fazer a quest para usar esse PET!")doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180)endendelsedoPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!")doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180)return trueendend Muito bem, agora sigamos para "actions.xml" e adicione essa tag: <action itemid="11256;11207;11144;9019" event="script" value="simple_pet.lua"/> Agora para você configurar: Nesta parte do código: local dolls = {[11256] = {pet = "Crystal Spider"},[11207] = {pet = "Ashmunrah"},[11144] = {pet = "Demon"},[9019] = {pet = "Vampire"},} Oque está entre [ e ] nós colocamos os Item ID dos items que vão chamar o PET. Já entre { e } aonde está entre aspas, colocamos o nome do PET.E na tag do "actions.xml" adicionamos estes MESMOS Item Ids, separando-os por ; ficando: <action itemid="ID;ID;ID;ID" event="script" value="simple_pet.lua"/> Para o PET teleportar para você quando subir escadas, ou ficar muito longe, vá em "config.lua" e procure por: teleportPlayerSummons Se estiver false coloque true, se estiver "no", coloque "yes" Demonstração: http://imgur.com/a/emO4I Obrigado pela atenção galera, espero que tenham gostado, e qualquer dúvida tentarei ajudar vocês. Não tenho certeza se esse sistema não tem aqui, mas não estava achando então decidi postar :3 Se Ajudei Rep + CRÈDITOS: LUQUINHA "Um Sitezinho Qualquer"
  8. Esse script coloca o player em uma fila. Quando entrar outros 5 jogadores na fila, é criada uma party e todos são teleportados para a dungeon. Lembrando que a diferença de nível entre os jogadores é de no máximo 50 levels. Adicione uma nova tabela em seu banco de dados Talkactions GlobalEvents CreatureEvents Agora nas sources (c++) luascript.cpp Procure por: E insira isto depois: E procure por: E insira isto depois: Agora em creatureevent.h Procure por: E insira isto depois Procure por: E insira isto depois: Procure por: E insira isto depois: creatureevent.cpp Procure por: Insira isto logo em seguida: Procure por: E insira isto logo após: Busque por: Insira isto logo em seguida: Busque essa função: E insira isso, após a função acima: game.cpp Altere esse bloco Para esse: Todos os créditos vão para Tekman, pela autoria do código.
  9. Changelog V1.0 Cidades + Carlin + Thais + Npcs nas cidades igual o global e alguns editados + Sistema de Addon Igual Global + Items de Addons Compra no Npc Bulma,todos com preços reformulados,para dificultar mais ainda ao fazer os addons + Sistema de Parcel para as Cidades 100% Quests + Desert Quest + Banshee Quest + Firewalker Boots Quest + Hota Quest + Anihilator Quest + Pits of Inferno Quest + Inquisition Quest + Yalahar Quest + Demon Helmet Quest + Demon Oak Quest + The Epiphany e Winged Helmet Quest [new] + Solar Axe e Great Shield Quest [new] Teleportes + 30 Teleportes hunts igual o Global + Teleportes de Demons e Heros Aumentados + Apenas Teleportes das Hunts mais usadas + E algumas hunts melhoradas Sistema Premium[VIP] Ao Inves de Fazer um Sistema Vip,pensei em usar a premium mesmo,com ela você pode ter acesso a nova cidade Premium[VIP] + Premium[VIP]comprando pelo !buypremium [Valor 5kk] + Acesso a Area Premium Pelo Npc Premium Teleporter + Troca de Sexo + 38 Teleportes para hunts + Hunts com respaw de 30 segundos + Sistema de Trainers com 4 Trainers com Fast Ataque + Varias Houses grandes espalhadas pela cidade + Hunts,a maioria areas grandes V1.3 Reformulado area,de teleportes Arrumado o tp de thais para os trainers que estava bugado Arrumado 2 erros de spawn,que apareçia quando iniciava o ot Arrumado alguns erros no mapa Bk Quest Adcionada Fibula Quest Adcionada Bs quest Adcionada Noble armor quest adcionada Mapa size almentado para 4200x4200 Bug dos Amuletos e rings infinitos arrumados Bug do Aol agora funcionando V1.7 Corrigido bugs no mapa Adcionada Cidade Farmine Adcionada Cidade Yalahar Area de Quests reformulada Area das Cidades reformudala Alterado level inicial,agora começa level 8 Alterado equipamentos iniciais Alterado level nas portas das quests igual global Reconpensa da yalahar quest igual global Quase 300 houses sistema de buy aol,fale !buy aol e vá até a ilha do Eremo sistema de Quest look(de look e veja quantas quests tem feita) BY Saymon14 retirado npc que vendia amuletos e rings Reformulada algumas Quests Teleportes da Poi,todos corrigido Npc que vendia amuletos e rings,retirado Revisão no script da quest de fibula Arrumado o Comando !frags Stone Skin Amulet 80% diminuido para 10% de protect V2.4 + Corrigido corpos de alguns monstros + Corrigido pequeno bug nos trainers + Corrigido um item de addon no npc Varkhal + Corrigido pequeno bug no teleport de dragons da area vip + Corrigido porcentagem da penalidade de morte + Corrigido bug da spear,agora ela não quebra + Adcionado hunt Orcs + Adcionado novos items no npc Bulma + Adcionado Hunt Trolls + Adcionado mais monstros no buero de carlin + Adcionada Cidade Ab'dendriel + Adcionado Trainers 2 + Adcionado Npc Lector nos trainers(food seller) + Adcionado comando para formação de guilds + Area De dwarfs Adcionada (dwarf mines) + Area de cyclops adcionada + Area de Amazon Adcionada (amazon camp) + Expanção na Area de Teleportes + Orc Fortress Quest Adcionada + Templo de Thais Reformulado + Teleport para Thais arrumado,vai para o barco como os outros V2.7 sistema de recompenças ao alcançar tal level Alguns bugs no mapa corrigidos talkaction de rank alterado para um melhor Systema de Parcel corrigido,todos dps corrigidos de acordo com sua city Principais Djins Adcionado,Nah'Bob e Alesar Npc que repara firewalker boots adcionado Debugs que ocorriam no god ao trocar outfit corrigidos Corrigidos alguns erros na area de teleport Nova Cidade Darashia Adcionada Hunt de Minotaurs Adcionado Hunts de Macacos Adcionado Vampire Quest Adcionada Blue legs Quest Adcionada V3.0 + Todos items vip players apartir do level 8 podem usar + Sistema de Guilslist,sabia quais as guilds do servidor,e quem esta em sua guild(by Vodkart) + !online inovador modificado (by gustavo010) + Bug das runas corrigido + Novo distro mix Yourots + Corrigido Items que caia ao criar novo knight + Adcionado Tortoise hunt(liberty bay) + Adcionado Pirate hunt(liberty bay) + Adcionado Earth Elemental hunt(edron) + adcionado demon hunt(edron) + Adcionado Cyclops hunt(edron) + Adcionado Grim Reaper e Nightmare hunt(yalahar) + Adcionado Adept of the Cult hunt(yalahar) + Adcionado Demon hunt(yalahar) + Adcionado Demon hunt 2(yalahar) + Adcionado Mutated Bat hunt + Adcionado Worker Golem hunt + Adcionado Behemoth hunt + Adcionado Behemoth Quest V3.4 + Nova Quest Wrath of the Emperor/The New Frontier Quest[tudo uma só] + Corrigidos alguns erros no mapa + Adcionado Pz em algumas locais de npc + Adcionado efeitos na hora de up level + Adcionado addons nos npcs de carlin + Pequenas Edições no mapa + Dialogo de todos Npcs foram revisados e alterados + Novos Efeitos nos Teleportes + Corrigido cap do knight + Corrigido addons do outfit warmaster + Corrigido pequeno erro no distro quando god logava + Novo Sistema,mostando Top Frags online[!topkill] + Novo Evento Blood Castle[sim igual do Mu] + Revisado comando de comprar aol,agora pode usar [!aol !buyaol] + Revisado script de comprar bless + Sistema de Refinamentos de Items Adcionado + Database corrigida,sem erros,podendo deletar contas,players,etc.. + Novo Templo,mais espaçoso + Pasta globalevents,certos arquivos mudados,outros sem uso deletados + Mais um efeito na hora de morrer xD + Todos npcs que vendem joias,fora retirados,para evitar bug de money + Corrigido bug do npc que recarrega firewalker,agora ele recarrega mesmo + Adcionado novo mapa para wars,opens[não perde level ao morrer] V3.6 + Mais 2 npcs djins adcionados + Nova sala de Treiners + Templo com mais detalhes + Corrigido a venda de aol no eremo + Agora Premium é de Graça + Adcionado Sistema de VIP (by Vodkat) + Adcionado Exp para VIP (by vodkat) + Adcionado Cidade Venore + Corrigido pequenos bugs do mapa + Distro Limpo,sem Erros + Nova entrada para Area Vip + Players Vips ganha,[Vip]no nome + Corrigido Depot de Liberty Bay V4.0 + Vip retirada + Adcionada Cidade Port Hope + Adcionada cidade Edron + Adcionada Cidade Ankrahmun + Adcionada Cidade Svargrond + todos npcs das cidades igual global + Todas Houses das novas cidades Corrigidos + Alguns Bugs do mapa Corrigidos + Distro Limpo sem erros V4.2 + Npc Oldrak vendendo hallowed axe + Retirado Todos npcs de bank e joias para evitar bugs com grana + Cidades Registradas no Town ID + Depot de todas as novas Cidades Corrigidos + Bug de Grana do Rashid corrigido + Corrigido cordenada do teleport para sala das Cidades + Bugs do Mapa + Novo Distro Distro Fixe V4.3 [09/01/2012] V4.3 + Retirado distro da Styller Yourots [muito virus] + Adcionado Distro Antigo da Mix Yourots Créditos. Créditos: EddyHavoc (Edição e Publicação) Soldoran (Criação Base) Mix Yourots (Distros) Download Clique Aqui Scan Aqui
  10. Heromassa Server 1.0 Nha nha nha. Sejam bem vindos ao Heromassa. Server com mapa baseado no Heroserv, porém com MUITAS COISAS NOVAS, algumas, citarei aqui, outras, descubram por si mesmos . Bom, o server como eu ja disse, é baseado no famoso Heroserv, alguns anos atrás chegou a ter 400 players online, porém perdeu muito a sua fama com o passar do tempo. Em 2012, um servidor chamado Heromassa surgiu, com exatamente esse mapa, a partir daí, passei a procurar o mesmo, por amar o mapa. Vocês podem não acreditar, mas eu dei um duro danado pra conseguir esse mapa fodasticamente perfeito na minha opinião, e um certo dia, um amigo meu QUE EU PASSEI A AMAR MUITO, ME PASSOU ELE . Isso foi ano passado, desde então joguei incansavelmente esse mapa. Mês passado, eu tive a vontade de consertar TODOS os erros que o server continha, estava até alguns dias atrás arrumando os mesmos, e com MUITA ajuda de membros desse fórum como o @@nightwolf, @@Vankk(TK), @(TK), @@Wakon(TK) e outros(mesmo eles não sabendo) eu finalmente terminei as correções. Bom, vamos logo ao que interessa né HAHAAHAHHAHHAHA. Informações do server: - Mapa Hero - Conta GOD: god/god - Zombie Event por Talkaction 100% -- /zombiestart X ; /zombiestart force X - número de players - Battlefield programado 100% - TFS 0.4 (compilado por mim) - Suporta qualquer items.otb - War System( COM ESCUDINHOOOS) 100% -- /war ; /balance - Cast System 100% -- conta: não coloque nada em account nem password. -- /cast on ; /cast off - Suporta MySQL - Databases limpas e perfeitamente compatíveis - Quests 100% - Itens 100% - Castle 24 Horas 100% - Survivor Event 100% - Rush Event 100% -- !rushstart ; !joinrush (desativado, para ativar, basta ir em mods/rush event.xml e ative.) - Promotion por Talkaction 100% - Vocações balanceadas (nem tanto) preciso de ajuda!! - Supreme itens com quest 100% - Special itens sendo vendidos no Special Seller - Critical System(por stone, preço: 20 critical coins(id: 2157)) - Nova moeda(1kk: gold ingot, id: 9971) ​ - Possível usar sqlite apenas para teste(somente com a conta do god) ​ Vamos às imagens né poxa, não pode faltar... Battlefield map Black Boss hunt Bosser Hunt Distro Limpa Como conquistar o Castle24H Mapa do Castle24H Fire Master Elemental Hunt Ice Demon Hunt Principais Hunts: White Boss, Treptin, Verminor, Bosser, Quara Predator Scout, Fire Master Elemental, Black Boss e Ice Demon Quara Predator Scout Hunt Sala das Quests Rush Event Map Info Vip, Addon Seller, player GOD com War System Sphere City Supreme Attack Quest Supreme Rign & Shield Quest Supreme Set Quest Survivor Event map Templo Treptin Hunt Verminor Hunt White Boss Hunt Zombie Event Map Bom gente, muito provável que essas férias eu continue em mudanças no mapa, então, muito provável que eu fique atualizando o post para postar as atualizações do server. Galera, o server está perfeito pra rodar em Windows, distro TFS 0.4 compilada por mim, estável, compilada para x32(antes eu achava que era para x64 rsrs) mas está tudo OK, pronto pra deixar online! Download do server: https://mega.nz/#!V1oHXQ4J!TcA8_9Zpg2_4Kds9bap6Js6TzhSt7U-Le6zvbE_4cgQ Scan do server: https://www.virustotal.com/pt/url/71216ea7e98991af2c7f6226d581d2ba513e14cc585f8e8d0f6cf04bf112f755/analysis/ Créditos Beijos e até a próxima #Edit 1 - Tp do Zombie Event foi realocado #Edit 2 Atualização 1.2 Informações: - Adicionado Reset Talkaction(/reset; reseta o level, e deleta todos os itens dos players, com exceção dos supremes, dinheiro, exp pot, special) - Definido um novo prêmio para os eventos Zombie Event(50kk de gold e 5 Critical Stone) e Battlefield(100 Critical Coin) - Redefinido Supreme Attack de Paladin(novos itens) - Quest Supreme Attack foi arrumada o baú das armas de paladin - Lottery System sorteando critical coin e gold ingot(1kk cada) #Edit 3 Atualização 1.3 Download: https://mega.nz/#!1pgQwABZ!FmNGFI1pAzjniJ44X069hYZyJchb-FLnVOxG_x_5PYo Scan: https://www.virustotal.com/pt/url/71216ea7e98991af2c7f6226d581d2ba513e14cc585f8e8d0f6cf04bf112f755/analysis/ Informações: - Troféu adicionado como prêmio no Zombie Event - Nova DB MySql - Trade Off para website adicionado #Edit 4 Atualização de distro Informações: - Adicionado TFS 0.4 x64 - Adicionado TFS 0.4 x86 - Para trocar o TFS, delete o .exe e as libs que estejam na pasta. #Edit 5 - Trade off adicionado - Alguns bugs corrigidos - Fast Attack corrigido - TFS corrigido alguns bugs Download: https://github.com/s3kk/Heromassa/archive/master.zip Website totalmente compatível(Gesior): Use este --> Link
  11. Monster Hunter Event Como não tive tempo para trazer um script semana passada, criei um bem legal para essa semana. Para ver os outros scripts de terça, clique aqui. Vídeo demonstrativo: Explicação detalhada: O evento possui duas versões: automática (globalevent) e manual (talkaction). Quando o evento inicia, é sorteado um monstro e um intervalo de tempo, por exemplo: Hydra e 15 minutos. Seguindo esse exemplo, os jogadores terão 15 minutos para matar hydras, no final dos 15 minutos, aquele que tiver matado mais hydras será o vencedor e receberá um prêmio. - É tudo configurável. Instalação: Crie Monster Hunter.lua em data/creaturescripts/scripts e coloque: -- Monster Hunter Event feito por Killua, XTibia.com function onKill(cid, target, lastHit) if isPlayer(cid) and isMonster(target) then if getCreatureMaster(target) ~= nil then return true end local name = getGlobalStorageValue(1919211) if string.lower(getCreatureName(target)) == string.lower(name) then doPlayerSetStorageValue(cid, 1814210, getPlayerStorageValue(cid, 1814210) + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[Monster Hunter Event] Voce ja matou "..getPlayerStorageValue(cid, 1814210).." "..name.."s! Continue matando para ser o vencedor!") end end return true end function onLogin(cid) if getGlobalStorageValue(1919211) == 0 then doPlayerSetStorageValue(cid, 1814210, 0) end registerCreatureEvent(cid, "Monster Hunter") return true end Em data/creaturescripts/creaturescripts.xml adicione essas TAGs: <event type="kill" name="Monster Hunter" event="script" value="Monster Hunter.lua"/> <event type="login" name="Monster Hunterl" event="script" value="Monster Hunter.lua"/> A próxima parte irá depender de qual versão escolher Versão manual (talkaction) Versão automática (globalevent) Configuração: local monsters = {"Demon", "Rat", "Hydra", "Dragon Lord", "Ancient Scarab"} -- Monstros que podem ser sorteados local time_min, max = 10, 15 -- Em minutos local premios, gold = {{2160, 10}, {2157, 5}}, 10000 -- {id do item, quantidade} que o jogador ganha e quantia de gold Em monsters, coloque o nome dos monstros que poderão ser sorteados no evento. Em time_min, max, coloque o tempo mínimo e o tempo máximo de duração do evento. em premios, gold adicione os itens e a quantidade de gold que o vencedor receberá (seguindo o modelo apresentado). TAG no Globalevents.xml (versão automática): <globalevent name="Monster Hunter Event" interval="3600000" event="script" value="Monster Hunter.lua"/> interval é o intervalo entre as execuções do evento, coloquei 3600000, que equivale a 1 hora (1000 = 1 segundo). Se seu servidor NÃO for em milissegundos, use 1 = 1 segundo, logo 1 hora = 3600. TAG no Talkactions.xml (versão manual): <talkaction log="yes" access="5" words="/monsterhunter" event="script" value="Monster Hunter.lua"/> Em access coloque o núemero de acesso mínimo para poder usar o comando. 5 = somente gods podem usar. Para iniciar o evento na maneira manual, basta usar /monsterhunter Para iniciar o evento na maneira automática, basta aguardar o tempo configurado.
  12. 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%
  13. 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
  14. #Descrição: O evento ocorre com a separação automática de 2 times (Azul x Vermelho), onde um disputa com o outro a sala de prêmios. Para ter acesso à sala, um dos times deve derrotar os 3 geradores presentes antes do outro. #O que possui? - Totalmente automatizado (Script: Abertura, Entrega do premio, Designação dos vencedores e Encerramento) - Página explicativa (PHP: Os players entenderão como funciona o evento) - Talkactions ADM (Script: Comandos que podem ser usados para abrir o castle manualmente) - Tutorial (Arquivo: Explicando passo a passo a instalação) - Arena com 2 salas e waiting room (Mapa) - Entre outras coisas… *OBS: Este evento só funciona em TFS 0.4. DOWNLOAD: CLICK AQUI SCAN: CLICK AQUI Créditos: ChaitoSoft Jhon Thiagobji
  15. Pessoal eu gostaria de um script para meu ot que fizesse a seguinte função: O player fale um comando tipo: !Buylife Que custe 10kk. E que aumentasse 10000 Mil de life. então exemplo um ek que tem 1000 de life, e comprar com o comando, ele ficaria com 11000. Se alguém tem esse script, manda ai please.
  16. Eae galera blz?, estou fazendo um projeto de uma quest anihi só que com tempo para ficar la e tempo para entrar. após o tempo esgotar, outras pessoas podem entrar e as que estão dentro são teleportadas para fora.. só q n sei se minha script esta com erro, ou eu não soube arrumar a action para entrar la.. de todo modo essa é minha script \/ , por favor, me orientem!! versão 8.6 TFS 0.4 anihi.lua anihi.lua
  17. Galerinha eu estava vasculhando o xtibia ai achei o tópico do Luck0ake que tinha o luaScriptMaker 1.0 programa criado por ele com base em .lua para criar scripts do mesmo, então Baixei achei legal mais só que ele esta todo em inglês resolvi da umas modificadinhas e traduzi ele para português e então estou lançando a nova versão do luaScriptMaker, versão 1.1 \/DOWNLOAD ABAIXO\/ luaScriptMaker 1.1.rar Galerinha estou com o projeto de aprimorar o programa para obter mais funções e assim poder obter um script mais complexo! Poste suas opiniões para o programa Créditos: LuckOake> Por ter feito a primeira versão do programa, base que eu usei para fazer a nova
  18. Fala galera então eu peguei o craft system deste tópico Clique Aqui e dei uma editada mudei os valores do tempo pra ficar certinho eu editei para o meu nto mas ficou legal então resolvi compartilhar eu fiz uma alteração no meu client no item 5941 que é o wooden stake quem quiser fazer a mesma alteração fique avontade a alteração que eu fiz foi para deixar o wooden stake igual o wood item 5901 agrupavel bom o método está logo abaixo é isso fiquem com a script Script action xml <action itemid="ID DO ITEM" event="script" value="NOME DO ARQUIVO.lua"/> print da modificação que fiz no wooden stake mudando ele para Stackable < ou empilhavel,agrupavel bom se estiver usando o OBJ vai tar agrupavel e no item editor vai estar stackable so marque essa opção no client e no item.otb e depois retire a marcação de multiuso do item no item.otb e no client ficando assim Itemeditor Client Link de download das outfits do lenhador Download das sprites de troca de Outfit: Créditos: (Bluester); GabrielTXU; Overllord; Zipter98; PxG pelas sprites.
  19. Esse é um pacote com actions úteis para se usar nos servidores e, a menos que esteja indicado o contrário, são de minha autoria. [Testado em servidor 8.6] Para colocar essas actions no jogo, você deve colocar uma TAG no arquivo actions.xml do seu servidor, com um actionid e o nome do arquivo .lua (contendo o script) na pasta de scripts. Então, você deve colocar um item com aquele actionid no mapa. [ACTION #1] Baús de quests completos Descrição: Com essa action, você pode colocar vários baús simples de quest em apenas um script de forma rápida e organizada. Basta apenas registrar diferentes actionIDs no actions.xml, colocar eles em cada baú e depois inserir no script, conforme o padrão. [ACTION #2] Summon simples Descrição: Dessa forma você pode criar um pequeno sistema de summon com um monstro. No primeiro uso, ele invoca o monstro à comando do jogador, gastando a mana definida. Então, caso outro uso seja realizado até o exhaust terminar, o monstro será removido. Quando o jogador usar novamente, se o monstro invocado existir, ele será removido e outro monstro será invocado, reiniciando o ciclo. OBS.: os ataques em área do summon ainda vão tirar vida do jogador. Para uma correção, vide final do tópico. [ACTION #3] Fome Zero Descrição: Script simples: você registra o actionID dele em algum item e então o jogador ganhará uma comida sorteada entre as que constam em foodID (deve ser configurado) Pode ser usado à vontade pelo jogador para conseguir comida. [ACTION #4] Alavanca do Cassino Descrição: Um script de alavanca: nesse você define as possíveis recompensas, o quanto de dinheiro a pessoa vai precisar e as chances! [ACTION #5] Fantasias de Monstros Descrição: Quando o jogador clicar em um item, será sorteada uma outfit entre as definidas. [ACTION #6] Passagem Secreta Descrição: Ao puxar a alavanca, o jogador removerá uma parede do lugar, abrindo uma passagem secreta. Ela se fechará em alguns segundos. [ACTION #7] Baús de vocações Descrição: Bem óbvio pelo nome, essa action dá prêmios diferentes para cada vocação [ACTION #8] SUSTO! Descrição: Essa action super engraçada fará o seguinte: o jogador se transformará num cadáver e aparecerá a mensagem You were downgraded from level... (igual a msg do tibia mesmo). Depois de TRÊS segundos, o jogador voltará a sua outfit normal e receberá a mensagem Gotcha! (te peguei em inglês) [ACTION #9] Painel informativo Descrição: Com essa action você pode fazer aparecer uma mensagem em popup para o jogador contendo as informações que você quiser. [ACTION #10] Armários realistas! Autor: Avronex Descrição: Colocando esse script em armários, os jogadores irão receber a janela de trocar outfit quando clicarem! [ACTION #11] Fogos de Artifício Descrição: Um novo script para fogos de artifício, com efeitos, número de explosões e tempo entre as explosões configuráveis. E aqui a lista termina por enquanto. Me avise se você achar/tiver uma action útil que possa entrar para a lista. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Correção para que o summon não dê dano em quem o invocou:
  20. Olá, eu vim trazer um script que eu produzi para absolutamente nada além de treino, eu estou postando pois talvez seja útil para alguém em algum momento do espaçotempo. E também vou ceder todos os créditos ao @Woox, afinal eu não ia conseguir sem ele, então meu muito obrigado. local configuration = { positionParedinso1 = {x=1067, y=1071, z=7, stackpos=1}, -- Posição do objeto que ira sumir time = 1*15*1000, -- tempo para o objeto voltar para o seu lugar devido monstrosTime = 1*10*1000, -- tempo até os monstros despertarem guardioes = { [1] = {name = "Hellfire Fighter", pos = {x = 1065, y = 1071, z = 7}}, -- Todas posições onde os monstros seram criados [2] = {name = "Massive Fire Elemental", pos = {x = 1061, y = 1069, z = 7}}, -- Bem como seus nomes e quantidade [3] = {name = "Fury", pos = {x = 1069, y = 1074, z = 7}}, [4] = {name = "Demon", pos = {x = 1069, y = 1071, z = 7}}, [5] = {name = "Diabolic Imp", pos = {x = 1066, y = 1074, z = 7}}, [6] = {name = "Fire Devil", pos = {x = 1064, y = 1075, z = 7}}, [7] = {name = "Fire Elemental", pos = {x = 1062, y = 1069, z = 7}}, [8] = {name = "Massive Fire Elemental", pos = {x = 1067, y = 1068, z = 7}} } } function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 1945 then -- alavanca doTransformItem(item.uid, 1946) positionParedinso = getThingFromPos(configuration.positionParedinso1) if positionParedinso.itemid ~= 0 then doRemoveItem(positionParedinso.uid, 1) doCreatureSay(cid, "Um som terrível de engrenagens antigas se movendo pode ser ouvido imediatamente após você puxar a alavanca. \z Estrondos, chamas e vozes demoniacas estão vindo na sua direção, são ouvidos cada vez mais altos, corra por sua vida, \z você acaba fezer um mal antigo despertar.", TALKTYPE_ORANGE_1) -- Mensagem que será exibida após você puxar a alavanca addEvent(function() for k, v in pairs(configuration.guardioes) do doCreateMonster(v.name, v.pos) end end, configuration.monstrosTime) addEvent(doCreateItem, configuration.time, 12794, configuration.positionParedinso1) -- "12794" é o ID da parede que você quer criar após puxar a alavanca end else doTransformItem(item.uid, 1945) end end
  21. Eai pessoal blz? eu estava lendo um tópico do nosso amigo Alexxxx... ai o Top...(o Bolz, esqueci o nick dele aq ¬¬) ai eu vi que ele falou que a forma que ele conseguio de adicionar addon no OT dele foi dando um Ctrol+F: Addon, na pasta do PokémonXRain! ai eu baixei ele e tentei, ai adicionei tudo nescessário nele no meu ot, ai quando usei, funcionou perfeitamente! mas claro q não é sem 100% pq quando da fly, ride, surf e etc ele volta pra outfit normal, ai precisa dar Go/back no pokémon para voltar com o addon! mas fora isto esta funcionando perfeitamente! Então Vamos Parar de Blábláblá e começar! Em Data/actions e Actions.xml adiciona isto: <action itemid="IdAddon;IdAddon" event="script" value="Addon.lua"/> Em IdAddon Coloca os ids dos items dos addons! ai para adicionar mais ids é só colocar o ";" Ou seja aquele negocio verde, e depois colocar o ID Ficando: IdAddon;IdAddon;IdAddon e por ai vai Ai Em Data/actions/scripts cria um arquivo lua Chamado "Addon" e Dentro Dele Adiciona Isto: function onUse(cid, item, fromPosition, itemEx, toPosition) local addons = { [12593] = {pokemon= "Electabuzz" , looktype = 1482}, --xxxx = id do item do addon --- "Scyther" = nome do pokemon --- looktype = 1 é o looktype do pokemon com addon [12925] = {pokemon= "Alakazam" , looktype = 1471}, --xxxx = id do item do addon --- "Scyther" = nome do pokemon --- looktype = 1 é o looktype do pokemon com addon } if #getCreatureSummons(cid) > 0 then doPlayerSendCancel(cid, "Please back your pokemon.") return false end local numero = addons[item.itemid].looktype local pb = getPlayerSlotItem(cid, 8).uid local pk = addons[item.itemid].pokemon if getItemAttribute(pb,"poke") ~= pk then doPlayerSendCancel(cid, "Sorry, you can't use this addon on this poke.") return false end if getItemAttribute(pb,"addon") < 1 then doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, 27, "Congratulations! Now your pokemon will use the addon.") doSetItemAttribute(pb,"addon",numero) return true end return true end Ai para adicionar um Novo Addon é só Adicionar esta tag: [ItemID] = {pokemon= "NomeDoPoke" , looktype = IdDaOutfit}, EM ItemID, troca pelo id do addon em pokemon troca NomeDoPoke, pelo Nome Do Pokémon que vai ser adicionado o Addon Em looktype, troca IdDaOutfit, pelo looktype do pokémon com addon! Em Goback.lua Procure Por: else doPlayerSendCancel(cid, "This pokemon is fainted.") end E Adiciona Emcima de Else Isto: local pk = getCreatureSummons(cid)[1] local pb = getPlayerSlotItem(cid, 8).uid local look = getItemAttribute(pb,"addon") if not look then doSetItemAttribute(pb,"addon",0) return false end if look > 0 then doSetCreatureOutfit(pk, {lookType = look}, -1) return true end Em Catch system.lua Procura Por: doItemSetAttribute(item, "description", description) Adiciona Isto embaixo: doItemSetAttribute(item, "addon", 0) Em Some Functions.lua Procure Por: unLock(item.uid) Da Enter Duas Vezes e Adiciona isto: local pk = getCreatureSummons(cid)[1] local pb = getPlayerSlotItem(cid, 8).uid local look = getItemAttribute(pb,"addon") if not look then doSetItemAttribute(pb,"addon",0) return false end if look > 0 then doSetCreatureOutfit(pk, {lookType = look}, -1) return true end Pronto! Sistema de Addon Funcionando Perfeitamente Caso Coloque Tudo Certinho! Caso Queira uma Addon Box... Faz isto Em Actions.xml Adiciona Isto: <action itemid="12595" event="script" value="addonbox.lua"/> E Em Data/Actions/Scripts Cria um Arquivo Lua Chamado "addonbox" e Adiciona Isto Dentro Dele: function onUse(cid, item, frompos, item2, topos, pos) local addons = {12593,12889} local randomChance = math.random(1, 49) if item2.itemid == 12595 then doSendMagicEffect(getCreaturePosition(cid), 28) doRemoveItem(item2.uid, 1) doPlayerAddItem(cid, addons[randomChance], 1) doPlayerSendTextMessage(cid, 27, "Você ganhou um Addon!") return true end end Pronto Addon Box Adicionada! Créditos Pokémon X Rain Pelo Sistema de Addon Summer Slyer (Zet0N0Murmurou) Por Trazer ao Xtibia, e Por Fazer o Tutorial!
  22. Atualização v1.2: Funciona em OTpokémon. Além de Premium, agora tem VIPTIME. Atualização v1.1: AutomaticDeposit adicionado. Introdução: É um sistema que você pegue os loots automaticamente. O sistema contém: Menu: Há um menu mostrando quais itens estão marcados para lootear automaticamente. Mods: Comandos: /autoloot -- mostra a sua lista de items /autoloot add,nome do item -- adiciona o item na loot list /autoloot remove,nome do item -- remove o item da loot list Configurando: OnlyPremium = true vc precisa ser premium para usar o comando -------------------------------------------------------------------------------- AutomaticDeposit = true Se o dinheiro que ele dropar ao invés de ir para bag vai para o banco -------------------------------------------------------------------------------- BlockMonsters = {} aqui você pode bloquear alguns monstro para ele não usar o auto loot, exemplo: BlockMonsters = {'demon','medusa'} -------------------------------------------------------------------------------- Também tem como bloquear alguns itens para serem adicionados a loot list, exemplo: BlockItemList = {2160,2163 "ok Vodkart, tem pra premium mas e se meu servidor for de Vip Time?" Simples: Troque: if info.OnlyPremium == true and not isPremium(cid) then doPlayerSendCancel(cid, "you must be a premium account.") return true por: if info.OnlyPremium == true and getPlayerStorageValue(cid, 13540) - os.time() <= 0 then doPlayerSendCancel(cid, "you must be a vip account.") return true Caso seu servidor precise que relogue para atualizar a loot list, adicione isso: func(cid, item) -- depois desta linha doPlayerSave(cid) -- essa função
  23. colocar exausted ou uma storage pra poder ser usa de 10 min em 10 min tfs 0.3.6 -- [( Script created by Doidin for XTibia.com )] -- function onUse(cid, item, fromPosition, item2, toPosition) local monstername1 = "Dragon Lord" -- Nome dos monstros que serão sumonados após o player clicar no item! local monstername2 = "Dragon" -- Nome dos monstros que serão sumonados após o player clicar no item! local monster1 = {x=930,y=907,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord) local monster2 = {x=925,y=910,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord) local monster3 = {x=929,y=906,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord) local monster4 = {x=928,y=912,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon) local monster5 = {x=932,y=906,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon) function Quest() doPlayerSendTextMessage(cid,22,"You have found the secret item!") doPlayerAddItem(cid,itemid,1) end function Summon() doSummonCreature(monstername1,monster1) doSummonCreature(monstername1,monster2) doSummonCreature(monstername1,monster3) doSummonCreature(monstername2,monster4) doSummonCreature(monstername2,monster5) doSendMagicEffect(monster1,36) doSendMagicEffect(monster2,36) doSendMagicEffect(monster3,36) doSendMagicEffect(monster4,36) doSendMagicEffect(monster5,36) end doCreatureSay(cid,"You went in the wrong place, beware!",TALKTYPE_ORANGE_1) addEvent(Summon,100) addEvent(Summon,15000) addEvent(Summon,30000) addEvent(Summon,45000) addEvent(Summon,60000) addEvent(Summon,75000) addEvent(Quest,6000) end
  24. Eaí galera, estive procurando e nunca achei um tutorial para instalar o Mod de Game Shop ou o Diamond Shop, muito usado nos Poketibias da vida; Afim de ajudar os que também procuram, aqui está o tutorial traduzido do Margoh: Como é que o game_shop funciona: Há apenas uma escolha de item por botão, se você quiser mais, faça você mesmo. A compra funciona por comandos, por exemplo (em shop.lua): Exemplo em addons.otui: Code: Como adicionar um novo botão? Copie e/ou edite todas as funções de exemplo: Troque este nome por ex. buyWizard, ficando: Abaixo da função mude: Para: Abaixo de addons.otui copie e cole o último botão e edit para o novo nome de sua função: Ficando: Siga o tutorial para todos os items do shop. Download: MEGA Créditos: Margoh
  25. 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.
×
×
  • Create New...