Ir para conteúdo

MarceloHeuheuheu

Campones
  • Total de itens

    23
  • Registro em

  • Última visita

1 Seguidor

Sobre MarceloHeuheuheu

Informações

  • Forma que conheci o xTibia
    Otservs
  • Sou
    Mapper

Últimos Visitantes

1546 visualizações

MarceloHeuheuheu's Achievements

  1. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499) local area = createCombatArea(AREA_WALLFIELD, AREADIAGONAL_WALLFIELD) setCombatArea(combat, area) function onCastSpell(cid, var) local block_area = { {{x=909,y=1019,z=7}, {x=1000,y=1019,z=7}}, -- pos começo e final da area {{x=156,y=1019,z=7}, {x=200,y=1019,z=7}}, {{x=200,y=1019,z=7}, {x=300,y=1019,z=9}} } for _, var in ipairs(block_area) do if isInRange(getCreaturePosition(cid), var[1], var[2]) then doPlayerSendCancel(cid, "você não pode usar wild grouth rune nesta area.") return false end end return doCombat(cid, combat, var) end Testa ai brother !
  2. Uso esse é só jogar em MODS e só alegria espero ter ajudado, se não gostar é só mudar os id dos itens sem bug perfeito eu mesmo que arrumei vlws até mais. Cria um arquivo com o nome Firstitems.xml e joga isso lá dentro da pasta MODS. <?xml version="1.0" encoding="UTF-8"?> <mod name="First Items" version="1.0" author="Tibia Brasil OT" contact="tibiabrasilot@r7.com" enabled="yes"> <config name="firstitems_config"><![CDATA[ config = { storage = 30001, items = {2050, 2382} } ]]></config> <event type="login" name="FirstItems" event="script"> <![CDATA[ domodlib('firstitems_config') function onLogin(cid) local config = { voc_items = { { -- SORC {2175}, -- spellbook {2190}, -- wand of vortex {8820}, -- mage hat {8819}, -- mage robe {2148, 150} -- Gold Coins }, { -- DRUID {2175}, -- spellbook {2182}, -- snakebite rod {8820}, -- mage hat {8819}, -- mage robe {2148, 150} -- Gold Coins }, { -- PALADIN {2530}, -- copper shield {2389, 5}, -- Spears {2480}, -- legion helmet {2464}, -- chain armor {2148, 100} -- Gold Coins }, { -- KNIGHT {2409}, -- serpent sword {2530}, -- copper shield {2480}, -- legion helmet {2464}, -- chain armor {2148, 150} -- Gold Coins } }, all_items = { {2468}, -- studded legs {2643} -- leather boots }, extra_items = { {2789, 15}, -- Brown Mushrooms {2120}, -- Rope {2554} -- Shovel }, knight_weapons = { {2423}, -- clerical mace {2429} -- barbarian axe } } if getPlayerGroupId(cid) < 3 then if getPlayerStorageValue(cid, storage) == -1 then local common = config.voc_items[getPlayerVocation(cid)] if common ~= nil then for _, v in ipairs(common) do doPlayerAddItem(cid, v[1], v[2] or 1) end end local all = config.all_items if all ~= nil then for _, v in ipairs(all) do doPlayerAddItem(cid, v[1], v[2] or 1) end end local extra = config.extra_items local bp = doPlayerAddItem(cid, 1988, 1) if extra ~= nil then for _, v in ipairs(extra) do doAddContainerItem(bp, v[1], v[2] or 1) end end local weapons = config.knight_weapons if weapons ~= nil then for _, w in ipairs(weapons) do if isKnight(cid) then doAddContainerItem(bp, w[1], w[2] or 1) end end end setPlayerStorageValue(cid, storage, 1) end end return true end ]]></event> </mod>
  3. Tamanho: 175x350 Tema: Annie league of legends Tipografia: Anny Boiadeiro Scripter and Mapper (no caso isso fica em baixo) Cores: Sua preferência.
  4. Simples, logue na account 1/1 do seu otserver e adicione um set em cada vocation e todas as account criadas nessa vocation irão vim com o set.
  5. Somente equipamentos e armas podem ser refinados. crie Killua Upgrading System.lua em data/actions/scripts e coloque: --- Xtibia --- Xtibia. local vocations = {1, 2, 4, 5, 6, 7, 8} -- Vocações que podem refinar itens local ids_bloqueados = {2160, 5706, 2463} -- Itens que não podem ser refinados local controle = { {level = 0, quantOre = 1, chance = 100}, -- Level do item, quantidade de Iron Ore necessaria, chance de sucesso {level = 1, quantOre = 2, chance = 90}, {level = 2, quantOre = 3, chance = 80}, {level = 3, quantOre = 4, chance = 70}, {level = 4, quantOre = 5, chance = 60}, {level = 5, quantOre = 6, chance = 50}, {level = 6, quantOre = 7, chance = 40}, {level = 7, quantOre = 8, chance = 30}, {level = 8, quantOre = 9, chance = 20}, {level = 9, quantOre = 10, chance = 10} } function getItemLevel(uid) if uid > 0 then return getItemAttribute(uid, "lvl") or 0 end return false end function doItemAddLevel(uid, count) if uid > 0 and tonumber(count) > 0 then return doItemSetAttribute(uid, "lvl", getItemLevel(uid) + count) end return false end function onUse(cid, item, fromPosition, itemEx, toPosition) if not isInArray(vocations, getPlayerVocation(cid)) then return doPlayerSendCancel(cid, "Sua vocacao nao pode refinar.") elseif isInArray(ids_bloqueados, itemEx.uid) then return doPlayerSendCancel(cid, "Este item nao pode ser refinado.") end if getItemInfo(itemEx.itemid).attack > 0 or getItemInfo(itemEx.itemid).defense > 0 or getItemInfo(itemEx.itemid).armor > 0 then for _, upgrade in pairs(controle) do local atk = getItemAttribute(itemEx.uid, "attack") or getItemInfo(itemEx.itemid).attack local def = getItemAttribute(itemEx.uid, "defense") or getItemInfo(itemEx.itemid).defense local arm = getItemAttribute(itemEx.uid, "armor") or getItemInfo(itemEx.itemid).armor local chance = math.random(1, 100) if getItemLevel(itemEx.uid) == upgrade.level then if doPlayerRemoveItem(cid, 5880, upgrade.quantOre) then doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_CRAPS) if chance <= upgrade.chance then if getItemLevel(itemEx.uid) == 0 then doItemSetAttribute(itemEx.uid, "description", "Esse item foi refinado por" ..getCreatureName(cid)) end doItemAddLevel(itemEx.uid, 1) doItemSetAttribute(itemEx.uid, "name", getItemNameById(itemEx.itemid).. " + " ..getItemLevel(itemEx.uid)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce refinou com sucesso! Agora seu "..getItemNameById(itemEx.itemid).." eh level " ..getItemLevel(itemEx.uid)) if getItemInfo(itemEx.itemid).attack > 0 then doItemSetAttribute(itemEx.uid, "attack", atk + 1) return true elseif getItemInfo(itemEx.itemid).armor > 0 then doItemSetAttribute(itemEx.uid, "armor", arm + 1) return true elseif getItemInfo(itemEx.itemid).defense > 0 and getItemInfo(itemEx.itemid).attack <= 0 then doItemSetAttribute(itemEx.uid, "defense", def + 1) return true end else doTransformItem(itemEx.uid, 2256) doItemSetAttribute(itemEx.uid, 'name', "metal trash") doItemSetAttribute(itemEx.uid, 'attack', 0) doItemSetAttribute(itemEx.uid, 'armor', 0) doItemSetAttribute(itemEx.uid, 'defense', 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce falhou.") return true end else doPlayerSendCancel(cid, "Voce nao tem iron ores o suficiente. Voce precisa de "..upgrade.quantOre.." iron ores.") end end end else doPlayerSendCancel(cid, "Esse item nao pode ser refinado.") end return true end Em data/actions/actions.xml coloque essa TAG: <action itemid="2422" event="script" value="Killua Upgradin System.lua"/> Para configurar, leia meus comentários dentro do código.
  6. Tamanho: Sua preferência Tema: Tibia Pedido: Sign Tipografia: Anny Boiadeiro Scripter and Mapper (no caso isso fica em baixo) Cores: Sua preferência. Outros: Na sign coloca tipo como você fez o background do Dragon Ball, com aquela divisão sabe? Porém, em uma parte seria alguma imagem relacionada a script e a outra imagem seria um mapa qualquer.
  7. Para quem não sabe como funciona o script : O player precisa usar um passaporte para poder entrar passar por tal lugar.(pode ser usado de item donation para ter acesso a area vip ou coisa do tipo) Testado em: TFS 0.3.6 e 0.4 Dev. • Adicionando o script • Em "data/actions/scripts/passaporte.lua" : function onUse(cid, item, frompos, item2, topos) if item.itemid == 1954 then local playerpos = getCreaturePosition(cid) doRemoveItem(item.uid,1) setPlayerStorageValue(cid,19200,1) doSendMagicEffect(playerpos, 12) doCreatureSay(cid, "Parabens!, voce verificou seu passaporte, agora voce pode entrar no barco!.", TALKTYPE_ORANGE_1) end end Em "data/actions/actions.xml" : <action itemid="1954" script="passaporte.lua" /> Agora em "data/movements/scripts/passagem.lua" : function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) == true then if getPlayerStorageValue(cid, 19200) == -1 then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid,22, "Voce precisa do passaporte para entrar no barco!.") doSendMagicEffect(getPlayerPosition(cid), 2) else doPlayerSendTextMessage(cid,22, 'Seu passaporte foi verificado, voce pode entrar no barco!.') doSendMagicEffect(getPlayerPosition(cid), 22) end end return true end Em "data/movements/movements.xml" : <movevent type="StepIn" tileitem="0" itemid="9120" event="script" value="passagem.lua"/> • Configurando • Créditos: ViitiinG
  8. Para quem não sabe como funciona o script : Cada vocation ao atingir X level ganha uma X recompensa(podendo ganhar mais de um item por level). • Adicionando o script • Em "data/creaturescripts/scripts/vocreward.lua" : local c = { [{1,5}] = { [13] = {items = {{itemid = 2191, count = 1}}, storage = 40953}, [19] = {items = {{itemid = 2188, count = 1}}, storage = 40954}, [22] = {items = {{itemid = 8921, count = 1}}, storage = 40955}, [26] = {items = {{itemid = 2189, count = 1}}, storage = 40956}, [33] = {items = {{itemid = 2187, count = 1}, {itemid = 2152, count = 25}}, storage = 40957}, [37] = {items = {{itemid = 8920, count = 1}, {itemid = 2152, count = 50}}, storage = 40958}, [42] = {items = {{itemid = 8922, count = 1}, {itemid = 2160, count = 1}}, storage = 40959} }, [{2,6}] = { [13] = {items = {{itemid = 2186, count = 1}}, storage = 40953}, [19] = {items = {{itemid = 2185, count = 1}}, storage = 40954}, [22] = {items = {{itemid = 8911, count = 1}}, storage = 40955}, [26] = {items = {{itemid = 2181, count = 1}}, storage = 40956}, [33] = {items = {{itemid = 2183, count = 1}, {itemid = 2152, count = 25}}, storage = 40957}, [37] = {items = {{itemid = 8912, count = 1}, {itemid = 2152, count = 50}}, storage = 40958}, [42] = {items = {{itemid = 8910, count = 1}, {itemid = 2160, count = 1}}, storage = 40959} }, [{3,7}] = { [12] = {items = {{itemid = 2389, count = 5}}, storage = 40953}, [16] = {items = {{itemid = 2389, count = 10}}, storage = 40954}, [20] = {items = {{itemid = 3965, count = 10}}, storage = 40955}, [25] = {items = {{itemid = 7378, count = 10}}, storage = 40956}, [30] = {items = {{itemid = 2456, count = 1}, {itemid = 2544, count = 100}}, storage = 40957}, [35] = {items = {{itemid = 7364, count = 100}, {itemid = 2152, count = 75}}, storage = 40958}, [40] = {items = {{itemid = 7365, count = 100}, {itemid = 2160, count = 1}}, storage = 40959} }, [{4,8}] = { [15] = {items = {{itemid = 2409, count = 1}}, storage = 40953}, [30] = {items = {{itemid = 2392, count = 1}, {itemid = 2152, count = 75}}, storage = 40957}, [40] = {items = {{itemid = 2407, count = 1}, {itemid = 2160, count = 1}}, storage = 40959} } } function onAdvance(cid, skill, oldlevel, newlevel) if skill ~= SKILL__LEVEL then return true end for voc, x in pairs(c) do if isInArray(voc, getPlayerVocation(cid)) then for level, z in pairs(x) do if newlevel >= level and getPlayerStorageValue(cid, z.storage) ~= 1 then local text = "" for v = 1, #z.items do count, info = z.items[v].count, getItemInfo(z.items[v].itemid) local ret = ", " if v == 1 then ret = "" elseif v == #z.items then ret = " and " end text = text .. ret text = text .. (count > 1 and count or info.article).." "..(count > 1 and info.plural or info.name) doPlayerAddItem(cid, z.items[v].itemid, z.items[v].count) end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabens, voce alcancou o level "..level.." e obteve "..text..".") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_FIREWORK_YELLOW) setPlayerStorageValue(cid, z.storage, 1) end end end end return true end Em "data/creaturescripts/creaturescripts.xml" : <event type="advance" name="VocReward" event="script" value="vocreward.lua"/> Em "data/creaturescripts/scripts/login.lua" : registerCreatureEvent(cid, "VocReward") • Configurando • Créditos: ViitinG
  9. Fala galera do XTibia, andei pegando um BAIAK base pra dar uma editada, trackeando alguns mapas e otimizando algumas coisas para disponibilizar um baiak "filé" para vocês do XTibia Sem mimimi, vamos ao que interessa e depois algumas imagens! O que temos neste lindo Baiak? New Templo bem baiak. Dodge System Run Event BP Event Guilds System Castle 24H Battlefield Event Blood Castle Event Firestorm Event Capture the Flags Event Items Donates para vender no site/jogo Items VIP a mostra no termplo 3 Áreas VIPS jogo e Donate Vários Teleports Novas Hunts Look Frags Sistema de Refinamento Criminal System Hit Rank Reset System Full Task Zombie Event [VIP] no nome ao adquirir VIP Distro 04 com Cast System (LUAN) Sistema de teleporte (!FLY) Level Skills System Ao cadastrar o player irá ganhar 2 dias VIPs na quest do templo! War System Várias quests Arena PVP Treiners modificados Roda em SQLITE E MYSQL! E muito mais, basta baixar para conferir! Vamos as imagens: Ao abrir o mapa: Ingame: Local onde o player começa: Templo Baiak: Teleports Free's Básicos: Área de Eventos e Summon por alavanca: BP Event Room: TPS VIP DONATE: TPS VIP +: TPS VIP ++: Pasta do servidor: Dowload/Scan Download do servidor completo: http://www.4shared.c..._Absolute.html? Scan: https://www.virustot...sis/1407454456/ Desejo a todos um bom proveito e sucesso Até a próxima Créditos: Absolute DeathRocks Luan Luciano TFS TeaM
  10. Olá pessoal, muitas pessoas ficaram dependente da Vapus.net para criar o seu Client Próprio, só que o grande problema é que a Vapus parou de ser atualizada na versão do Tibia 9.81. Por isso hoje eu vou ensinar à vocês como criar o seu Client Próprio sem a necessidade de utilizar o Custom Client da Vapus. Passo 1: Você precisará criar dois IPs para o seu servidor, um com 17 letras e outro com 19 letras, exemplos: sv1.seuserver.com (17 letras) sv123.seuserver.com (19 letras) ou sv1.servegame.com (17 letras) sv123.servegame.com (19 letras) Passo 2: Agora você precisará baixar o Notepad++, após baixar-lo abra o Tibia.exe com o Notepad++. Passo 3: Quando o Tibia.exe estiver aberto no Notepad++ aperte Ctrl+F. Procure pelos seguintes IPs: login01.tibia.com login02.tibia.com login03.tibia.com login04.tibia.com login05.tibia.com Substitua todos pelo seu IP de 17 letras. Agora, procure pelos seguintes IPs: tibia01.cipsoft.com tibia02.cipsoft.com tibia03.cipsoft.com tibia04.cipsoft.com tibia05.cipsoft.com Substitua todos pelo seu IP de 19 letras. Procure por: 132127743205872284062295099082293384952776326496165507967876361843343953435544496682053323833394351797728954155097012103928360786959821132214473291575712138800495033169914814069637740318278150290733684032524174782740134357629699062987023311132821016569775488792221429527047321331896351555606801473202394175817 Substitua por: 109120132967399429278860960508995541528237502902798129123468757937266291492576446330739696001110603907230888610072655818825358503429057592827629436413108566029093628212635953836686562675849720620786279431090218017681061521755056710823876476444260558147179707119674283982419152118103759076030616683978566631413 Pronto, seu Client Próprio está pronto, simples não!? Agora você não necessita de IP Changer para entrar em seu OTServ. Créditos: Gesior.pl Você gostou deste conteúdo!? Este conteúdo te ajudou!? Isso será realmente útil pra você!? Então, se possível, clique em GOSTEI que estará me ajudando! Créditos: Matheus
  11. Fala galerinha linda do XTibia, hoje estou trazendo um evento que andei modificando e otimizando, é o evento City WAR, este evento tem no servidorglobalwar e outros. A autoria vem de um membro da otland, portante havia o mesmo aqui em um datapack e decidi otimizar este evento para vocês do XTibia. Observação: É um pouco parecido com o evento do meu amigo e scripter DuH, porém com mais funções e regras, mas o objetivo é praticamente o mesmo. Como funciona: Quando um GM executar o comando para abrir o evento, abrirá um teleport no lugar configurada onde os membros entraram em uma arena onde não perde level nem skills, o evento terá o tempo de 20 minutos (configurável), caso o player morra poderá voltar novamente pelo teleport que estará localizado no lugar até o termino do evento, a regra é clara produção, quando der os X minutos, o que mais matou levará para a casa backpack o prêmio do evento. Vamos lá; Primeiramente, em sua pasta data/lib crie um arquivo com o nome de city war.lua e dentro do mesmo coloque: configCW = {timetostart = 500, -- tempo para iniciar o evento em segundos telpos = {x=32340, y=32213, z=7}, -- onde aparecerá o teleport stats = 201201201701, kill = 201201201702, death = 201201201703, ostime = 201201201704, evttime = 20, -- quanto tempo irá rolar o evento 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 principal 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ção dos 4 tronos times = 8, -- não precisa mexer finaltime = 300 -- não precisa mexer } 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 Configuração do arquivo: telpos = {x=32340, y=32213, z=7}, -- POSIÇÃO ONDE NASCE O TP DO EVENTO! topleftPos = {x=32722, y=31336, z=6}, -- AQUI COLOQUE A POSIÇÃO DO CANTO ESQUERDO LA EM CIMA DO MAPA botrightPos = {x=32791, y=31384, z=6}, -- AQUI A POSIÇÃO DO CANTO DIREITO EM BAIXO DO MAPA templepos = {x=32369, y=32241, z=7}, -- POSIÇÃO DO TEMPLO ONDE OS JOGADORES NASCERAM PÓS A MORTE 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}}, -- ATENÇÃO, NO MAPA QUE ESTAREI DISPONIBILIZANDO VISIVELMENTE TERÁ 4 BASES, VOCÊ TERA QUE COLOCAR A POSIÇÃO DAS BASES AÍ NESSES 3 LUGARES. doPlayerAddItem(cid, 6571, 1) -- AQUI VOCÊ COLOCARÁ O PRÊMIO DO GANHADOR, NO CASO QUEIRA ADICIONAR POR EXEMPLO 1kk, COLOQUE 2160,1 - Primeiro ID depois quantia. Segundo passo, crie um arquivo com o nome de citywarCreature.lua e coloque dentro da pasta creaturescripts/scripts com o seguinte conteúdo: 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 adicione em creaturescripts.xml a seguinte tag <event type="preparedeath" name="CityWar" event="script" value="citywarCreature.lua"/> Terceiro passo, crie um arquivo em movements/scripts com o nome de citywarMovements.lua com o seguinte conteúdo: 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), 28) 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 Em Movements.xml adicione a seguinte linha <movevent type="StepIn" actionid="5540" event="script" value="citywarMovements.lua"/> Quarto e último passo, em talkactions/scripts crie um arquivo com o nome de citywarTalkactions.lua e coloque o seguinte conteúdo: function onSay(cid, words, param) if getGlobalStorageValue(configCW.stats) == -1 then configCW:new() else doPlayerSendCancel(cid, "The event is already running.") end return true end Em talkactions/talkactions.xml adicione a seguinte linha: <talkaction log="yes" words="/citywar" access="3" event="script" value="citywarTalkactions.lua"/> Este mapa é para o evento! Download : http://www.mediafire...ld City War.rar Scan : https://www.virustot...sis/1402539782/ Créditos: Absolute. Collocor.
  12. [+] Nova versão lançada! [+] [+] Imagens: http://imgur.com/a/zMDPH [+] O que tem de novo?: Agora está praticamente 'full' pois adicionei várias novas funcionalidades como por exemplo, a função de editar e excluir alguma oferta já cadastrada! Dei uma revisada no código, deixei um pouco mais limpo e de fácil compreensão, assim quem quiser contribuir pode editar !!! [+] Instalação: Basta você ter o Gesior 2012 instalado junto aos scripts LUA de shop do mesmo; Ter o banco de dados instalado e um servidor TFS 0.3.6+ rodando também. + Vá na pata {seu_web_server}\www ou htdocs\pages\ e renomeie o arquivo 'shopadmin.php' para 'shopadmin.php.old'; + Faça download do script novo e cole na pasta que citei à cima; + Faça download desse arquivo http://item-images.o...images_1030.zip; + Copie e cole a pasta que vem dentro desse arquivo e cole na pasta {seu_web_server}\www ou htdocs\images\ ficando assim {seu_web_server}\www ou htdocs\images\items\ e dentro dessa pasta as imagens dos itens do tibia; + Pronto! [+] Download: https://www.mediafir...he71qqs5y18naac [+] Scan: https://www.virustot...sis/1399682407/ Olá pessoal! Quero apresentar a primeira versão do meu script para administrar Web Shop do Gesior 2012. O novo sistema de shop do gesior, necessita um script em LUA para cadastro de items e não tem como você editar ou excluir do banco de dados as ofertas que você já inseriu, à não ser que você edite/exclua direto no banco de dados através de um programa ou do phpmyadmin! Então resolvi começar à desenvolver algo para administrar o webshop do gesior 2012! Eu desenvolvi esse script para Gesior 2012 para um server que estou brincando, a versão dele é The Forgotten Server 0.3.7_SVN (Crying Damson) para Tibia 8.60, não sei se irá rodar em outras versões do Gesior ou de servidores, qualquer coisa vão me informando para eu ir desenvolvendo melhor ok? [+] Imagens: Para adicionar items ao shopping é muito fácil, basta você seguir igual eu postei nas fotos a configuração, respeitando o ID do item, Quantidade, o Tipo da oferta e etc, assim você enviará uma nova oferta para o seu site. Para adicionar uma oferta do tipo Container (Bp, Bag, etc) é fácil também, basta você preencher como na imagem à seguir: [+] Explicando: Coloque o 'Nome' da oferta. Insira uma 'Descrição' para essa oferta. Diga a quantidade de 'Premium points' necessários. Selecione o tipo da oferta: 'Item' ou 'Container'. Coloque o 'ID Item 1' à ser vendido, caso seja um item normal: armadura, espada, etc. Preencha a 'Qtde. Item 1' que o player irá receber quando comprar essa oferta. Deixe em branco 'ID Item 2' e 'Qtde. Item 2'. Caso seja BP, selecione o tipo para 'Container', no 'ID Item 1' coloque o Id da BP. Em 'Qtde. Item 1' você deve colocar a quantidade para cada item dentro do container, exemplo: se for BP de Runa, para preencher a BP você terá um total de 20 slots preenchidos pela quantidade de runas do 'Qtde. Item 2', então coloque 20, pois representa a quantidade de slots dentro do container. Agora em 'ID Item 2' você coloca o ID da Runa ou do item que você está vendendo dentro do container. Preencha a 'Qtde. Item 2' com a quantidade para cada slot do container que você está vendendo. Clique em salvar. Pronto, adicionado! [+] Instalação do script Abra o arquivo {seu_web_server}\pages\shopadmin.php e substitua o conteúdo dele por esse: http://pastebin.com/7pEug4i7 Lembrando que você precisa estar já com os scripts em lua funcionando corretamente do sistema de shop do Gesior 2012, você pode encontrá-los aqui: http://otland.net/th...tration.170654/ [+] Creditos [+] -DEZON-
  13. Olá pessoal é com muita satisfação que eu venho apresentar-lhes o Avesta 063! Um OTServer oldschool desenvolvido por Exploit & Boman (OtLand) e liberado sobre a licença GNU com sua source code no google code, isso que é melhor, você poder ter acesso ao source code e modificar ao seu gosto! Source Code Google: https://code.google.com/p/avesta74/ Download Avesta 7.60 Global Map: https://www.mediafir...3ook587w1t8sbwr Scan do download: https://www.virustot...sis/1398278014/ (Eu sei que tem bastante coisa no arquivo, a maioria eu pesquisei e são alertas falsos, estou rodando esse servidor no meu micro e jogando de boa, vai da sua conta e risco!!!) Download Tibia 7.60: https://clients.tibia...oad/windows/760 IpChanger: https://static.otland.net/ipchanger.exe Espero que gostem pessoal!
  14. Olá galera do Tibiaking, eu vi esse box em 1 otserver é achei muito legal, alguem poderia disponibilizar para min ? Rep++ !, [o de top level eu já tenho, mais esse eu não achei !]
  • Quem Está Navegando   0 membros estão online

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