Ir para conteúdo

Vodkart

Herói
  • Total de itens

    3406
  • Registro em

  • Última visita

  • Dias Ganhos

    111

Histórico de Reputação

  1. Upvote
    Vodkart deu reputação a jhon992 em [Poketibia] JhonBot   
    JhonBot - 1.4.0

    Bot incrivel desenvolvido em Java que manipula funções do jogo utilizando apenas o teclado e o mouse, fazendo com que seja o bot mais seguro da atualidade. Atualmente, suas principais funções são:

    - Fishing: capacidade de pescar sozinho.
    - Love: !love periódicos ao seus pokemons.
    - Food: alimenta seu pokemon automaticamente.
    - Heal: utiliza potions no seu pokemon de acordo com o life atual do mesmo.
    - Revive: revive seu pokemon utilizando potion caso morto.
    - Attack: ataca qualquer pokemon que aparecer na tela.
    - Moves: executa as spells de seu pokemon como configurado.
    - Loot: recolhe itens de corpses ao redor de seu personagem.
    - Atalhos: atalhos para ajudar na performance.

    Você tem total liberdade de salvar as configurações para utilizar novamente, ou abrir configurações prontas já salvar.
    Toda configuração utilizando segundos tem um sistema de "Random" onde sorteia um numero (exemplo: de 1 á 5), e adiciona esse numero sorteado na configuração no momento de usa-la, fazendo assim ficar mais imperceptível que é um bot executando as funções.

    O bot trabalha de modo silencioso, porem só executa suas funções quando o cliente do poketibia esta a frente das outras telas abertas.
    Clientes testados: PXG, PokeStorm, otPokemon e outros.

    Site oficial: http://jhonbot.com/ Manual: http://jhonbot.com/j...ual-jhonbot.pdf Se o Bot apresentar algum problema ao abrir, faça download do Java através desse link: Java 32x - http://javadl.sun.co...BundleId=101467 Java 64x - http://javadl.sun.co...BundleId=101469 depois reinstale o Bot. Se o erro persistir, leia a página 1 do manual. Caso alguma dúvida, suporte@jhonbot.com Skype: jhonatan.scarvalho Facebook: https://www.facebook...groups/JhonBot/
  2. Upvote
    Vodkart recebeu reputação de Furabio em Ajuda script npc!   
    troca

    if msgcontains(msg, 'yes') and getPlayerItemCount(cid,2197) >= 1 then

    por

    if msgcontains(msg, 'yes') and getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).itemid == 2197 then
  3. Upvote
    Vodkart recebeu reputação de Administrador em Baiak Hollister v2 Completo   
    baixei aqui, bem completo o servidor!
    parabens

    tem como colocar o servidor online sem usar site? eu sei que é no config.lua, mas esqueci onde
  4. Upvote
    Vodkart deu reputação a Administrador em Baiak Hollister v2 Completo   
    - Oque ele contem

    -Castle24h

    -war of emperium

    -zombie event

    -dota

    -coliseum

    -sistema de anti mage-bomb

    -vip golden

    etc...



    -novidades nessa verção v2

    -contem o temido castle24h00

    -contem novas hunts na area vip

    -contem novas hunts no castelo da war of emperium..



    Fotos










    DOWNLOAD Servidor: http://www.mediafire...k Speed 8.6.rar

    DOWNLOAD Website : http://www.mediafire...74j9/htdocs.rar



    Scan do gesior: https://www.virustot...sis/1401651920/

    Scan do servidor: https://www.virustot...sis/1414414630/


    Creditos
    Dieguiin xp (pelo castle24h)
    Fabiodias (atualizar a versão 1 para versão 2)
    fabiodias ( editar o servidor)
    gustavo ferreira ( Disponibilizar o server em 2012)
    thiagobj (por postar o download sem link quebrado)
  5. Upvote
    Vodkart deu reputação a fitaisolante em City War   
    O City War é um evento exclusivo do Global War em que você entra no teleport, e começa a matar players la dentro, e quem matar mais ao final do evento ganha... Ele anuncia de 5 em 5 minutos o placar dos players!
     
    Vou estar disponibilizando o mapa também, que é da versão 8.7.
     
     
     
    Crie uma arquivo lua com nome qualquer em data/lib e coloque isso dentro:
    configCW = {timetostart = 300, telpos = {x=32340, y=32213, z=7}, -- aonde o teleport aparecerá stats = 201201201701, -- não mexa kill = 201201201702, -- não mexa death = 201201201703, -- não mexa ostime = 201201201704, -- não mexa evttime = 25, -- quantos minutos o evento durará topleftPos = {x=32722, y=31336, z=6}, -- canto esquerdo superior botrightPos = {x=32791, y=31384, z=6}, -- canto direito inferior templepos = {x=32369, y=32241, z=7}, -- posição do templo arenapos = {{x=32722, y=31340, z=6}, {x=32786, y=31336, z=6}, {x=32722, y=31380, z=6}, {x=32783, y=31374, z=6}}, -- posições em que os players podem cair aleatoriamente dentro do evento times = 8, -- não mexa finaltime = 300 -- não mexa } function configCW:new() local newevt = {} setmetatable(newevt, self) self.__index = self doBroadcastMessage("The City War will be open in " .. self.timetostart .. " seconds.") setGlobalStorageValue(self.stats, 0) addEvent(function () newevt:start() end, self.timetostart*1000) end function configCW:start() if getGlobalStorageValue(self.stats) == 0 then setGlobalStorageValue(self.ostime, os.time()) local teleport = doCreateItem(1387, self.telpos) doItemSetAttribute(teleport, "aid", 5540) setGlobalStorageValue(self.stats, 1) doBroadcastMessage("The City War is starting...") for _, posi in pairs(self.arenapos) do local item = getTileItemById(posi, 1387) if(item.uid ~= 0) then doRemoveItem(item.uid) end end addEvent(function () self:preclose() end, self.evttime*1000*60) addEvent(function () self:announce(0) end, (self.evttime/self.times)*1000*60) end end function configCW:announce(times) if times < self.times then if #self:getTopFrags(true) >= 1 then doBroadcastMessage("Top City War fraggers: " .. self:getTopFrags()) end addEvent(function () self:announce(times+1) end, (self.evttime/self.times)*1000*60) end end function configCW:preclose() if getGlobalStorageValue(self.stats) == 1 then setGlobalStorageValue(self.stats, 2) doBroadcastMessage("The City War will end in " .. self.finaltime .. " seconds.") addEvent(function () self:close() end, self.finaltime*1000) local item = getTileItemById(self.telpos, 1387) if(item.uid ~= 0) then doRemoveItem(item.uid) end end end function configCW:close() if getGlobalStorageValue(self.stats) == 2 then if #self:getTopFrags(true) >= 1 then doBroadcastMessage("The City War has ended. The winners are: " .. self:getTopFrags()) else doBroadcastMessage("The City War has ended. There were no winners.") end doRemovePlayersFromArea(self.topleftPos, self.botrightPos, self.templepos) for _, posi in pairs(self.arenapos) do doCreateTeleport(1387, self.templepos, posi) end for place, info in ipairs(self:getTopFrags(true)) do if place > 5 then break end local cid = getPlayerByName(info) doPlayerSendTextMessage(cid, 4, "Congratulations, you were the " .. place .. "º place in the City War.") doPlayerAddItem(cid, 6571, 1) end setGlobalStorageValue(self.stats, -1) end end function configCW:isPlayerInEvent(cid) if getPlayerStorageValue(cid, self.stats) == -1 or getPlayerStorageValue(cid, self.stats) - os.time() <= -5 or getGlobalStorageValue(self.stats) < 1 then return false end return true end function configCW:getTopFrags(tab) local frag = {} for _, pid in pairs(getPlayersOnline()) do if (getPlayerStorageValue(pid, self.kill) ~= -1 or getPlayerStorageValue(pid, self.death) ~= -1) and self:isPlayerInEvent(pid) then local kill = getPlayerStorageValue(pid, self.kill)+1 local death = getPlayerStorageValue(pid, self.death)+1 print(getCreatureName(pid), kill-death) table.insert(frag, {getCreatureName(pid), kill-death}) end end print(#frag) local frag, str, n = doOrderTab(frag, 0), nil, 5 print(#frag) if tab then return frag else if #frag < 5 then n = #frag end for i = 1, n do local cid = getPlayerByName(frag[i]) local kill = getPlayerStorageValue(cid, self.kill)+1 local death = getPlayerStorageValue(cid, self.death)+1 str = str and str .. ", " .. frag[i] .. "[" .. kill .. "/" .. death .. "]" or frag[i] .. "[" .. kill .. "/" .. death .. "]" end end return str end function doOrderTab(tabela, value) local max, index = {}, nil for i = 1, #tabela do valor = value for a, b in ipairs(tabela) do if b[2] > valor then valor = b[2] valor2 = b[1] index = a end end table.remove(tabela, index) if valor ~= value then table.insert(max, valor2) end end return max end Agora em data/movements/scripts coloque:
    function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition) if isPlayer(cid) and getGlobalStorageValue(configCW.stats) == 1 then doTeleportThing(cid, configCW.arenapos[math.random(1, #configCW.arenapos)]) doSendMagicEffect(getPlayerPosition(cid), 29) if not(configCW:isPlayerInEvent(cid)) then setPlayerStorageValue(cid, configCW.stats, getGlobalStorageValue(configCW.ostime) + configCW.evttime*60 + configCW.finaltime) setPlayerStorageValue(cid, configCW.kill, -1) setPlayerStorageValue(cid, configCW.death, -1) end else doTeleportThing(cid, fromPosition) end return true end e em movements.xml coloque:
     
    <!--City War --> <movevent type="StepIn" actionid="5540" event="script" value="city war.lua"/> Em creaturescripts/scripts coloque:
    function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if isInRange(getCreaturePosition(cid), configCW.topleftPos, configCW.botrightPos) then setPlayerStorageValue(cid, configCW.death, getPlayerStorageValue(cid, configCW.death) +1) setPlayerStorageValue(lastHitKiller[1], configCW.kill, getPlayerStorageValue(lastHitKiller[1], configCW.kill) +1) end return true end E em creaturescripts.xml coloque:
    <!-- Citywar --> <event type="preparedeath" name="CityWar" event="script" value="city war.lua"/> Está instalado o seu sistema..
     
    Para quem quiser o mapa, está aqui o download:
     
    http://www.mediafire.com/download/x2bnrnu7ttopbna/city_war.rar
     
    Créditos:
    Demonbholder 100%
    Eu por estar disponibilizando.
     
  6. Upvote
    Vodkart recebeu reputação de leandrozera em help addon doll   
    já existe
     
    function onSay(cid, words, param) local femaleOutfits = { ["citizen"]={136}, ["hunter"]={137}, ["mage"]={138}, ["knight"]={139}, ["noblewoman"]={140}, ["summoner"]={141}, ["warrior"]={142}, ["barbarian"]={147}, ["druid"]={148}, ["wizard"]={149}, ["oriental"]={150}, ["pirate"]={155}, ["assassin"]={156}, ["beggar"]={157}, ["shaman"]={158}, ["norsewoman"]={252}, ["nightmare"]={269}, ["jester"]={270}, ["brotherhood"]={279}, ["demonhunter"]={288}, ["yalaharian"]={324}, ["warmaster"]={336} } local maleOutfits = { ["citizen"]={128}, ["hunter"]={129}, ["mage"]={130}, ["knight"]={131}, ["nobleman"]={132},["summoner"]={133}, ["warrior"]={134}, ["barbarian"]={143}, ["druid"]={144}, ["wizard"]={145}, ["oriental"]={146}, ["pirate"]={151}, ["assassin"]={152}, ["beggar"]={153}, ["shaman"]={154}, ["norsewoman"]={251}, ["nightmare"]={268}, ["jester"]={273}, ["brotherhood"]={278}, ["demonhunter"]={289}, ["yalaharian"]={325}, ["warmaster"]={335}, ["wayfarer"]={366} } local msg = {"Command requires GOOD param!", "You dont have Addon Doll!", "Bad param!", "Full Addon Set sucesfully added!"} local x = string.explode(param, ",") if(getPlayerItemCount(cid, 8982) > 0) then if param ~= "" then if maleOutfits[x[1]:lower()] and femaleOutfits[x[1]:lower()] then if (x[2] == '1' or x[2] == '2') then doPlayerRemoveItem(cid, 8982, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[4]) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) if(getPlayerSex(cid) == 0)then doPlayerAddOutfit(cid, femaleOutfits[x[1]:lower()][1], x[2]) else doPlayerAddOutfit(cid, maleOutfits[x[1]:lower()][1], x[2]) end else doPlayerSendTextMessage(cid, 27, msg[3]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[3]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[1]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[2]) end return true end exemplo: !addon knight, 1
  7. Upvote
    Vodkart deu reputação a Tony em [Pedido] Faça seu pedido!   
  8. Upvote
    Vodkart deu reputação a Administrador em [Pedido] Faça seu pedido!   
    Aproveitando o movimento do tópico =)
     

     
    [Tamanho*]: Qualquer
    [Tema*] : Mulher
    [Tipografia*]: Nenhuma
    [Tipo*]: Background.
    [Cores preferenciais]: Vermelho, laranja.
  9. Upvote
    Vodkart deu reputação a Tony em [Pedido] Faça seu pedido!   
  10. Upvote
    Vodkart deu reputação a Benny em [Pedido] Faça seu pedido!   
    http://i.imgur.com/uJD0Wor.png
     
    Eita cuzão, e não, não fui eu quem fez
    Eu só ajustei a iluminação, mas eu conversei com o FullM, e ele liberou, já que ele não tá usando o trampo c:
     
    Abraços.
  11. Upvote
    Vodkart deu reputação a Tony em [Pedido] Faça seu pedido!   
    [Tamanho*]: 300x300px.
    [Tema*] : Lorem Ipsum.
    [Tipografia*]: Lorem Ipsum.
    [Tipo*]: Background.
    [Outros]: Caso houver um detalhe que o designer possa colocar.
    [Cores preferenciais]: Vermelho,Azul,Verde....
     
    [*] : OBRIGATÓRIO
    CASO OS CAMPOS OBRIGATÁRIOS NÃO ESTIVEREM TODOS PREENCHIDOS ENVIAREI UMA MENSAGEM PARA O CRIADOR DO PEDIDO , SE EM 24 HORAS ELE NÃO ALTERAR IREI APAGAR O POST PARA EVITAR POLUIÇÃO NO TÓPICO.
  12. Upvote
    Vodkart recebeu reputação de Administrador em Magic Items   
    no mods tenta trocar essa parte:
     
    <event type="login" name="itemstats_login" event="buffer"><![CDATA[ registerCreatureEvent(cid, 'itemstats') ]]></event> por essa: <event type="login" name="itemstats_login" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, 'itemstats') return true end]]></event>
     
     
    --------------------
     
    se o usar o script troca:
     
    function onLogin(player) player:registerEvent("randomstats_loot") return true end por function onLogin(cid) registerCreatureEvent(cid, 'itemstats') return true end
    no mods tenta trocar essa parte:
     
    <event type="login" name="itemstats_login" event="buffer"><![CDATA[ registerCreatureEvent(cid, 'itemstats') ]]></event> por essa: <event type="login" name="itemstats_login" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, 'itemstats') return true end]]></event>
     
     
    --------------------
     
    se o usar o script troca:
     
    function onLogin(player) player:registerEvent("randomstats_loot") return true end por function onLogin(cid) registerCreatureEvent(cid, 'itemstats') return true end
    no mods tenta trocar essa parte:
     
    <event type="login" name="itemstats_login" event="buffer"><![CDATA[ registerCreatureEvent(cid, 'itemstats') ]]></event> por essa: <event type="login" name="itemstats_login" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, 'itemstats') return true end]]></event>
     
     
    --------------------
     
    se o usar o script troca:
     
    function onLogin(player) player:registerEvent("randomstats_loot") return true end por function onLogin(cid) registerCreatureEvent(cid, 'itemstats') return true end
    TD BUGADO ISSO MEU DEUS
     
    -----------
     
    NO SCRIPT TROCA ESSA PARTE:
     
    function onLogin(player) player:registerEvent("randomstats_loot") return true end por function onLogin(cid) registerCreatureEvent(cid, 'itemstats') return true end
  13. Upvote
    Vodkart recebeu reputação de Administrador em Magic Items   
    arrumei, é só um MODS...
     
    caso não de certo tenta:
     
    creaturescripts.xml: <event type="login" name="randomstats_register" script="randomstats.lua"/> <event type="kill" name="randomstats_loot" script="randomstats.lua"/> randomstats.lua local rare_popup = true local rare_text = "*rare*" local rare_effect = true local rare_effect_id = CONST_ME_MAGIC_GREEN local tiers = { [1] = { prefix = 'rare', showattr = true, -- attr prefix will be shown instead extra = {0, 0}, chance = { [1] = 10000, -- chance for basic stat [2] = 5000 -- chance for second stat } }, [2] = { prefix = 'epic', extra = {7, 20}, -- additional percent bonus chance = { [1] = 3333, [2] = 25000 } }, [3] = { prefix = 'legendary', extra = {20, 35}, chance = { [1] = 1000, [2] = 100000 -- 2 bonuses always } }, } --! attributes local attr = { atk = { name = 'atk', prefix = 'sharpened', percent = {7, 25}, }, def = { name = 'def', prefix = 'fortified', percent = {7, 25}, }, extradef = { name = 'extra def', prefix = 'balanced', percent = {7, 25}, }, arm = { name = 'arm', prefix = 'flawless', percent = {7, 20}, }, hitchance = { name = 'accuracy', prefix = 'accurate', percent = {10, 25}, }, shootrange = { name = 'range', prefix = 'powerful', percent = {17, 34}, }, charges = { name = 'charges', prefix = 'charged', percent = {30, 45}, }, duration = { name = 'time', prefix = 'unique', percent = {35, 50}, }, --[[ not available in 1.1 attackSpeed = {}, extraAttack = {}, ]] } local stats = { [1] = {ITEM_ATTRIBUTE_ATTACK, attr.atk}, [2] = {ITEM_ATTRIBUTE_DEFENSE, attr.def}, [3] = {ITEM_ATTRIBUTE_EXTRADEFENSE, attr.extradef}, [4] = {ITEM_ATTRIBUTE_ARMOR, attr.arm}, [5] = {ITEM_ATTRIBUTE_HITCHANCE, attr.hitchance}, [6] = {ITEM_ATTRIBUTE_SHOOTRANGE, attr.shootrange}, [7] = {ITEM_ATTRIBUTE_CHARGES, attr.charges}, [8] = {ITEM_ATTRIBUTE_DURATION, attr.duration}, -- not available in 1.1 -- [9] = {ITEM_ATTRIBUTE_ATTACKSPEED, attr.attackSpeed}, -- [10] = {ITEM_ATTRIBUTE_EXTRAATTACK, attr.extraAttack}, } function stat_getItemDuration(item) local it_id = item:getId() local tid = ItemType(it_id):getTransformEquipId() if tid > 0 then item:transform(tid) local vx = item:getAttribute(ITEM_ATTRIBUTE_DURATION) item:transform(it_id) item:removeAttribute(ITEM_ATTRIBUTE_DURATION) return vx end return 0 end function loot_attrToVal(item, attr) local id = ItemType(item:getId()) local v = { [ITEM_ATTRIBUTE_ATTACK] = id:getAttack(), [ITEM_ATTRIBUTE_DEFENSE] = id:getDefense(), [ITEM_ATTRIBUTE_EXTRADEFENSE] = id:getExtraDefense(), [ITEM_ATTRIBUTE_ARMOR] = id:getArmor(), [ITEM_ATTRIBUTE_HITCHANCE] = id:getHitChance(), [ITEM_ATTRIBUTE_SHOOTRANGE] = id:getShootRange(), [ITEM_ATTRIBUTE_CHARGES] = id:getCharges(), [ITEM_ATTRIBUTE_DURATION] = stat_getItemDuration(item), -- not available in 1.1 -- [ITEM_ATTRIBUTE_ATTACKSPEED] = item:getAttackSpeed(), -- [ITEM_ATTRIBUTE_EXTRAATTACK] = item:getExtraAttack(), } return v[attr] end function assign_loot_Stat(c) local rares = 0 local h = c:getItemHoldingCount() if h > 0 then for i = 1, h do local available_stats = {} local it_u = c:getItem(i - 1) local it_id = ItemType(it_u:getId()) if it_u:isContainer() then local crares = assign_loot_Stat(it_u) rares = rares + crares else if not it_id:isStackable() then local wp = it_id:getWeaponType() if wp > 0 then if wp == WEAPON_SHIELD then -- type shield table.insert(available_stats, stats[2]) elseif wp == WEAPON_DISTANCE then -- type bow table.insert(available_stats, stats[1]) table.insert(available_stats, stats[5]) table.insert(available_stats, stats[6]) -- not available in 1.1 -- table.insert(available_stats, stats[9]) elseif wp == WEAPON_WAND then -- type wand table.insert(available_stats, stats[6]) -- not available in 1.1 -- table.insert(available_stats, stats[9]) elseif isInArray({WEAPON_SWORD, WEAPON_CLUB, WEAPON_AXE}, wp) then -- melee weapon if it_id:getAttack() > 0 then table.insert(available_stats, stats[1]) end if it_id:getDefense() > 0 then table.insert(available_stats, stats[2]) end if it_id:getExtraDefense() ~= 0 then table.insert(available_stats, stats[3]) end -- not available in 1.1 -- table.insert(available_stats, stats[10]) end else -- armors, amulets, runes and rings if it_id:getArmor() > 0 then table.insert(available_stats, stats[4]) end if it_id:getCharges() > 0 then table.insert(available_stats, stats[7]) end local eq_id = it_id:getTransformEquipId() if eq_id > 0 then table.insert(available_stats, stats[8]) end end end end if #available_stats > 0 then -- skips it all if it's empty local tier = math.random(1, #tiers) if #tiers[tier].chance > 0 then local statsStored = 0 local stats_used = {} for stat = 1, #tiers[tier].chance do if #available_stats > 0 then -- stops if no more stats available if stat - 1 == statsStored then -- checks when it's time to stop adding stats if math.random(1, 100000) <= tiers[tier].chance[stat] then statsStored = statsStored + 1 local selected_stat = math.random(1, #available_stats) table.insert(stats_used, available_stats[selected_stat]) table.remove(available_stats, selected_stat) end end end end if #stats_used > 0 then rares = rares + 1 local stat_desc = {} for stat = 1, #stats_used do local v = math.random( stats_used[stat][2].percent[1], stats_used[stat][2].percent[2] ) + math.random( tiers[tier].extra[1], tiers[tier].extra[2] ) local basestat = loot_attrToVal(it_u, stats_used[stat][1]) it_u:setAttribute(stats_used[stat][1], basestat + math.abs(basestat * v / 100)) table.insert(stat_desc, '[' .. stats_used[stat][2].name .. ': +' .. v .. '%]') end if tiers[tier].showattr then for stat = 1, #stats_used do it_u:setAttribute(ITEM_ATTRIBUTE_NAME, "[" .. stats_used[stat][2].prefix .. "]" .. it_u:getAttribute(ITEM_ATTRIBUTE_NAME)) end it_u:setAttribute(ITEM_ATTRIBUTE_NAME, it_u:getAttribute(ITEM_ATTRIBUTE_NAME) .. " " .. it_id:getName()) else it_u:setAttribute(ITEM_ATTRIBUTE_NAME, tiers[tier].prefix .. " " .. it_id:getName()) end it_u:setAttribute(ITEM_ATTRIBUTE_DESCRIPTION, table.concat(stat_desc, "\n")) end end end end end return rares end function find_loot_Container(pos) local rares = 0 local c = Tile(pos):getTopDownItem() if c ~= nil then if c:isContainer() then rares = rares + assign_loot_Stat(c) if rares > 0 then if rare_popup then local spectators = Game.getSpectators(pos, false, true, 7, 7, 5, 5) for i = 1, #spectators do spectators[i]:say(rare_text, TALKTYPE_MONSTER_SAY, false, spectators[i], pos) end end if rare_effect then pos:sendMagicEffect(rare_effect_id) end end return true end end end function onKill(player, target, lastHit) if (not isSummon(target)) then addEvent(find_loot_Container, 2, target:getPosition()) end return true end function onLogin(player) player:registerEvent("randomstats_loot") return true end
  14. Upvote
    Vodkart recebeu reputação de LeoTK em Magic Items   
    MODS:


    ItemStats.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <mod name="Random Item Stats" enabled="1">
    <config name="itemstats_conf"><![CDATA[
    -- //
    extra_loot_key = 123 --: optional storage for higher loot rate
    vocation_base_attackspeed = getVocationInfo(1).attackSpeed --: used for attackSpeed stat
    -- //

    tiers, attr = {}, {}

    tiers['rare'] = {
    color = 66, -- color of 'RARE' text
    extra = {0, 0},
    attrNames = true, -- show attribute names instead of rare
    chance = {
    [1] = 10000,
    [2] = 5000 -- chance for 2nd stat
    }
    }
    tiers['epic'] = {
    color = 35,
    extra = {7, 20}, -- additional percent bonus
    chance = {
    [1] = 3333,
    [2] = 25000
    }
    }
    tiers['legendary'] = {
    color = 149,
    extra = {20, 35},
    chance = {
    [1] = 1000,
    [2] = 100000 -- 2 bonuses always
    }
    }

    MELEE = 0
    DISTANCE = 1
    ARMOR = 2
    SHIELD = 3
    WAND = 4
    DURATION_RING = 5
    CHARGES = 6

    --! attributes
    attr['quick'] = {
    attr = 'attackSpeed',
    name = 'Attack Speed',
    percent = {6, 20},
    types = {MELEE, DISTANCE, WAND}
    }
    attr['fortified'] = {
    attr = 'extraDefense',
    base = 'defense',
    name = 'Defense',
    percent = {7, 25},
    types = {MELEE, SHIELD}
    }
    attr['deadly'] = {
    attr = 'extraAttack',
    base = 'attack',
    name = 'Attack',
    types = {MELEE},
    percent = {7, 25}
    }
    attr['strong'] = {
    attr = 'armor',
    name = 'Armor',
    percent = {7, 20},
    types = {ARMOR}
    }
    attr['hawkeye\'s'] = {
    attr = 'hitChance',
    name = 'Hit Chance',
    percent = {10, 25},
    types = {DISTANCE}
    }
    --[[ // not available without source edit
    attr['farsight'] = {
    attr = 'shootRange',
    name = 'Shoot Range',
    percent = {17, 34},
    types = {DISTANCE, WAND}
    }
    ]]
    attr['charged'] = {
    attr = 'charges',
    name = 'Charges',
    percent = {30, 45},
    types = {CHARGES}
    }
    attr['divine'] = {
    attr = 'duration',
    name = 'Duration',
    percent = {35, 50},
    types = {DURATION_RING}
    }
    --/ attributes

    rate = getConfigInfo('rateLoot')

    if( getConfigInfo('monsterLootMessage') ~= 0 )then
    print('[Notice] Set monsterLootMessage = 0 to prevent duplicate loot messages')
    end
    ]]></config>

    <event type="kill" name="itemstats" event="script"><![CDATA[
    domodlib('itemstats_conf')

    function round(n, s)
    return tonumber(('%.' .. (s or 0) .. 'f'):format(n))
    end

    function getContentDescription(uid, sep)
    local ret, i, containers = '', 0, {}
    while( i < getContainerSize(uid) )do
    local v, s = getContainerItem(uid, i), ''
    local k = getItemInfo(v.itemid)
    k.name = getItemAttribute(v.uid, 'name') or k.name
    if( k.name ~= '' )then
    if( v.type > 1 and k.stackable and k.showCount )then
    s = v.type .. ' ' .. k.plural
    else
    local article = getItemAttribute(v.uid, 'article') or k.article
    s = (article == '' and '' or article .. ' ') .. k.name
    end
    ret = ret .. (i == 0 and not sep and '' or ', ') .. s
    if( isContainer(v.uid) and getContainerSize(v.uid) ~= 0 )then
    table.insert(containers, v.uid)
    end
    else
    ret = ret .. (i == 0 and not sep and '' or ', ') .. 'an item of type ' .. v.itemid .. ', please report it to gamemaster'
    end
    i = i + 1
    end
    for i = 1, #containers do
    ret = ret .. getContentDescription(containers, true)
    end
    return ret
    end

    local function send(cid, corpse, monster)
    if( isPlayer(cid) )then
    local ret = corpse and isContainer(corpse) and getContentDescription(corpse)
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Loot of ' .. monster .. ': ' .. (ret ~= '' and ret or 'nothing'))
    local party = getPlayerParty(cid)
    if( party )then
    for _, pid in ipairs(getPartyMembers(party)) do
    doPlayerSendChannelMessage(pid, '', 'Loot of ' .. monster .. ': ' .. (ret ~= '' and ret or 'nothing'), TALKTYPE_CHANNEL_W, CHANNEL_PARTY)
    end
    end
    end
    end

    local function createLoot(i, ext)
    local item = type(i.id) == 'table' and i.id[math.random(#i.id)] or i.id
    local random = math.ceil(math.random(100000) / ext)
    local tmpItem, f

    if( random < i.chance )then
    if i.subType == -1 then
    f = getItemInfo(item)
    end
    tmpItem = doCreateItemEx(item,
    i.subType ~= -1 and i.subType or
    f.stackable and random % i.count + 1 or
    f.charges ~= 0 and f.charges or
    1
    )
    end

    if( not tmpItem )then
    return
    end

    if( i.actionId ~= -1 )then
    doItemSetAttribute(tmpItem, 'aid', i.actionId)
    end

    if( i.uniqueId ~= -1 )then
    doItemSetAttribute(tmpItem, 'uid', i.uniqueId)
    end

    if( i.text ~= '' )then
    doItemSetAttribute(tmpItem, 'text', i.text)
    end

    local ret, done

    for k, v in pairs(tiers) do
    local cur, used = {}, {}
    for i = 1, #v.chance do
    if( math.random(100000) <= v.chance )then
    if( f )then
    f = getItemInfo(item)
    end
    if( not f.stackable )then
    for m, n in pairs(attr) do
    if( not table.find(used, m) and
    (
    ( table.find(n.types, MELEE) and table.find({WEAPON_SWORD, WEAPON_CLUB, WEAPON_AXE}, f.weaponType) ) or
    ( table.find(n.types, DISTANCE) and f.weaponType == WEAPON_DIST and f.ammoType ~= 0 ) or
    ( table.find(n.types, ARMOR) and f.armor ~= 0 and f.wieldPosition ~= CONST_SLOT_NECKLACE ) or
    ( table.find(n.types, SHIELD) and f.defense ~= 0 and f.weaponType == WEAPON_SHIELD ) or
    ( table.find(n.types, WAND) and f.weaponType == WEAPON_WAND ) or
    ( table.find(n.types, DURATION_RING) and f.wieldPosition == CONST_SLOT_RING and f.transformEquipTo ~= 0 ) or
    ( table.find(n.types, CHARGES) and table.find({CONST_SLOT_RING, CONST_SLOT_NECKLACE}, f.wieldPosition) and f.charges ~= 0 )
    ) )then
    table.insert(cur, m)
    end
    end

    if( #cur ~= 0 )then
    local n = cur[math.random(#cur)]
    table.insert(used, n)

    n = attr[n]
    local percent, new, tmp = math.random(n.percent[1] + (v.extra[1] or 0), n.percent[2] + (v.extra[2] or 0))
    -- hacks
    if( n.attr == 'duration' )then
    tmp = getItemInfo(f.transformEquipTo)
    if tmp.transformDeEquipTo ~= item then
    break
    end
    new = round( tmp.decayTime * (1 + percent / 100) * 1000 )
    elseif( n.attr == 'attackSpeed' )then
    new = round( vocation_base_attackspeed / (1 + percent / 100) )
    elseif( n.attr == 'hitChance' ) then
    new = round(
    f.hitChance == -1 and
    percent
    or
    f.hitChance * (1 + percent / 100)
    )
    else
    new = round(
    n.base and
    f[n['attr']] + f[n['base']] * (percent / 100)
    or
    f[n['attr']] * (1 + percent / 100)
    )

    if( new == f[n[n.base and 'base' or 'attr']] )then -- no improvement
    break
    end
    end

    doItemSetAttribute(tmpItem, n.attr:lower(), new)

    local name = getItemAttribute(tmpItem, 'name')
    if( v.attrNames or not name )then
    local name = (v.attrNames and used[#used] or k) .. ' ' .. (name or f.name)
    doItemSetAttribute(tmpItem, 'name', name)

    if( f.article ~= '' )then
    local article = getArticle(name)
    if( article ~= f.article )then
    doItemSetAttribute(tmpItem, 'article', article)
    end
    end
    end

    local desc = getItemAttribute(tmpItem, 'description') or f.description
    doItemSetAttribute(tmpItem, 'description', '[' .. n.name .. ': +' .. percent .. '%]' .. (desc == '' and '' or '\n' .. desc))

    ret = k
    end
    cur = {}
    if( #v.chance == i )then
    done = true
    end
    end
    else
    done = i ~= 1
    break
    end
    end
    if( done )then
    break
    end
    end

    return tmpItem, ret
    end

    local function createChildLoot(parent, i, ext, pos)
    if( not i or #i == 0 )then
    return true
    end

    local size, cap = 0, getContainerCap(parent)
    for k = 1, #i do
    if( size == cap )then
    break
    end
    local tmp, ret = createLoot(i[k], ext)
    if( tmp )then
    if( isContainer(tmp) )then
    if( createChildLoot(tmp, i[k].child, ext, pos) )then
    doAddContainerItemEx(parent, tmp)
    size = size + 1
    else
    doRemoveItem(tmp)
    end
    else
    if( ret )then
    doSendMagicEffect(pos, CONST_ME_MAGIC_GREEN)
    doSendAnimatedText(pos, ret:upper(), tiers[ret].color)
    end
    doAddContainerItemEx(parent, tmp)
    size = size + 1
    end
    end
    end

    return size > 0
    end

    local function dropLoot(pos, v, ext, master, cid, target)
    local corpse
    if( not master or master == target )then -- 0.3/4
    corpse = getTileItemById(pos, v.lookCorpse).uid
    if( isContainer(corpse) )then
    for i = 1, getContainerSize(corpse) do
    doRemoveItem(getContainerItem(corpse, 0).uid)
    end
    local size, cap = 0, getContainerCap(corpse)
    for i = 1, #v.loot do
    if( size == cap )then
    break
    end
    local tmp, ret = createLoot(v.loot, ext)
    if( tmp )then
    if( isContainer(tmp) )then
    if( createChildLoot(tmp, v.loot.child, ext, pos) )then
    doAddContainerItemEx(corpse, tmp)
    size = size + 1
    else
    doRemoveItem(tmp)
    end
    else
    if( ret )then
    doSendMagicEffect(pos, CONST_ME_MAGIC_GREEN)
    doSendAnimatedText(pos, ret:upper(), tiers[ret].color)
    end
    doAddContainerItemEx(corpse, tmp)
    size = size + 1
    end
    end
    end
    end
    end
    send(cid, corpse, v.description)
    end

    function onKill(cid, target, damage, flags)
    if( (damage == true or bit.band(flags, 1) == 1) and isMonster(target) )then -- 0.3/4
    local v = getMonsterInfo(getCreatureName(target))
    if( v and v.lookCorpse ~= 0 )then
    local s = getCreatureStorage(cid, extra_loot_key)
    addEvent(dropLoot, 0, getThingPos(target), v, s == -1 and rate or s, getCreatureMaster(target), cid, target)
    end
    end
    return true
    end
    ]]></event>

    <event type="login" name="itemstats_login" event="buffer"><![CDATA[
    registerCreatureEvent(cid, 'itemstats')
    ]]></event>

    </mod>

  15. Upvote
    Vodkart deu reputação a ScythePhantom em Look   
    @EDIT: Resolvido.
  16. Upvote
    Vodkart recebeu reputação de Administrador em Simple Task 3.0   
    uheuheuheuehueue faz tempo q n atualizo esse sistema, última vez que mexi nele ainda tava no 8.60...
     
    tenta colocar "javali" no sistema.
     
    se n der certo eu vou configurar o sistema de novo...
     
    qual versão do seu ot?
  17. Upvote
    Vodkart deu reputação a Tony Araujo em Pokémon Online   
    Salve galera do Eks, hoje eu venho apresentar a vocês por meio deste tópico o Pokemon Online (new era), o mais novo projeto de pokémon, cujo a principal ideia é sair da mesmice de todos os servidores existentes de hoje em dia. Nosso projeto, tem como base o primeiro, unico e melhor servidor já existente no mundo de OTServers. Quem não lembra do glorioso Pokémon Online, criado pela equipe SVKE? Haha. Servidor sendo feito totalmente do 0, sem usar base alguma. O mapa será criado tendo em mente o mapa do SVKE, tentaremos ao máximo trazer os incriveis mapas e sistemas, novamente. Andamento do servidor Caught System: 100% Go-Back System: 100% Portrait System: 100% Evolution System: 100% NPC Nurse System: 100% Paint System: 100% Pokedex System: 100% Ghost System: 100% Wild Pokemon Passive: 100% Moves System: 100% Limite de 6 Pokemons: 100% Party System (Pelo Private Channel): 100% Effective System (Vantagem e Desvantagem): 100% Duel System (Pela Party) 100%
    Tv / Cam System 100%

    Próximos sistemas Order System (Com todas as habilidades [Fly, Surf, Ride, Blink, Cut, Light, Transform, Control Mind, Dig, Move]) All Pokemon Spells Boat System (Vermilion - Cinnabar) Gym System NPC's de batalha espalhados pelo mapa. Imagens Vídeos - New Pokédex | Pokémon LifeBar
    Página no Facebook: Pokémon Online Equipe Oficial - OrochiElf - TioSan Colaboradores - GabrielTXU  
  18. Upvote
    Vodkart recebeu reputação de Administrador em Simple Task 3.0   
    tenta colocar no mods o nome do monstro em letras minusculas...
     
     
    ["frenzy boar"]
  19. Upvote
    Vodkart deu reputação a CalistoKing em Simple Task 3.0   
    Bom o que está dando de errado agora é isto , ele dis que o nome do monstro não está correto e pede para verificar no !task me ajude !



  20. Upvote
    Vodkart recebeu reputação de Administrador em Simple Task 3.0   
    vc colocou os arquivos na pasta certa? porque diz aí que não está encontrando os arquivos! só isso
  21. Upvote
    Vodkart recebeu reputação de deviletico em [Pedido] Alavanca + Items   
    function getItemsInPos(items, pos) -- function by vodka local items = type(items) == "table" and items or {items} local check = true local t = {} for i = 1,#items do t[i] = getThingFromPos({x=pos.x,y=pos.y,z=pos.z,stackpos=i}).itemid if not table.find(items, t[i]) then check = false break end end if check then return true end return nil end function doRemoveItensInPos(items, pos) -- function by vodka local items = type(items) == "table" and items or {items} for i = 1, table.maxn(items) do doRemoveItem(getThingFromPos({x=pos.x,y=pos.y,z=pos.z,stackpos=1}).uid) end return nil end local t = { {items = {2175, 2376} , pos = {x=185, y=57, z=7}}, {items = {5919} , pos = {x=188, y=57, z=7}} } topos = {x=160, y=54, z=7} function onUse(cid, item, fromPosition, itemEx, toPosition) for _, k in ipairs(t) do if not getItemsInPos(k.items, k.pos) then doPlayerSendCancel(cid, 'Está faltando items na mesa.') return true end end for _, v in ipairs(t) do doRemoveItensInPos(v.items, v.pos) end doTeleportThing(cid, topos) doSendMagicEffect(topos, CONST_ME_TELEPORT) doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end
  22. Upvote
    Vodkart recebeu reputação de Maenilse em Simple Task by Vodkart   
    qual versão do seu ot
  23. Upvote
    Vodkart recebeu reputação de Masterzikka em [AJUDA] Presiso de um sistema de coraçao..   
    http://www.xtibia.com/forum/topic/199089-heart-system/
     
    http://www.xtibia.com/forum/topic/181013-script-nao-funfa-ajuda-oque-pode-ser/
  24. Upvote
    Vodkart recebeu reputação de 1579091 em Addon Doll Por First Addon! Ou Second Addon! Sistema Igual Underwar, Sem Addon Full   
    function onSay(cid, words, param) local femaleOutfits = { ["citizen"]={136}, ["hunter"]={137}, ["mage"]={138}, ["knight"]={139}, ["noblewoman"]={140}, ["summoner"]={141}, ["warrior"]={142}, ["barbarian"]={147}, ["druid"]={148}, ["wizard"]={149}, ["oriental"]={150}, ["pirate"]={155}, ["assassin"]={156}, ["beggar"]={157}, ["shaman"]={158}, ["norsewoman"]={252}, ["nightmare"]={269}, ["jester"]={270}, ["brotherhood"]={279}, ["demonhunter"]={288}, ["yalaharian"]={324}, ["warmaster"]={336} } local maleOutfits = { ["citizen"]={128}, ["hunter"]={129}, ["mage"]={130}, ["knight"]={131}, ["nobleman"]={132},["summoner"]={133}, ["warrior"]={134}, ["barbarian"]={143}, ["druid"]={144}, ["wizard"]={145}, ["oriental"]={146}, ["pirate"]={151}, ["assassin"]={152}, ["beggar"]={153}, ["shaman"]={154}, ["norsewoman"]={251}, ["nightmare"]={268}, ["jester"]={273}, ["brotherhood"]={278}, ["demonhunter"]={289}, ["yalaharian"]={325}, ["warmaster"]={335}, ["wayfarer"]={366} } local msg = {"Command requires GOOD param!", "You dont have Addon Doll!", "Bad param!", "Full Addon Set sucesfully added!"} local x = string.explode(param, ",") if(getPlayerItemCount(cid, 8982) > 0) then if param ~= "" then if maleOutfits[x[1]:lower()] and femaleOutfits[x[1]:lower()] then if (x[2] == '1' or x[2] == '2') then doPlayerRemoveItem(cid, 8982, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[4]) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) if(getPlayerSex(cid) == 0)then doPlayerAddOutfit(cid, femaleOutfits[x[1]:lower()][1], x[2]) else doPlayerAddOutfit(cid, maleOutfits[x[1]:lower()][1], x[2]) end else doPlayerSendTextMessage(cid, 27, msg[3]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[3]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[1]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg[2]) end return true end
     
    exemplo:
     
    !addon knight, 1
     
    Créditos: Bogart
  25. Upvote
    Vodkart recebeu reputação de otnice em Battlefield Event!   
    Mapa feito por AnneMotta:
     
    Mapa Battlefield.rar
     
    scan: https://www.virustot...sis/1346548669/
     
    Imagens do mapa:
     
     
     
     
    Descrição:
     
    - O evento é automático e acontece em determinado dia e hora da semana
    - Logo após é aberto um teleport então apenar um número limitado de players entra no evento
    - São formados por dois times, os "Black Assassins" e os "Red Barbarians"
    - Os times são balanceados automaticamente, quando o último jogador entra, esse teleport é fechado e depois de 5 minutos o evento começa, os 5 minutos são para os players ter tempo de planejar um ataque.
    - O sistema tem por finalidade matar todos do time inimigo, e os players que sobreviverem recebem um prêmio.
     
    Bônus:
     
    - Durante o evento é mostrado na tela somente dos jogadores que estão no evento um placar de times.

    - Até o último player entrar no evento, ficam mandando broadcast dizendo quanto players faltam para dar inicio ao jogo.

    - Se o evento abrir e não atingir a meta de players colocada, o evento é finalizado e os players voltam para o templo.

     
     
     
    Lembre-se:
     
    - De colocar Pvp Tool na área
    - De colocar área NoLogout
     
     
    Imagens:
     
     
     
     
     
    Instalação:
     
     
    Data/Lib
     
     
     
    Data/CreatureScript
     
     
     
    Data/Globalevents
     
     
     
    Data/Movements
     
     
     
     
    Como configurar:
     
    Configuração dos Times:
     
     
     
    Configurar Datas do evento:
     
     
     
     
    Configuração Paredes:
     
     
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...