Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 10/17/13 em todas áreas
-
Oneshot Spell Lib
Bluetooth e 2 outros reagiu a Oneshot por um tópico no fórum
Oneshot Spell Lib Boa tarde, meus queridos. Como eu disse no último post do tópico do Spell Forge, sim, ele estava ficando funcional o bastante, mas uma coisa não me agradava, o nível de dificuldade de configuração do sistema estava aumentando, e uma hora, não teria como OT-admins usarem meu sistema, pois não saberiam configurar. Então resolvi parar o desenvolvimento dele por enquanto, mas segue minha biblioteca que estava usando para desenvolvimento do sistema. Uma biblioteca completa para desenvolvimento de magias, orientada a objetos, torna a coisa bem mais interessante. Para utilizar minha biblioteca, basta criar arquivo com qualquer nome na pasta data/lib do seu servidor e colar o seguinte conteúdo abaixo: -- This library is part of Oneshot Spell System -- Copyright (C) 2013 Oneshot -- -- This program is free software: you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation, either version 3 of the License, or -- (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program. If not, see <http://www.gnu.org/licenses/>. -- constant CONST_SPELL_AREA = 0 -- area spells, like exevo gran mas vis CONST_SPELL_DIRECTION = 1 -- wave spells, like exevo flam hur CONST_SPELL_TARGETORDIRECTION = 2 -- mix between area and wave spells WEAPON_SKILLS = { [WEAPON_SWORD] = SKILL_SWORD, [WEAPON_CLUB] = SKILL_CLUB, [WEAPON_AXE] = SKILL_AXE, } -- class for combats (spell instances) Combat = { type = 0, me = 0, ani = 0, formula = { type = 0, values = {}, }, condition = nil, delay = 0, id = 0, } function Combat:New(_type, me, ani, delay, id) local new_spellinstance = { type = _type or COMBAT_NONE, me = me or CONST_ME_NONE, ani = ani or CONST_ANI_NONE, formula = { type = COMBAT_FORMULA_UNDEFINED, values = {0, 0, 0, 0, 0, 0, 0, 0}, }, condition = nil, delay = delay or -1, id = id or 1, } return setmetatable(new_spellinstance, {__index = self}) end function Combat:SetType(_type) self.type = (tonumber(_type) and _type or COMBAT_NONE) end function Combat:SetEffect(me) self.me = (tonumber(me) and me or CONST_ME_NONE) end function Combat:SetDistanceEffect(ani) self.ani = (tonumber(ani) and ani or CONST_ANI_NONE) end function Combat:SetFormula(_type, ...) local args = select("#", ...) self.formula.type = (tonumber(_type and _type or COMBAT_FORMULA_UNDEFINED)) local minc, maxc if args > 8 then minc, maxc = select(9, ...) end local minm, maxm = getConfigValue("formulaMagic") or 1 maxm = minm local minl, maxl = getConfigValue("formulaLevel") or 5 maxl = minl if args > 6 then minm, maxm = select(7, ...) end if args > 4 then minl, maxl = select(5, ...) end local mina, minb, maxa, maxb = select(1, ...) self.formula.values = {mina, minb, maxa, maxb, minl, maxl, minm, maxm, minc, maxc} end function Combat:SetCondition(condition) -- condition needs to be a createConditionObject(), e.g -- local condition = createConditionObject(CONDITION_FIRE) -- setConditionParam(condition, CONDITION_PARAM_TICKS, 1 * 1000) self.condition = condition end function Combat:GetDelay() return self.delay end function Combat:SetDelay(delay) self.delay = (tonumber(delay) and delay or -1) end function Combat:GetId() return self.id end function Combat:SetId(id) self.id = (tonumber(id) and id or 1) end function Combat:getMinMaxValues(cid, ex) local min, max = 0, 0 local n = self.formula.values if not isCreature(cid) then return false end if not isPlayer(cid) then self.formula.type = COMBAT_FORMULA_DAMAGE end if self.formula.type == COMBAT_FORMULA_LEVELMAGIC then min = (getPlayerLevel(cid) / n[5] + getPlayerMagLevel(cid) * n[7]) * n[1] + n[2] max = (getPlayerLevel(cid) / n[6] + getPlayerMagLevel(cid) * n[8]) * n[3] + n[4] if n[9] then min = math.max(n[9], min) end if n[10] then max = math.max(n[10], max) end elseif self.formula.type == COMBAT_FORMULA_SKILL then local weapon = getPlayerWeapon(cid) if weapon.uid > 0 then max = getPlayerWeaponDamage(cid, weapon) * n[3] + n[4] else max = n[4] end if n[10] then max = math.max(n[10], max) end elseif self.formula.type == COMBAT_FORMULA_DAMAGE then min = n[2] max = n[4] end return min, max end function Combat:Callback(position, cid, ex) if not isCreature(cid) then return false end local min, max = self:getMinMaxValues(cid, ex) doCombatAreaHealth(cid, self.type, position, 0, min, max, self.me) if self.condition then doCombatAreaCondition(cid, position, 0, self.condition, CONST_ME_NONE) end return true end -- class for spells Spell = { type = 0, level = 0, maglevel = 0, mana = 0, needtarget = false, target_or_direction = false, range = 0, needweapon = false, selftarget = false, vocations = {}, combats = {}, } function Spell:New(_type, level, maglevel, mana, needtarget, range, needweapon, selftarget, ...) local new_spell = { type = _type or CONST_SPELL_AREA, level = level or 1, maglevel = maglevel or 0, mana = mana or 0, needtarget = needtarget or false, range = range or 1, needweapon = needweapon or false, selftarget = selftarget or false, vocations = {...}, combat = {}, area = {{3}}, } return setmetatable(new_spell, {__index = self}) end function Spell:SetType(_type) self.type = (tonumber(_type) and _type or CONST_SPELLarea) end function Spell:SetLevel(level) self.level = (tonumber(level) and level or 1) end function Spell:SetMagLevel(maglevel) self.maglevel = (tonumber(maglevel) and maglevel or 0) end function Spell:SetMana(mana) self.mana = (tonumber(mana) and mana or 0) end function Spell:SetNeedTarget(needtarget) self.needtarget = (type(needtarget) == "boolean" and needtarget or false) end function Spell:SetRange(range) self.range = (tonumber(range) and range or 1) end function Spell:SetNeedWeapon(needweapon) self.needweapon = (type(needweapon) == "boolean" and needweapon or false) end function Spell:SetSelfTarget(selftarget) self.selftarget = (type(selftarget) == "boolean" and selftarget or false) end function Spell:SetVocations(...) self.vocations = {...} end function Spell:Append(...) local t = {...} for i = 1, #t do self.combat[t[i]:GetId()] = t[i] end end function Spell:SetArea(area) self.area = area end function Spell:Cast(cid) if not isCreature(cid) then return false end if #self.combat == 0 then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end if isPlayer(cid) then if not getPlayerFlagValue(cid, PLAYERFLAG_IGNORESPELLCHECK) then if getPlayerLevel(cid) < self.level then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHLEVEL) return false end if getCreatureMana(cid) < self.mana then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHMANA) return false end if getPlayerMagLevel(cid) < self.maglevel then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHMAGICLEVEL) return false end if self.needweapon and (getPlayerWeapon(cid).uid == 0) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUNEEDAWEAPONTOUSETHISSPELL) return false end local vocation = getPlayerVocation(cid) if #self.vocations > 0 and not (table.find(self.vocations, vocation) or table.find(self.vocations, getVocationInfo(vocation).fromVocation)) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendDefaultCancel(cid, RETURNVALUE_YOURVOCATIONCANNOTUSETHISSPELL) return false end end end local target = getCreatureTarget(cid) if self.needtarget == true then if self.type == CONST_SPELL_DIRECTION then self.type = CONST_SPELL_TARGETORDIRECTION elseif self.type == CONST_SPELL_AREA and not isCreature(target) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUCANONLYUSEITONCREATURES) return false end end if self.range and isCreature(target) then if getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(target)) > self.range then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) doPlayerSendDefaultCancel(cid, RETURNVALUE_TOOFARAWAY) return false end end local area = self.area if self.type == CONST_SPELL_DIRECTION or (self.type == CONST_SPELL_TARGETORDIRECTION and not isCreature(target)) then area = getAreaByDir(area, getCreatureLookDirection(cid)) end local centre = getCreaturePosition(cid) local target = getCreatureTarget(cid) if self.type == CONST_SPELL_DIRECTION then centre = getPosByDir(getCreaturePosition(cid), getCreatureLookDirection(cid), 1) elseif self.type == CONST_SPELL_TARGETORDIRECTION then centre = (isCreature(target) and getCreaturePosition(target) or getPosByDir(getCreaturePosition(cid), getCreatureLookDirection(cid), 1)) elseif self.type == CONST_SPELL_AREA then if self.needtarget and isCreature(target) then centre = getCreaturePosition(target) end end local positions = getAreaPositions(area, centre) for i = 1, #area do for j = 1, #area[i] do local tmp = area[i][j] if tmp == 3 then for k = 1, #self.combat do local combat = self.combat[k] if combat then addEvent(function() if self.selftarget then combat:Callback(positions[i][j], 0) else combat:Callback(positions[i][j], cid) end doSendDistanceShoot(getCreaturePosition(cid), centre, combat.ani) end, combat:GetDelay()) end end elseif type(tmp) == "number" and self.combat[tmp] then local combat = self.combat[tmp] if combat then addEvent(function() if self.selftarget then combat:Callback(positions[i][j], 0) else combat:Callback(positions[i][j], cid) end doSendDistanceShoot(getCreaturePosition(cid), centre, combat.ani) end, combat:GetDelay()) end elseif type(tmp) == "table" then for k = 1, #tmp do local tile = tmp[k] local combat = self.combat[tile] if combat then addEvent(function() if self.selftarget then combat:Callback(positions[i][j], 0) else combat:Callback(positions[i][j], cid) end doSendDistanceShoot(getCreaturePosition(cid), centre, combat.ani) end, combat:GetDelay()) end end end end end if self.mana > 0 then doCreatureAddMana(cid, -self.mana, 0) end return true end function rotate(area) local ret = {} for i = 1, #area do for j = 1, #area[i] do if not ret[#area[i]-j+1] then ret[#area[i]-j+1] = {} end ret[#area[i]-j+1][i] = area[i][j] end end return ret end function getAreaByDir(area, direction) local ret = area if direction > NORTH then local n = (4 - direction) repeat ret = rotate(ret) n = n - 1 until n == 0 end return ret end function getAreaCentre(area) local x, y = 0, 0 for i = 1, #area do for j = 1, #area[i] do if area[i][j] == 3 then x = j y = i break end end end return x, y end function getAreaPositions(area, centre) local ret = {} local x, y = getAreaCentre(area) for i = 1, #area do for j = 1, #area[i] do if not ret[i] then ret[i] = {} end ret[i][j] = {x = centre.x + (j - x), y = centre.y + (i - y), z = centre.z} end end return ret end function getPlayerMeleeDamage(cid, item) local skill, attack if item.uid > 0 then local info = getItemInfo(item.itemid) skill = getPlayerSkillLevel(cid, WEAPON_SKILLS[getItemWeaponType(item.uid)]) attack = ((getItemAttribute(item.uid, "attack") or info.attack) + (getItemAttribute(item.uid, "extraAttack") or info.extraAttack) - info.abilities.elementDamage) else skill = getPlayerSkillLevel(cid, SKILL_FIST) attack = 0 end local damage = math.ceil((2 * (attack * (skill + 5.8) / 25 + (getPlayerLevel(cid) - 1) / 10.)) / getPlayerAttackFactor(cid)) return -math.random(0, damage) end function getPlayerAttackFactor(cid) local switch = { 1.0, 1.2, 2.0, } return switch[(getPlayerModes(cid).fight + 1)] end dofile(getDataDir() .."/spells/lib/spells.lua") É uma biblioteca orientada a objetos que facilita o desenvolvimento de magias. Comparando a forma dos scripts de magias, com a minha biblioteca e sem, podemos ver a diferença. Sem a biblioteca: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4.5, 9) local area = createCombatArea(AREA_SQUAREWAVE5, AREADIAGONAL_SQUAREWAVE5) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Com a biblioteca: local combat = Combat:New(COMBAT_ENERGYDAMAGE, CONST_ME_ENERGYAREA, CONST_ANI_ENERGY) combat:SetFormula(COMBAT_FORMULA_LEVELMAGIC, -1, 0, -1, 0, 5, 5, 4.5, 9) local spell = Spell:New(CONST_SPELL_DIRECTION) spell:Append(combat) spell:SetArea(AREA_WAVE4) function onCastSpell(cid, var) return spell:Cast(cid) end Mas o melhor mesmo é notado quando você quer desenvolver as magias com mais de uma variável combat. Aquelas magias de múltiplos hits e efeitos. Vou pegar uma magia de 3 efeitos e danos diferentes. local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setAttackFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4.5, 9) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA) setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE) setAttackFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 1, 2) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_SMALLPLANTS) setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setAttackFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 3.5, 7) local area = createCombatArea(AREA_SQUAREWAVE5, AREADIAGONAL_SQUAREWAVE5) setCombatArea(combat1, area) setCombatArea(combat2, area) setCombatArea(combat3, area) function onCastSpell1(cid, var) doCombat(cid, combat1, var) end function onCastSpell2(cid, var) doCombat(cid, combat2, var) end function onCastSpell3(cid, var) doCombat(cid, combat3, var) end function onCastSpell(cid, var) onCastSpell1(cid, var) addEvent(onCastSpell2, 300, cid, var) addEvent(onCastSpell3, 600, cid, var) return true end Com o uso da minha biblioteca, podemos notar a redução de linhas, e a limpeza do código: local combat1 = Combat:New(COMBAT_ENERGYDAMAGE, CONST_ME_ENERGYAREA, CONST_ANI_ENERGY) combat1:SetFormula(COMBAT_FORMULA_LEVELMAGIC, -1, 0, -1, 0, 5, 5, 4.5, 9) local combat2 = Combat:New(COMBAT_ICEDAMAGE, CONST_ME_ICEAREA, CONST_ANI_ICE) combat2:SetFormula(COMBAT_FORMULA_LEVELMAGIC, -1, 0, -1, 0, 5, 5, 1, 2) combat2:SetId(2) combat2:SetDelay(300) local combat3 = Combat:New(COMBAT_EARTHDAMAGE, CONST_ME_SMALLPLANTS, CONST_ANI_EARTH) combat3:SetFormula(COMBAT_FORMULA_LEVELMAGIC, -1, 0, -1, 0, 5, 5, 3.5, 7) combat3:SetId(4) combat3:SetDelay(600) local T = {1, 2, 4} local area = { {T, T, T}, {T, T, T}, {T, T, T}, {0, T, 0}, {0, 3, 0}, } local spell = Spell:New(CONST_SPELL_DIRECTION) spell:SetArea(area) spell:Append(combat1, combat2, combat3) function onCastSpell(cid, var) return spell:Cast(cid) end Qualquer dúvida quanto ao uso da biblioteca no desenvolvimento de magias, basta postar neste tópico que estarei esclarecendo. Grande Abraço, Oneshot.3 pontos -
Global Server 10.10
kleitonalan321 e 2 outros reagiu a alissonfgp por um tópico no fórum
Véi, essa source é a que tu disse que ia postar ? ela tem todas as funções do tibia 10.10 ? sim eh a source e n, só tem o novo sistema de party... Vou ver a yalahar quest, agr o dos potions.lua vc tem q atualizar ele na pasta, edita o potions.lua data/actions/scipts/liquids/potions.lua esse erro, doSendAnimatedText is now a deprecated function. vc tem q ver o q eles estao usando que sai um AnimatedText(efeito letras ou numeros coloridos) q ae eu vejo em qual script q ta e removo...3 pontos -
Sprite e Dat GTA Quilante, TWD & Harry Potter Quilante
Belzebu6 e um outro reagiu a FlamesAdmin por um tópico no fórum
Eae galera do XTibia, trago aqui pra vcs fãs de GTA Tibia, The Walking Dead e Harry Potter Tibia, a .Spr e .Dat do GTA Tibia Quilante, The Walking Dead Tibia Quilante e Harry Potter Tibia Quilante recentes. Lembrando que é versao 8.6. Eu msm rippei as sprites do client com Tibia Unbinder. Créditos: Equipe Quilante pelas Sprites A mim, por rippar ( sla como fala ) as sprites do client. Tenha bom uso xD.2 pontos -
The last survivor
Secular e um outro reagiu a paulgrande por um tópico no fórum
No dia 14, eu iniciei um projeto postei algumas fotos do inicio do mapa no meu showoff, hoje dia 17 estou postando um video mostrando digamos um "gameplay", mais tem muito pra ser feito lembrando data oficial de inicio do projeto foi dia 14, de outubro. vídeo disponível em HD. não vou divulgar muita coisa sobre o projeto quando eu divulgar vai ser em forma de vídeo como esse. Algumas explicações os loots do sistema de "Search" não estão configurados nesse video, Existirão zombies de vários níveis que serão distribuídos dependendo da localização deles na cidade isso também influencia no item que ele pode sair no "Search", armas não serão vendidas unica forma de conseguir armas novas é explorando a cidade revirando as casas, fabricas, instalações do exercito e etc... , mas seguindo a logica armas de grande poder de fogo só vão poder ser obtidas em zonas militares. como kits médicos só podem ser obtidos em hospitais, farmácias... no jogo existirão varias quests, quests fixas e quests que mudam conforme o tempo o numero de kits médicos, munições a venda serão limitados podendo acabar e liberando quests para buscar suprimentos, fora isso em toda quest existira um Boss para ser derrotado que pode render alguns itens muito bons eu sei que mostrei pouca coisa mais espero apoio da comunidade com os comentários me dando dica e ideias. Obrigado a todos pela atenção, e se gostaram deixa um like no vídeo e no tópico !2 pontos -
Minha primeira sprite de outfiut
Gabrieltxu e um outro reagiu a faeleligi por um tópico no fórum
2 pontos -
Área incorreta. Reportado para que movam.2 pontos
-
Subida de escada mais estilosa2 pontos
-
[Pokémon] Gabrieltxu 3.2 Final version
Hisoka Fail2 reagiu a Gabrieltxu por um tópico no fórum
• Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; └ Creditos. • Informações Basicas • • Edições / Ajustes • • Erros Do Servidor • • PrintScreen • • Download's • Servidor GabrielTxu 3.2 Final version Download Servidor (4Shared): http://www.4shared.com/rar/SMZMibFB/Server_Gabrieltxu_32.html Download Client (4Shared): http://www.4shared.com/rar/3QPtxVX-/Client_GabrielTxu_32__Final_Ve.html • Creditos • Eu Kalvin Zeref Shirou Bhoris1 ponto -
Pokémon Mysterion [Dowload] !
Lucioclecio1 reagiu a StyloMaldoso por um tópico no fórum
Eai galerinha..tudo bem? Hoje estou aqui para postar o dowload do meu servidor (pokémon mysterion) que esteve online durante as férias desse ano. Bom o caotic tinha postado a versão dele, com level system e varias coisas no otClient de inovador, porém muitos não gostarao do level system e resolvi posta a minha versão. OBS: o servidor está com mapa do PDA, voces podem pegar o mapa do caotic e usarem no meu servidor sem poblema, porque eu que fiz ele e e adpatei para o servídor. OBS²: O servidor esta com uns erro de "Duplicate move event found" Ao ligar, relaxa..isso é normal..é do icone porque tipo, você joga o icone no chão e puxa ele pra bag voltando icone e não em bag, eu não consegui adpta o systema de uniqueItem com o do icone por isso fica esses "errinho" ao iniciar. OBS³: o Systema de icone está dando para volta para ball, porém na proxima versão irei retirar isso e decha pra sempre icone (menos bug). E o ultimo OBS: irei atalizar o servidor sim, porém com sem preça, a proxima versão já estara o mapa do pokémon mysterion (se eu achar..) e alguns ajuste nos systema. Bom, estou sem tempo para postar informações O oque contém no servidor? TUDO que à no PDA v1.9.1 + minhas edicações. icone system, editações em script etc etc. Uma print para vocês terem noção doque estão abaixando. enfím, o dowload ! http://www.4shared.com/rar/91igaENK/Server.html? E Também a proxíma versão talvez pode demorar para sair, porque a escola está pegando muito pesado huaha, intão tenho que me dedica meu tempo todo aos estudos para ser alguem na vida (ihuul), a proxima atalização talvez demore ou não para sair, mais não depedem de min, já di a base abaxem e faça as proprías editações ! credítos. Slicer (por ter me ajudado em boa parte dos SCRIPT, e a basê "PDA V1.9.1) Eu Brun123 (poke DASH)1 ponto -
PDA World v1 Eu tive um projeto pokemon que estava em desenvolvimento o servidor ja teve varias versões mais esta a v1 do PWO. O servidor usa apenas OTC(otclient) a troca de client vai diminuir drasticamente a qualidade do servidor. *Sistemas da versão v1 do PWO* +Bonus System(Alguns sistemas não foram corrigidos logo postarei um patch) Bugs Encontrados(Não listei todos/atenção os bugs foram corridos se houver algum um possivel patch será disponiblizado) Olds Prints News Prints Server V1: http://speedy.sh/NHrsr/Server.rar ou http://www.4shared.com/rar/im3XJWYo/Server.html? OtClient: http://www.mediafire.com/download/oxxtpbc42u3r7yp/World_Pokemon.rar ou http://speedy.sh/fGf4k/World-Pokemon.rar Scan(Este negocio de scan e uma chatisse ):https://www.virustotal.com/pt/file/874d9e4feee133f67bb1d375d93d95bdfb91beede4c0d261bb655bf52aef4283/analysis/1379170687 Configurações Agradecimentos: Patch sqlite+account manager .rar1 ponto
-
Rookgaard Full - Igual Global
Arcanjoroxie reagiu a sephdull por um tópico no fórum
Oia eu denovo trazendo mais um projeto galera... Esse trabalho demorou bastante mesmo... imagina só ROOKGAARD FULL ? :icon_idea: até que hoje estou trazendo ele pra você's :smile_positivo: AUTOR: Piter costa :smile_positivo: OBS: está sem respaw [\se acharem BUG me informa ! :wink: Algumas fotos: Deo trabalho viu ? espero que tenham gostado ! CREEDITOS TODO MEU [\piter costa para contato: Piter__gato@hotmail.com :msn: pooor favor não esqueçam de cometar para que eu sempre esteja trazendo mais novidades sim... já ia esquecer do download Scan: Virustotal.com Download:1 ponto -
Mapa Ziika Yorots 8.40 Link do DOWNLOAD :http://www.4shared.com/rar/1dfMaXvy/Ziika_Yorots.html Creditos: Helder e Lopys(Gabriel) Mapa Global Yorots 8.40 Link do DOWNLOAD :http://www.4shared.com/rar/cfW1YT5K/Global_Edited.html Creditos: Helder. Mapa Simple Yorots 8.4 Link do DOWNLOAD :http://www.4shared.com/rar/9GRr9RGh/Simple_Yorots.html Creditos: Helder. Bom aproveito use com moderação.1 ponto
-
Corpse Por Vocation C++
Renan Morais reagiu a Applezin por um tópico no fórum
Olá galera, eu vi muita gente querendo script de Corpse por vocation. Tentaram fazer até no script lua, Mas eu acho mais fácil fazer pelas sources mesmo. 1° Abra as sources do seu servidor, e abra o arquivo chamado "Players.cpp", depois Procure por uint16_t Player::getLookCorpse() const { if(sex % 2) return ITEM_MALE_CORPSE; return ITEM_FEMALE_CORPSE; } Depois mude esse código para uint16_t Player::getLookCorpse() const { uint16_t sorcerer, druid, paladin, knight, defaultt = 0; /*Config */ sorcerer = 3343; // corpse do sorcerer druid = 3343; // corpse do druid paladin = 3343; // corpse do paladin knight = 334; // corpse do knight defaultt = 3354; // corpse padrão. /*End */ if (getVocationId() == 1 || getVocationId() == 5) return sorcerer; else if (getVocationId() == 2 || getVocationId() == 6) return druid; else if (getVocationId() == 3 || getVocationId() == 7) return paladin; else if (getVocationId() == 4 || getVocationId() == 8) return knight; return defaultt; } Como configurar ao seu gosto ? Pronto fim1 ponto -
Estava trabalhando num server fazia um boom tempo, só que fiquei com uma preguiça de continua-lo, e parei, e agora estou voltando com ele. O OTClient não tem nada demais, só queria compartilhar com vocês como ele está até agora, com algumas edições (em alguns lugares muitas, em outros poucas e etc.): (é baseado no cliente do PDA 1.9, ou seja, é a versão 0.5.3, se não me engano) Pokedex: (base feita por caotic) Barra de HP + Top Menu: (base de outros clientes (wp, xrain, uma mistura)) Visão geral do cliente: Bom, aceito e procuro qualquer crítica que seja construtiva. Obrigado! Ps: estou pensando se postarei o cliente, mas é bem possível que sim.1 ponto
-
Olá XTibianos! Como muitos de vocês se perguntam sobre o mapa de Tibia versão 7.6, Este é o mapa original convertido espero que gostem! Carlin Thais Venore Ankrahmun Darashia A'b Kaz Edron Todas Cidades 100% full Podem Conferir, Caminho De Venore Para Thais Ou kaz Tudo Completo. Primeiro Global Full (7.60) 100% Postado Para Download Com Link Permanente. http://dl.dropbox.com/u/99819086/OTS...20Original.rar <> Link Permanente <> Credito: BrunoWots Credito: Nottinghster Credito: CipSoft Scan: https://www.virustot...sis/1362530069/ Gostou? COMENTEM! Edite: Link pra quem pediu o server completo ----> http://www.xtibia.com/forum/topic/225734-global-76-full-100igual-do-realots/ <----1 ponto
-
C/C++ Parte 2
SmiX reagiu a Kuro o Shiniga por um tópico no fórum
Ola galerinha do xtibia, vim dar continuidade aos tutoriais de C/C++ esse tutorial ficou um pouco grande não teve como eu resumir muito, desculpem então preste bem atenção! Vamos começar :D Características e Definições. Nomes e identificadores da linguagem. Palavras reservadas. A lista abaixo relaciona as palavras reservadas. É importante notar que a linguagem C++ diferencia letras maiúsculas e minúsculas, ou seja, char é uma palavra reservada de C++ mas CHAR ou ChAr não é (entretanto, normalmente desaconselha-se o uso dessa diferenciação por atrapalhar a legibilidade do código). Reforçando o que já foi mencionado, as palavras reservadas só irão executar os comandos que lhes foram designados. Tipos de dados. Variáveis reais servem para armazenar números que possuem partes fracionárias. Existem duas maneiras de representar números fracionários em C++. A primeira, a mais simples, é utilizar o ponto para separar as partes inteiras e fracionárias. Por exemplo: 0.00098 1.2145 3.1461 8.0 (Mesmo no caso de um número com parte fracionária igual a zero, a utilização do ponto assegura que este número seja considerado um número de ponto flutuante por C++). A segunda maneira é utilizar a notação científica E. Por exemplo : 3.45E7 significa “3.45 multiplicado por 10 elevado à sétima potência (10.000.000)”. Essa notação é bastante útil para representar números realmente grandes ou realmente pequenos. A notação E assegura que o número seja armazenado em formato de ponto flutuante. exemplos: 2.52E8 = 2.52 x 100.000.000 = 252.000.000 -3.2E3 = -3.2 x 1000 = -3200 23E-4 = 23 x 0.0001 = 0.0023 Assim como os inteiros, os números reais em C++ podem ser representados por 3 tipos de variáveis com diferentes intervalos. São elas: float, double e long double. Float é o tipo de variável real natural, aquela com a qual o sistema trabalha com maior naturalidade. Double e long double são úteis quando queremos trabalhar com intervalos de números reais realmente grandes. Utilizamos números reais geralmente para expressar precisão através do número de casas decimais, então podemos dizer que uma variável float é menos precisa que uma variável double, assim como uma variável double é menos precisa que long double. Então e isso galera, o tutorial ficou grande não deu pra resumir muito, o próximo tutorial sera a continuação desse, espero que gostem e estudem ! abraço1 ponto -
Opá galera... infelizmente estou sem tempo pra terminar o mapa, então resolvi postar essa mierda de uma vez. Segue algumas imagens logo abaixo: ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ Download: Clique aqui.1 ponto
-
GNOME BASE FULL 100% SEM BUGS
vital900 reagiu a mkbrabsolute por um tópico no fórum
Venho trazer a vocês a mais nova GNOME BASE! Está Livre de quaisquer tipos de Bugs e pode ser implantada imediata ao seu servidor! Não estou em casa estou sem RME para tirar print, mas se alguém quiser fazer o download e tirar a print eu agradeço! Então disponibilizo o mesmo para download! Versões 9.x+ IMAGENS: MAIN TOWN ALPHA Mushroom e Truffels Garden Crystal Grounds Hot Spot WARZONE 1 e Golen WorkShop WARZONE 2 WARZONE 3 Download: http://www.4shared.c...SERVERScom.html Scan: https://www.virustot...sis/1359701877/ Créditos: OTLAND / FL-SERVERS1 ponto -
[Tutorial] Trocando Os Itens De Seu Rme
Strikerzerah reagiu a Paraibinha por um tópico no fórum
Trocando os itens de seu Remere's Map Editor Bom, vejo que muitas pessoas tem dificuldades em trocar os itens de seu RME. Mas como assim, trocar os itens do meu RME??? Voce ja viu no rme, o "Raw Pallete" , ai em tileset o "Other", la fica alguns itens. No seu RME, eles podem estar na versao do tibia 8.54, vou ensinar a voces a colocarem uma versao mais atualizada, ou a que voces quiserem. Então vamos lá: Vá na pasta do seu RME (provavelmente será essa: computador>disco local (C:)>arquivos de programa>remere's map editor) e a pasta será assim: (SS) 2. Clique em Data: 3. Agora, dentro da pasta Data estará assim: 4. Agora voce vai na pasta da versao do seu mapa, por exemplo, alguns mapas abrem com o tibia 8.54 e outros com 8.6 (depende da versão do mapa, aqui no tutorial será com o 8.6, mas caso voce queira fazer com outra versao só fazer o mesmo na pasta da versao que voce queira). Clique em 8.6: 5. Agora dentro da pasta 860, estará assim: 6. Agora dentro da pasta tem esses itens, e no meios deles tem isto: Agora apague-os. 7. Agora, voce escolhe, se quer pegar itens atualizados, (8.7...) ou da pasta do seu ot, se voce quiser pegar da pasta do seu ot, vá na pasta do seu ot e vá em data/itens/ dentro da pasta, provavelmente tera 3 itens la: Items.xml items (em bloco de notas) randomization Copie o items.xml e o items em bloco de notas 8. Agora que copiou os 2, vá em computador>disco local (C:)>arquivos de programa>remere's map editor>data>860 e cole os dois la, agora feche e abra seu RME. Pronto. Gostou ??? Da um REP+ ai1 ponto -
Sholl off [Poke-y-legends-]
vital900 reagiu a Faelzdanil por um tópico no fórum
Então meu amigo primeiro pra ser um ShowOff tem que ter mais de 3 imagens... E em questão do mapa, não separe tanta as casas assim e melhore essas bordas !1 ponto -
Minha primeira sprite de outfiut
Alexclusive reagiu a Lucasmml por um tópico no fórum
O pessoal já disse tudo o que tinha de ser dito, só mais uma coisa, o termo certo é Sprite e não sprint Seja bem vindo.1 ponto -
[Encerrado] Ajuda Spell de Area
wesleybeek reagiu a HeelNox por um tópico no fórum
local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 26) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -43.3, 1, -58.5, 1) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 26) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -45.3, 1, -49.5, 1) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 26) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -45.3, 1, -47.5, 1) local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, 26) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -44.3, 1, -59.5, 1) arr1 = { {3} } arr2 = { {3} } arr3 = { {3} } arr4 = { {3} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local area4 = createCombatArea(arr4) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) setCombatArea(combat4, area4) local function onCastSpell1(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var) end local function onCastSpell2(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat2, parameters.var) end local function onCastSpell3(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat3, parameters.var) end local function onCastSpell4(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat4, parameters.var) end function onCastSpell(cid, var) local waittime = 10 -- Tempo de exhaustion local storage = 5818 if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.") return false end local position348 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} exhaustion.set(cid, storage, waittime) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 200, parameters) addEvent(onCastSpell2, 600, parameters) addEvent(onCastSpell2, 800, parameters) doSendMagicEffect(position348, 134) return TRUE end1 ponto -
[Encerrado] Ajuda Spell de Area
wesleybeek reagiu a HeelNox por um tópico no fórum
local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -92.2, 1, -105.2, 1) arr1 = { {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local function onCastSpell1(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var) end function onCastSpell(cid, var) local waittime = 10 -- Tempo de exhaustion local storage = 5918 if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.") return false end local position1 = {x=getCreaturePosition(cid).x+2, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} exhaustion.set(cid, storage, waittime) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) return TRUE end tenta ai1 ponto -
Global Server 10.10
kammer reagiu a alissonfgp por um tópico no fórum
N, só compilar e jogar, aq ta sussa...1 ponto -
Área incorreta. Reportado para que movam. OBS: A área correta seria em Aprovação de Tutoriais. Esta área é apenas para pedidos e dúvidas sobre scripting.1 ponto
-
Aol Infinito Sem Perder Level E Skills
Alexclusive reagiu a Secular por um tópico no fórum
Lucas vou ter que chamar sua atenção novamente, este tópico está na área incorreta amigo, isso é um tutorial de script e você postou em pedidos de script é só olhar no fórum e procurar a área tutoriais de script, caso isso aconteça novamente irei alertá-lo! Aqui no xtibia para que seu tutorial seja postado em tutoriais digamos "oficiais" script ele deve passar pela Aprovação de Tutoriais *OBS: Vou retirar essa "tag" resolvido de seu tópico, pois isso não faz sentido e é desnecesário. TÓPICO MOVIDO. Só preste mais atenção...1 ponto -
data/movements/scripts guildfragtile.lua function onStepIn(cid, item, position, fromPosition) local MyGuild = getPlayerGuildName(cid) if not HaveGuild(cid) or not HaveAcess(MyGuild) then doPlayerSendTextMessage(cid,22,"Your guild no has access to this area.") doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Welcome,The access of your guild in this area ends in "..getAcessDate(getGuildWinnerName())) return true end movements.xml <movevent type="StepIn" actionid="15710" event="script" value="guildfragtile.lua"/> ai no tile coloca ACTION ID 157101 ponto
-
[Encerrado] [PEDIDO] Item consumível que dar Velocidade ao player
CaioValverde reagiu a Roksas por um tópico no fórum
Tente desta forma: Vá em data/actions/scripts, cre um arquivo chamado sp_use.lua e adicione dentro: function onUse(cid) local sp = 200 if getPlayerStorageValue(cid, 14049) < 1 then doSendMagicEffect(getThingPos(cid), 14) doChangeSpeed(cid, (getCreatureSpeed(cid) + sp)) else doPlayerSendCancel(cid, "Você já obteve a velocidade.") return true end return true end Em actions.xml adicione a tag: <action itemid="ID DO ITEM" event="script" value="sp_use.lua"/> #Boa sorte.1 ponto -
[Encerrado] tp para vip e fly para free
Alexclusive reagiu a zipter98 por um tópico no fórum
O fly, se for mesmo pelo order, já está configurado para free, já que não há nenhuma proteção para não poder voar quem não é vip. O teleport, é só ir na configuração inicial, no caso, esta: local config = { premium = false, -- se precisa ser premium account (true or false) battle = true -- se precisa estar sem battle (true). Se colocar false, poderá usar teleport no meio de batalhas } E trocar por esta: local config = { premium = true, -- se precisa ser premium account (true or false) battle = true -- se precisa estar sem battle (true). Se colocar false, poderá usar teleport no meio de batalhas } OU Trocar seu tele.lua por este:1 ponto -
Substitua esse seu lua por este: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end -----------#Início das configurações#------------ local stg = 14278 -- storage da quest, para não fazer 2x. local item1 = 8710 -- id do item local qtd = 10 -- quantidade a ser removida. local level = 7 -- quantidade de level a dar ao jogador. local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local msg = string.lower(msg) -----------#Fim das configurações#------------ if(msgcontains(msg, 'missao')) and getPlayerStorageValue(cid, stg) >= 1 then selfSay('Você já me ajudou, sou grato por isso!', cid) talkState[talkUser] = 0 end if(msgcontains(msg, 'missao')) and getPlayerStorageValue(cid, stg) <= 0 then if (getPlayerItemCount(cid, item1) == qtd) then selfSay('Você não tem '..qtd..' {'..getItemNameById(item1)..'s}. Volte aqui quando tiver', cid) elseif doPlayerRemoveItem(cid, item1, qtd) then setPlayerStorageValue(cid, stg, 1) selfSay('Muito obrigado, como recompensa aqui está sua experiência por ter me ajudado!', cid) doPlayerAddLevel(cid, level) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())1 ponto
-
Global Server 10.10
AlphaLove reagiu a alissonfgp por um tópico no fórum
Entao sla kr, n tenho ideia do q pode ta causando o down, qual eh seu server?? http://www.xtibia.com/forum/topic/140336-1020-otitemeditor-by-comedinha/ n uso mto editor de items1 ponto -
The last survivor
paulgrande reagiu a Nu77 por um tópico no fórum
Esse search foi uma grande ideia combinou perfeitamente com o cenário, só uma coisa a dizer, parabéns!1 ponto -
Colocar range na pistola
OriGM reagiu a lovenina12 por uma questão
function onUse(cid, item, fromPosition, itemEx, toPosition) local need_target = true -- Precisa de target? (true / false) Se false, o sistema utilizará o Use With. local bullet_id = 2160 -- ID da munição local shots_amount = 1 -- Tiros por vez local exhaustion_time = 1 -- Segundos de exhaustion local exhaust = 19301 -- Storage da exhaustion local dmg_min, dmg_max = -100, -200 -- Dano mínimo, dano máximo local shot_effect = 10 -- Efeito do tiro local shot_distance_effect = 1 -- Distance effect do tiro local damage_type = COMBAT_PHYSICALDAMAGE -- Tipo de dano local shots_delay = 200 -- Delay dos tiros (em milissegundos) local alcance = 6 -- Alcance do tiro if isCreature(itemEx.uid) then if getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(itemEx.uid)) > alcance then doPlayerSendCancel(cid, "Longe demais!") return TRUE end end if need_target then if getCreatureTarget(cid) <= 0 then return doPlayerSendCancel(cid, "Selecione um alvo primeiro.") elseif getPlayerItemCount(cid, bullet_id) < shots_amount then return doPlayerSendCancel(cid, "Você não possui munição.") elseif exhaustion.check(cid, exhaust) then return doPlayerSendCancel(cid, "Aguarde "..(exhaustion.get(cid, exhaust)).." segundos para usar a arma novamente.") end exhaustion.set(cid, exhaust, exhaustion_time) for i = 0, shots_amount-1 do addEvent(function() if getCreatureTarget(cid) <= 0 then return true elseif getPlayerItemCount(cid, bullet_id) < 1 then return doPlayerSendCancel(cid, "Você não possui munição.") end doSendDistanceShoot(getCreaturePosition(cid), getCreaturePosition(getCreatureTarget(cid)), shot_distance_effect) doTargetCombatHealth(cid, getCreatureTarget(cid), damage_type, dmg_min, dmg_max, shot_effect) doPlayerRemoveItem(cid, bullet_id, 1) end, shots_delay*i) end else if not isCreature(itemEx.uid) then return doPlayerSendCancel(cid, "Selecione um alvo primeiro.") elseif getPlayerItemCount(cid, bullet_id) < shots_amount then return doPlayerSendCancel(cid, "Você não possui munição.") elseif exhaustion.check(cid, exhaust) then return doPlayerSendCancel(cid, "Aguarde "..(exhaustion.get(cid, exhaust)).." segundos para usar a arma novamente.") end exhaustion.set(cid, exhaust, exhaustion_time) for i = 0, shots_amount-1 do addEvent(function() if not isCreature(itemEx.uid) then return true elseif getPlayerItemCount(cid, bullet_id) < 1 then return doPlayerSendCancel(cid, "Você não possui munição.") end doSendDistanceShoot(getCreaturePosition(cid), getCreaturePosition(itemEx.uid), shot_distance_effect) doTargetCombatHealth(cid, itemEx.uid, damage_type, dmg_min, dmg_max, shot_effect) doPlayerRemoveItem(cid, bullet_id, 1) end, shots_delay*i) end end return true end1 ponto -
[Show OFF] GabrielTxu and Bolz (Pokemon Skyfall)
vital900 reagiu a Gabrieltxu por um tópico no fórum
De boa vital sei que não rippei nada de ninguém e irei provar isso, espere o Nibelins entrar no Skype e irei mandar ele vir aqui no tópico. e claro vou fazer uma Hunt denovo detalhada nesse mesmo estilo ai quero ver se é ripping, varias pessoas só comentam para sujar minha imagem mais sei que isso não sou, sem + , esperem a nova Print da Nova Hunt que estou fazendo.1 ponto -
Curti o minimap, está bem agradavel bom trabalho. Great work blez, i'm really like this minimap xD1 ponto
-
1 ponto
-
[GESIOR] VictorWEBMaster 2019v
Alexclusive reagiu a VictorWEBMaster por um tópico no fórum
Utilize a DB postada no topico. Nova versão! Resolvi postar uma nova versão hoje dia 16/10/2013 com alguns erros fixados e reparados. Spells arrumados (Diretorio nr 2 estava errado). donate.php agora enviando com $_POST[''] para o pagseguro. Sistema de instalação otimizado Demais bugs por favor, enviem PM ou postem aqui, tenha certeza que você terá sua REP+ garantida!1 ponto -
[GESIOR] VictorWEBMaster 2019v
kleitonalan321 reagiu a VictorWEBMaster por um tópico no fórum
Db informada que está no servidor phpmyadmin não está com o mesmo nome com a que se aloca no config.lua do servidor. Update dia 14/10/2013!! ChangeLog: Modificado alguns sistemas que prefiro não descrever para evitar invasões. Criado sistema de Transfer Points, vi num pedido de website e resolvi fazer. Está em BETA VERSION! Mas funciona. Modificado Accountmanagement.php Demais bugs, por favor. Me reportem! Download [Website Version 0.0.4 V2.0]1 ponto -
nao ta nao , e o fogo nao importa no animê o fogo vai chegando perto da cabeça mas n passa a sprite ta certinha1 ponto
-
[Tutorial]Criando Website Com Xampp
VictorWEBMaster reagiu a Piabeta Kun por um tópico no fórum
liga o apache o mysql né meu caro!1 ponto -
GTA San Andreas Server
92221066 reagiu a Animal Pak por um tópico no fórum
Informações: Mapa próprio; 40+ Quests; Arena PVP; Sistema de Armas; Sistema de Moto, Bicicleta, Carro, Skate; Todos Npcs configurados; Cada vocação tem suas próprias outfits; Jetpack; Todos os items com suas respectivas sprites; Sistema de WoE; Servidor 100% estável sem bugs e erros; Imagens: Download Server: http://www.mediafire.com/?z316hb4caj1ised Scan Server: https://www.virustotal.com/pt/file/876d75ad9a638c4c44c9e772b7cde60a5fb349f332c7cadb7c69a854f9d6e72f/analysis/1364336402/ Dowload Client: http://www.mediafire.com/?kzt230l0aihwh24 Scan Client: https://www.virustotal.com/pt/file/c18d1e7e73620ba8b21b72d455b24ffc393cb61fa4c67d69ed3f427beb41ee8f/analysis/1364336430/ Account do GOD: Account: 258536 Password: zxcvbnm123 Créditos: GTA OT Team Kalito BT SmoOkeR1 ponto -
Ae galera presentão, exclusividade absoluta para o Xtibia, pelo menos não axei em nenhum forum. Farmine e Zao 100% completa, Wailing Widows cave, que eu nao achei nenhum video, resolvi eu mesmo fazer, seguindo o mini map da cip é claro, mas só para quebrar o galho, se alguém tiver algum video desta cave posta ae que eu atualizo o mapa. Algumas fotos do mapa: Coordenadas de zao: (Edit> goto position > x=33078, y=31532, z=6)(coordenadas para achar a city logo que abrir o otbm, nao sao as coordenadas de farmine, ja no mapa global) Otbm: Atualizei alguns resps que faltavam, caso falte algo ainda avise, acredito ter 100% dos resps. farmine+zao.rar1 ponto
-
Pits Of Inferno [POI] 8.5,8.54 Com Actions E Movments.
vital900 reagiu a tibiano do hell por um tópico no fórum
1 ponto