Ir para conteúdo

Carlinhous1996

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Carlinhous1996 deu reputação a ernaix69 em (Resolvido)exori com elemento da wepon   
    1: 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
  2. Gostei
    Carlinhous1996 deu reputação a Diiego Liima em adicionar remover player   
    qual sua tfs ?
  3. Gostei
    Carlinhous1996 deu reputação a Diiego Liima em adicionar remover player   
    Leia com Atenção eu Adicionei um Sistema de Boss Room ! so vc utilizar
     
     
  4. Gostei
    Carlinhous1996 deu reputação a FeeTads em (Resolvido)effect com storage   
    o 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  
  5. Gostei
    Carlinhous1996 deu reputação a Imperius em (Resolvido)BOSS ROOM COM RECOMPENSA SORTIDA   
    Tipo 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>  
     
     
     
     
     
     
     
  6. Gostei
    Carlinhous1996 deu reputação a Imperius em spawn de estatua   
    faltou 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  
  7. Gostei
    Carlinhous1996 deu reputação a El Capitchi em adicionar remover player   
    Não consegui entender o que você quer fazer , o player fica online e não sai por exemplo ele da exit e continua online?
  8. Gostei
    Carlinhous1996 deu reputação a Cerberus em (Resolvido)Summon que cura o Player   
    a 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 }  
  9. Gostei
    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+.


     
  10. Gostei
    Carlinhous1996 deu reputação a Diiego Liima em boss room sistem 8.6   
    qual você esta usando ?
  11. Gostei
    Carlinhous1996 deu reputação a Dono do WNA em boss room sistem 8.6   
    Nesse topico tem a resposta do Diego Lima, caso te ajude deixa o REP pra ele!!

     
  12. Gostei
    Carlinhous1996 deu reputação a FeeTads em (Resolvido)ajuda para mudar script simples   
    existe 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  
  13. Gostei
    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  
  14. Gostei
    Carlinhous1996 deu reputação a xMonkey em adicionando tempo a storage   
    Desculpe 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  
  15. Curtir
    Carlinhous1996 recebeu reputação de carloos em adicionando tempo a storage   
    galera 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:
     
  16. Obrigado
    Carlinhous1996 deu reputação a xMonkey em adicionando tempo a storage   
    Olá @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  
  17. Obrigado
    Carlinhous1996 recebeu reputação de MatteusDeli em editar sistema de lavanca   
    isso mesmo cê e foda. valeu!!
  18. Gostei
    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  
     
  19. Gostei
    Carlinhous1996 deu reputação a Kinato em adicionar tempo a storage   
    Desculpe-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
     
  20. Gostei
    Carlinhous1996 deu reputação a Kinato em adicionar tempo a storage   
    Certo!!
     
    ----------------------------------- ---------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  
     
  21. Gostei
    Carlinhous1996 deu reputação a FeeTads em (Resolvido)ajuda com enchanting   
    nã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 
     
  22. Gostei
    Carlinhous1996 deu reputação a Vodkart em (Resolvido)ajuda com enchanting   
    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 = {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  
  23. Obrigado
    Carlinhous1996 deu reputação a FeeTads em (Resolvido)ajuda com enchanting   
    coloca isso no lugar
    doRemoveItem(cid, item2.uid, 1)
  24. Gostei
    Carlinhous1996 deu reputação a FeeTads em (Resolvido)ajuda com enchanting   
    coloca assim aqui
    doPlayerAddItem(cid, eweapons[c][b], 1)
  25. Gostei
    Carlinhous1996 deu reputação a FeeTads em (Resolvido)ajuda com enchanting   
    tenta 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  

Informação Importante

Confirmação de Termo