Histórico de Curtidas
-
Carlinhous1996 deu reputação a ernaix69 em (Resolvido)exori com elemento da wepon1: isso voce vai colocar no script da magia msm
2: tem opção melhor q é colocar um formular q calcule o dano elemental de acordo com o a quantidade de dano q va ter na arma
formular:
@Carlinhous1996
-
Carlinhous1996 deu reputação a Diiego Liima em adicionar remover playerqual sua tfs ?
-
Carlinhous1996 deu reputação a Diiego Liima em adicionar remover playerLeia com Atenção eu Adicionei um Sistema de Boss Room ! so vc utilizar
-
Carlinhous1996 deu reputação a FeeTads em (Resolvido)effect com storageo efeito tem que ser colocado em creatureScripts
creaturescripts = coisas que acontecem nos players
globalEvents = coisas que acontecem no OT em GERAL
então:
data > creaturescripts > scripts > effectStorage.lua
function sendVipEffect(cid) if not isCreature(cid) then return true end if getPlayerStorageValue(cid, 19332) > 0 then doSendMagicEffect(getThingPos(cid), 66) addEvent(sendVipEffect, 200, cid) end end function onLogin(cid) sendVipEffect(cid) return true end
-
Carlinhous1996 deu reputação a Imperius em (Resolvido)BOSS ROOM COM RECOMPENSA SORTIDATipo assim?
Configuração:
para facilitar na manutenção, crie um arquivo em data > lib > configBossRoom.lua:
-- made by Imperius -- == Configurações - BOSS ROOM === configBossRoom = { name = "Dragon Lord", -- nome do boss. minPlayers = 3, -- Quantidade Min de players para participar. timeToKill = 10, -- Tempo (em minutos) que os players terão para matar o boss. timeOpenTP = 30, -- Tempo (em segundos) que o teleport do salão de recompensas ficará aberto após matar o boss. -- Coloque abaixo ID de todas as recompensas que serão sorteadas ao clicar no bau (somente uma será entregue) -- recompensasID = {2494, 2195, 2400, 7708}, portaMagica = { storage = 1234569, -- Responsável por verificar o cooldown. ticketID = 10306, -- ID do ticket que o player precisará para passar pela porta. cooldown = 4 -- Tempo em horas. }, alavanca = { -- Coloque as posições dos sqm que os players precisará estar pisando para usar a alavanca. (estilo a ahini quest). {x = 32346, y = 31940, z = 8}, -- player 1 {x = 32347, y = 31940, z = 8}, -- player 2 {x = 32348, y = 31940, z = 8}, -- player 3 {x = 32349, y = 31940, z = 8}, -- player 4 {x = 32350, y = 31940, z = 8}, -- player 5 {x = 32351, y = 31940, z = 8} -- player 6 }, areaSalaBoss = {{x = 32310, y = 31930, z = 8}, {x = 32319, y = 31937, z = 8}}, -- Canto superior esquerdo | Canto inferior direito. (Sala do Boss) positionKickPlayer = {x = 32354, y = 31940, z = 8}, -- Position onde os players serão teleportados caso não tenha matado o boss em 10 minutos. positionSalaAlavanca = {x = 32351, y = 31940, z = 8}, -- Position onde o player será teleportado ao clicar na porta. (igual o do vídeo). positionSalaBoss = {x = 32314, y = 31931, z = 8}, -- Position onde os players irão ser teleportados ao usar a alavanca. positionSpawnBoss = {x = 32315, y = 31936, z = 8}, -- Position onde o boss irá aparecer. positionSalaRecompensas = {{x = 32319, y = 31937, z = 8}, {x = 32318, y = 31930, z = 5}} -- onde o TP vai abrir após matar o boss | onde o TP vai levar os players. }
em data > actions > actions.xml:
<!-- Porta Magica (Boss Room) --> <action uniqueid="65000" event="script" value="portaBossRoom.lua"/> <!-- Alavanca (Boss Room)--> <action uniqueid="65001" event="script" value="alavancaBossRoom.lua"/> <!-- bau recompensa (Boss Room) --> <action uniqueid="65002" script="bauBossRoom.lua" />
aviso: Não se esqueça de adicionar a uniqueid lá no Remere's Map Editor.
actions > scripts > portaBossRoom.lua:
actions > scripts > alavancaBossRoom.lua:
actions > scripts > bauBossRoom.lua:
agora em creaturescripts > creaturescripts.xml:
<!-- Boss Room --> <event type="death" name="bossTeleport" script="bossTeleport.lua"/>
creaturescripts > scripts > bossTeleport.lua:
por fim, vá até em data > monster > abra o arquivo do seu boss. ex: "NomeDoBoss.xml" e adicione a tag abaixo:
<script> <event name="bossTeleport"/> </script>
-
Carlinhous1996 deu reputação a Imperius em spawn de estatuafaltou adicionar o getCreatureByName()
veja se agora funciona:
local id = 7307 -- ItemId da Estatua local intervalo = 5 -- Tempo em segundos para estatua voltar local npc = "defender" -- Nome do monsto a ser sumonado function onUse(cid, item, fromPosition, itemEx, toPosition) doRemoveItem(item.uid, 1) doCreateNpc(npc, toPosition) addEvent(function() doCreateItem(id, 1, toPosition) doSendMagicEffect(toPosition, 43) doRemoveCreature(getCreatureByName(npc), toPosition) end, intervalo * 1000) return true end
-
Carlinhous1996 deu reputação a El Capitchi em adicionar remover playerNão consegui entender o que você quer fazer , o player fica online e não sai por exemplo ele da exit e continua online?
-
Carlinhous1996 deu reputação a Cerberus em (Resolvido)Summon que cura o Playera sua TFS usa o tempo correto em ves de milisegundos entao use 1 mesmo em vez de 1000 que e igual 1 segundo em outras distro xd.quanto ao valor estando fizo faz seguinte poe ele diretamento no script e testa fica assim
onde tem doCreatureAddHealth(master,cfg.life)
poe assim
doCreatureAddHealth(master,math.random(cfg.min,cfg.max)) e lem cima no Cfg no lugar de life vc escreve
local cfg = { min = 100 , max = 400, storage = 9999, tempo = 10 -- em segundos }
-
Carlinhous1996 deu reputação a thelifeofpbion em AUTO TP Depois de matar boss.Existem alguns scripts que depois de matar boss abri tp para os players entrarem em uma sala de recompensa, porém (não sei se já existe) vou postar 2 scripts:
1º Script: Todos players que der algum dano no boss é teleportado
2º Script: Depois que o Boss for derrotado todos players de uma sala são teleportados.
É Basicamente isso, tava ajudando no suporte quando pediram isso e resolvi postar para ficar mais facil de achar (e depois pra eu achar também).
Agradeço o vodkart por ter disponibilizado a parte do script onde seleciona todos players de uma area (retirei de algum post do forum),
e Xagah que copiei descaradamente as imagens de tópico porque achei bonito
Ajudei de alguma Forma? REP+.
-
Carlinhous1996 deu reputação a Diiego Liima em boss room sistem 8.6qual você esta usando ?
-
Carlinhous1996 deu reputação a Dono do WNA em boss room sistem 8.6Nesse topico tem a resposta do Diego Lima, caso te ajude deixa o REP pra ele!!
-
Carlinhous1996 deu reputação a FeeTads em (Resolvido)ajuda para mudar script simplesexiste um função no tibia chamada
"isInArray" basicamente ela significa isso mesmo, kkkkkkk, "está no array"
quando vc precisar de mais de uma opção, ela vai te salvar muito no futuro, principalmente pra falas com NPC, ou checagem simples de item.
seu script vai ficar assim:
obs: coloquei os comentários pra vc poder entender melhor caso vá usar no futuro.
--[[ Script Edited By Feetads - TibiaKing ]]-- local todos_items = {7504, 7505, 7506} -- criando o array com os outros items, só adicionar outros ID aqui function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = {x=1841, y=826, z=7} --SEMPRE usar "local" antes das variaveis de script fora da LIB! if isInArray(todos_items, itemEx.itemid) then -- se estiver no array (todos_items) o itemEx.itemid então.... lembrando que o "todos_items" NÃO precisa estar entre chave "{todos_items}" porém vc pode colocar diretamente no if, ex: -- if isInArray({7504, 7505, 7506}, itemEx.itemid) then doTeleportThing(cid,pos) else doPlayerSendCancel(cid, "Use esta rock no lugar certo.") end return true end
-
Carlinhous1996 deu reputação a Diiego Liima em é possivel usar bolt na mao ?<item id="6529" article="a" name="infernal bolt"> <attribute key="weight" value="4400"/> <attribute key="attack" value="80"/> <attribute key="shootType" value="infernalbolt"/> <attribute key="weaponType" value="distance"/> <attribute key="breakChance" value="0" /> <attribute key="hitChance" value="100"/> <attribute key="range" value="6"/> </item> Você pode usar asim, no caso a infernal bolt n precisarar de bow. ou crossbow se você quer que use com o bow ou crossbow, vocè tem que criar um sistema novo igual da versao 12x Quiver System. ai vc consegue usar o bolts. arrows, dentro de um bag no Slot D0 Escudo
-
Carlinhous1996 deu reputação a xMonkey em adicionando tempo a storageDesculpe meu erro.
Correção logo abaixo:
-- Created by pc98 -- Edited by xMonkey local castle_one_name = "Castle", -- Nome do castelo 1 local storages = {154154,54321,123123, 123124}, -- Storages ( se vc eh iniciante, deixe como está...) -- REWARDS I N D I V I D U A I S --------- local premio_por_vezes = 1, -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. local premio_vezes = 3, -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. local premio = 10522, -- ID do Premio local premio_cont = 1, -- Quantidade do Premio local premio_reset = 1, -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO local resetReward = {6, "day"} -- Tempo para resetar a storage e receber novamente a recompensa -- Para deixar mais organizado, jogar essas funções em LIB (se jogar em LIB, remover o local na frente de function) -- Custom Functions (inicio) local function mathtime(table) -- by dwarfer local unit = {"sec", "min", "hour", "day"} for i, v in pairs(unit) do if v == table[2] then return table[1]*(60^(v == unit[4] and 2 or i-1))*(v == unit[4] and 24 or 1) end end return error("Bad declaration in mathtime function.") end local function getTimeString(self) local format = { {'dia', self / 60 / 60 / 24}, {'hora', self / 60 / 60 % 24}, {'minuto', self / 60 % 60}, {'segundo', self % 60} } local out = {} for k, t in ipairs(format) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find('segundo') then local a, b = ret:find(' e ') ret = ret:sub(b+1) end return ret end -- Custom Functions (fim) function onUse(cid, item, frompos, item2, topos) local sto_ativ, position = getGlobalStorageValue(storages[2]), getCreaturePosition(cid) if (isPlayerGuild(cid) == true) then if (sto_ativ == 1 or sto_ativ == -1) then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(storages[3]) if (guild ~= guild_sto) then setPlayerStorageValue(cid, guild_sto, guild) if (getPlayerStorageValue(cid, storages[1]) == -1) then setPlayerStorageValue(cid, storages[1], 0) end setGlobalStorageValue(storages[3], getPlayerGuildId(cid)) setPlayerStorageValue(cid,storages[1], getPlayerStorageValue(cid, storages[1]) + 1) sto_vezes_total = getPlayerStorageValue(cid, storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o ".. castle_one_name .." para a guild \"".. guildname .."\" pela ".. sto_vezes_total .."ª vez(s).", 22) doSendMagicEffect(position, 39) doRemoveItem(item.uid, 1) if (premio_por_vezes == 1) then if (getPlayerStorageValue(cid, storages[4]) - os.time() > 0) then doPlayerSendTextMessage(cid, 18, "Voce deve aguardar ".. getTimeString(getPlayerStorageValue(cid, storages[4]) - os.time()) .." para receber a recompensa novamente.") return true end if (getPlayerStorageValue(cid, storages[1]) == premio_vezes) then if (getItemWeightById(premio, 1) <= getPlayerFreeCap(cid)) then doBroadcastMessage("O ".. getCreatureName(cid) .." ganhou uma(o) ".. getItemNameById(premio) .." como recompensa das suas ".. premio_vezes .." conquistas!", 21) doPlayerAddItem(cid, premio, premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) ".. getItemNameById(premio) .." como recompensa das suas ".. premio_vezes .." conquistas!") if premio_reset == 1 then setPlayerStorageValue(cid,storages[1], 0) end setPlayerStorageValue(cid, storages[4], os.time() + mathtime(resetReward)) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem, 10000, cid, premio, premio_cont, premio_reset) end end end else doBroadcastMessage("O(a) ".. getCreatureName(cid) .." acabou de conquistar o ".. castle_one_name .." para a guild \"".. guildname .."\" pela ".. sto_vezes_total .."ª vez(s).", 22) doSendMagicEffect(position, 39) end else doPlayerSendCancel(cid, "O sistema está desativado") end else doPlayerSendCancel(cid, "É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) end end function additem(cid, premio, premio_cont, premio_reset) if (not isPlayer(cid)) then stopEvent(additem) return true end if (getItemWeightById(premio, 1) <= getPlayerFreeCap(cid)) then doPlayerAddItem(cid, premio, premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) ".. getItemNameById(premio) .." como recompensa das suas ".. premio_vezes .." conquistas!") if (premio_reset == 1) then setPlayerStorageValue(cid, storages[1], 0) end setPlayerStorageValue(cid, storages[4], os.time() + mathtime(resetReward)) stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para receber o item. Verificando novamente em 10 segundos!") addEvent(additem, 10000, cid) end end function isPlayerGuild(cid) if (getPlayerGuildName(cid) ~= "") then return true else return false end end
-
Carlinhous1996 recebeu reputação de carloos em adicionando tempo a storagegalera do tk alguem poderia me ajudar a colocar um tempo nessa storage por favor?
queria que ela a cada 6 dias expirasse a storage
script:
-
Carlinhous1996 deu reputação a xMonkey em adicionando tempo a storageOlá @Carlinhous1996, boa noite!
Você não explicou exatamente quais storages gostaria de adicionar o tempo.
Ao meu ver, seria para receber a recompensa?
Fiz as modificações para só receber as recompensas caso a Storage tenha resetado, após 6 dias.
Também fiz uma pequena organização ao código.
-- Created by pc98 -- Edited by xMonkey local config = { castle_one_name = "Castle", -- Nome do castelo 1 storages = {154154,54321,123123, 123124}, -- Storages ( se vc eh iniciante, deixe como está...) -- REWARDS I N D I V I D U A I S --------- premio_por_vezes = 1, -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. premio_vezes = 3, -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. premio = 10522, -- ID do Premio premio_cont = 1, -- Quantidade do Premio premio_reset = 1, -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO resetReward = {6, "day"} -- Tempo para resetar a storage e receber novamente a recompensa } -- Para deixar mais organizado, jogar essas funções em LIB (se jogar em LIB, remover o local na frente de function) -- Custom Functions (inicio) local function mathtime(table) -- by dwarfer local unit = {"sec", "min", "hour", "day"} for i, v in pairs(unit) do if v == table[2] then return table[1]*(60^(v == unit[4] and 2 or i-1))*(v == unit[4] and 24 or 1) end end return error("Bad declaration in mathtime function.") end local function getTimeString(self) local format = { {'dia', self / 60 / 60 / 24}, {'hora', self / 60 / 60 % 24}, {'minuto', self / 60 % 60}, {'segundo', self % 60} } local out = {} for k, t in ipairs(format) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find('segundo') then local a, b = ret:find(' e ') ret = ret:sub(b+1) end return ret end -- Custom Functions (fim) function onUse(cid, item, frompos, item2, topos) local sto_ativ, position = getGlobalStorageValue(config.storages[2]), getCreaturePosition(cid) if (isPlayerGuild(cid) == true) then if (sto_ativ == 1 or sto_ativ == -1) then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(config.storages[3]) if (guild ~= guild_sto) then setPlayerStorageValue(cid, guild_sto, guild) if (getPlayerStorageValue(cid, config.storages[1]) == -1) then setPlayerStorageValue(cid, config.storages[1], 0) end setGlobalStorageValue(config.storages[3], getPlayerGuildId(cid)) setPlayerStorageValue(cid,config.storages[1], getPlayerStorageValue(cid, config.storages[1]) + 1) sto_vezes_total = getPlayerStorageValue(cid, config.storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o ".. config.castle_one_name .." para a guild \"".. guildname .."\" pela ".. sto_vezes_total .."ª vez(s).", 22) doSendMagicEffect(position, 39) doRemoveItem(item.uid, 1) if (config.premio_por_vezes == 1) then if (getPlayerStorageValue(cid, config.storages[4]) - os.time() > 0) then doPlayerSendTextMessage(cid, 18, "Voce deve aguardar ".. getTimeString(getPlayerStorageValue(cid, config.storages[4]) - os.time()) .." para receber a recompensa novamente.") return true end if (getPlayerStorageValue(cid, config.storages[1]) == config.premio_vezes) then if (getItemWeightById(config.premio, 1) <= getPlayerFreeCap(cid)) then doBroadcastMessage("O ".. getCreatureName(cid) .." ganhou uma(o) ".. getItemNameById(config.premio) .." como recompensa das suas ".. config.premio_vezes .." conquistas!", 21) doPlayerAddItem(cid, config.premio, config.premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) ".. getItemNameById(config.premio) .." como recompensa das suas ".. config.premio_vezes .." conquistas!") if config.premio_reset == 1 then setPlayerStorageValue(cid,config.storages[1], 0) end setPlayerStorageValue(cid, config.storages[4], os.time() + mathtime(config.resetReward)) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem, 10000, cid, config.premio, config.premio_cont, config.premio_reset) end end end else doBroadcastMessage("O(a) ".. getCreatureName(cid) .." acabou de conquistar o ".. config.castle_one_name .." para a guild \"".. guildname .."\" pela ".. sto_vezes_total .."ª vez(s).", 22) doSendMagicEffect(position, 39) end else doPlayerSendCancel(cid, "O sistema está desativado") end else doPlayerSendCancel(cid, "É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) end end function additem(cid, config.premio, config.premio_cont, config.premio_reset) if (not isPlayer(cid)) then stopEvent(additem) return true end if (getItemWeightById(config.premio, 1) <= getPlayerFreeCap(cid)) then doPlayerAddItem(cid, config.premio, config.premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) ".. getItemNameById(config.premio) .." como recompensa das suas ".. config.premio_vezes .." conquistas!") if (config.premio_reset == 1) then setPlayerStorageValue(cid, config.storages[1], 0) end setPlayerStorageValue(cid, config.storages[4], os.time() + mathtime(config.resetReward)) stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para receber o item. Verificando novamente em 10 segundos!") addEvent(additem, 10000, cid) end end function isPlayerGuild(cid) if (getPlayerGuildName(cid) ~= "") then return true else return false end end
-
Carlinhous1996 recebeu reputação de MatteusDeli em editar sistema de lavancaisso mesmo cê e foda. valeu!!
-
Carlinhous1996 deu reputação a MatteusDeli em editar sistema de lavanca@Carlinhous1996 Boa noite, seria isso?
local config = { pos = {x=7508, y=12624, z=11}, stoneOne = 7522, stoneTwo = 7524, time = 20 -- time in seconds to remove the stone } function onUse(cid, item, fromPosition, itemEx, toPosition) local posItemOne = getTileItemById(config.pos, config.stoneOne).uid if (posItemOne > 0) then doRemoveItem(posItemOne, 1) doCreateItem(config.stoneTwo, config.pos) doPlayerSendTextMessage(cid,22,"a parede falsa foi removida.") doSendMagicEffect(config.pos, CONST_ME_MAGIC_RED) addEvent(function() local posItemTwo = getTileItemById(config.pos, config.stoneTwo).uid doRemoveItem(posItemTwo, 1) doCreateItem(config.stoneOne, config.pos) doSendMagicEffect(config.pos, CONST_ME_MAGIC_RED) end, config.time * 1000) doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) end return true end
-
Carlinhous1996 deu reputação a Kinato em adicionar tempo a storageDesculpe-me!
Erro meu.
function onLogin(cid) local expBonus = 0.2 -- 20% local config = { welvip = "voce é dono do castle tem "..(expBonus*100).."% de exp a mais agora!", not_vip = "A guild que domina o castle ganha "..(expBonus*100).."% a mais de experiencia!.", s = {123123, 123457} -- storage vip } local guildId = getPlayerGuildId(cid) local guildDominante = getGlobalStorageValue(config.s[1], guildId) if (guildId > 0 and guildId == guildDominante) then if getPlayerStorageValue(cid, config.s[2]) - os.time() > 0 then local rates = getPlayerRates(cid) doPlayerSetExperienceRate(cid, rates[SKILL__LEVEL] + expBonus) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.welvip) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.not_vip) end end return true end
-
Carlinhous1996 deu reputação a Kinato em adicionar tempo a storageCerto!!
----------------------------------- ---------SCRIPT por PC98------------ NAO REMOVA OS CREDITOS ----------------------------------- function onUse(cid, item, frompos, item2, topos) ------------------ Inicio das Config ------------ local castle_one_name = "Castle" -- Nome do castelo 1 local expBonus = 0.2 -- +20% exp local dayBonus = 6 local storages = {154154, 54321, 123123} -- Storages ( se vc eh iniciante, deixe como está...) -------PREMIOs I N D I V I D U A L --------- local premio_por_vezes = 1 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. local premio_vezes = 3 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. local premio = 10522 -- ID do Premio local premio_cont = 1 -- Quantidade do Premio local premio_reset = 1 -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO -------FIM PREMIOs I N D I V I D U A L --------- ----------------- FIM DAS CONFIG ----------------- local sto_ativ = getGlobalStorageValue(storages[2]) position = getCreaturePosition(cid) if isPlayerGuild(cid) == TRUE then if sto_ativ == 1 or sto_ativ == -1 then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(storages[3]) if guild ~= guild_sto then setPlayerStorageValue(cid,guild_sto,guild) if getPlayerStorageValue(cid,storages[1]) == -1 then setPlayerStorageValue(cid,storages[1],0) end sto_vezes = getPlayerStorageValue(cid,storages[1]) -- REMOVE BONUS DA GUILD PERDEDORA for _, lose in ipairs(getPlayersOnline()) do if (getGlobalStorageValue(storages[3]) == getPlayerGuildId(lose)) then local rates = getPlayerRates(lose) doPlayerSetExperienceRate(lose, rates[SKILL__LEVEL] - expBonus) doPlayerSendTextMessage(lose, MESSAGE_STATUS_CONSOLE_ORANGE, "Sua Guild perdeu o dominío do castelo. Você perdeu o bônus de +10% EXP.") end end setGlobalStorageValue(storages[3], getPlayerGuildId(cid)) -- salva a guild dominante -- ADICIONA BONUS DA GUILD VENCEDORA for _, win in ipairs(getPlayersOnline()) do if (getGlobalStorageValue(storages[3]) == getPlayerGuildId(win)) then local rates = getPlayerRates(win) doPlayerSetExperienceRate(win, rates[SKILL__LEVEL] + expBonus) doPlayerSendTextMessage(win, MESSAGE_STATUS_CONSOLE_ORANGE, "Sua Guild agora recebe +10% EXP ao derrotar monstros enquanto estiver no poder.") end end setPlayerStorageValue(cid, 123457, os.time() + dayBonus*24*60*60) -- adiciona storage com um tempo de 6 dias setPlayerStorageValue(cid,storages[1], sto_vezes + 1) sto_vezes_total = getPlayerStorageValue(cid,storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o "..castle_one_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22) doSendMagicEffect(position, 39) doRemoveItem(item.uid, 1) if premio_por_vezes == 1 then if getPlayerStorageValue(cid,storages[1]) == premio_vezes then if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doBroadcastMessage("O "..getCreatureName(cid).." ganhou uma(o) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!", 21) doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") ----------------------------------------------- -- if premio_reset == 1 then -- setPlayerStorageValue(cid,storages[1],0) -- Resetar a contagem end -- ----------------------------------------------- -- else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem,10000,cid,premio,premio_cont,premio_reset) end end end else doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o "..castle_one_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22) doSendMagicEffect(position, 39) end else doPlayerSendCancel(cid,"O sistema está desativado") end else doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) end end ------------------------- por pc98 function additem(cid,premio,premio_cont,premio_reset) if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") if premio_reset == 1 then setPlayerStorageValue(cid,storages[1],0) end stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para receber o item. Verificando novamente em 10 segundos!") addEvent(additem,10000,cid) end end ------------------------- por pc98 function isPlayerGuild(cid) if getPlayerGuildName(cid) ~= "" then return TRUE else return FALSE end end
function onLogin(cid) local expBonus = 0.2 -- 20% local config = { welvip = "voce é dono do castle tem "..(expBonus*100).."% de exp a mais agora!", not_vip = "A guild que domina o castle ganha "..(expBonus*100).."% a mais de experiencia!.", s = {123123, 123457} -- storage vip } local guildId = getPlayerGuildId(cid) local guildDominante = getGlobalStorageValue(storages[1], guildId) if (guildId > 0 and guildId == guildDominante) then if getPlayerStorageValue(cid, config.s[2]) - os.time() > 0 then local rates = getPlayerRates(cid) doPlayerSetExperienceRate(cid, rates[SKILL__LEVEL] + expBonus) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.welvip) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.not_vip) end end return true end
-
Carlinhous1996 deu reputação a FeeTads em (Resolvido)ajuda com enchantingnão vai bugar deixar 2 doRemove ali? procurando o msm item?
e doRemove pode ir sem o "cid"?
realmente eu não sei, eu sempre uso o cid
-
Carlinhous1996 deu reputação a Vodkart em (Resolvido)ajuda com enchantingfunction onUse(cid, item, frompos, item2, topos) local gems = {2146, 2147, 2149, 2150} local egems = {7759, 7760, 7761, 7762} local altars = {{7508, 7509, 7510, 7511}, {7504, 7505, 7506, 7507}, {7516, 7517, 7518, 7519}, {7512, 7513, 7514, 7515}} local weapons = {7406, 2454, 7415, 8905, 2342, 2138, 10221, 10218, 10220, 10219, 8908, 8906, 8907, 8909, 7766, 7747, 7857, 7872, 7772, 7753, 7863, 7878, 7775, 7756, 7866, 7881, 7364, 7839, 7840, 7850, 7838} local eweapons = {{7766, 7747, 7857, 7872}, {7772, 7753, 7863, 7878}, {7775, 7756, 7866, 7881}, {8907, 8906, 8909, 8908}, {2343, 2343, 2343, 2343}, {10220, 10218, 10219, 10221}, {10220, 10218, 10219, 10221}, {10220, 10218, 10219, 10221}, {10220, 10218, 10219, 10221}, {10220, 10218, 10219, 10221}, {8907, 8906, 8909, 8908}, {8907, 8906, 8909, 8908}, {8907, 8906, 8909, 8908}, {8907, 8906, 8909, 8908}, {7766, 7747, 7857, 7872}, {7766, 7747, 7857, 7872}, {7766, 7747, 7857, 7872}, {7766, 7747, 7857, 7872}, {7772, 7753, 7863, 7878}, {7772, 7753, 7863, 7878}, {7772, 7753, 7863, 7878}, {7772, 7753, 7863, 7878}, {7775, 7756, 7866, 7881}, {7775, 7756, 7866, 7881}, {7775, 7756, 7866, 7881}, {7775, 7756, 7866, 7881}, {7839, 7840, 7850, 7838}, {7839, 7840, 7850, 7838}, {7839, 7840, 7850, 7838}, {7839, 7840, 7850, 7838}, {7839, 7840, 7850, 7838}} local type = item.type if type == 0 then type = 1 end local mana = 3000 * type local soul = 40 * type if isInArray(gems, item.itemid) == TRUE then for aa=1, #gems do if item.itemid == gems[aa] then a=aa end end if isInArray(altars[a], item2.itemid)== TRUE then if getPlayerMana(cid) >= mana and getPlayerSoul(cid) >= soul then doTransformItem(item.uid, egems[a]) doPlayerAddMana(cid,-mana) doPlayerAddSoul(cid,-soul) doSendMagicEffect(frompos,39) else doPlayerSendCancel(cid,"You dont have mana or soul points.") end end elseif isInArray(egems, item.itemid)== TRUE then for bb=1, #egems do if item.itemid == egems[bb] then b=bb end end if isInArray(weapons, item2.itemid)== TRUE then for cc=1, #weapons do if item2.itemid == weapons[cc] then c=cc end end doRemoveItem(item.uid, 1) doRemoveItem(item2.uid) doPlayerAddItem(cid, eweapons[c][b], 1) doSendMagicEffect(frompos,39) doRemoveItem(item.uid,1) else doPlayerSendCancel(cid,"You can't enchanted this.") end end return true end
-
Carlinhous1996 deu reputação a FeeTads em (Resolvido)ajuda com enchantingcoloca isso no lugar
doRemoveItem(cid, item2.uid, 1)
-
Carlinhous1996 deu reputação a FeeTads em (Resolvido)ajuda com enchantingcoloca assim aqui
doPlayerAddItem(cid, eweapons[c][b], 1)
-
Carlinhous1996 deu reputação a FeeTads em (Resolvido)ajuda com enchantingtenta assim mano
--by Richi~ -- function onUse(cid, item, frompos, item2, topos) local gems = {2146, 2147, 2149, 2150} local egems = {7759, 7760, 7761, 7762} local altars = {{7508, 7509, 7510, 7511}, {7504, 7505, 7506, 7507}, {7516, 7517, 7518, 7519}, {7512, 7513, 7514, 7515}} local weapons = {7364} local eweapons = {{7839, 7840, 7850, 7838}} local type = item.type if type == 0 then type = 1 end local mana = 3000 * type local soul = 40 * type if isInArray(gems, item.itemid) == TRUE then for aa=1, #gems do if item.itemid == gems[aa] then a=aa end end if isInArray(altars[a], item2.itemid)== TRUE then if getPlayerMana(cid) >= mana and getPlayerSoul(cid) >= soul then doRemoveItem(cid, gems[a], 1) doPlayerAddItem(cid, egems[a], 1) doPlayerAddMana(cid,-mana) doPlayerAddSoul(cid,-soul) doSendMagicEffect(frompos,39) else doPlayerSendCancel(cid,"You dont have mana or soul points.") end else return 2 end elseif isInArray(egems, item.itemid)== TRUE then for bb=1, #egems do if item.itemid == egems[bb] then b=bb end end if isInArray(weapons, item2.itemid)== TRUE then for cc=1, #weapons do if item2.itemid == weapons[cc] then c=cc end end doRemoveItem(cid, egems[b], 1) doRemoveItem(cid, weapons[c], 1) doPlayerAddItem(cid, eweapons[c], 1) doSendMagicEffect(frompos,39) doRemoveItem(item.uid,1) else doPlayerSendCancel(cid,"You can't enchanted this.") end else return 0 end return true end