Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 04/24/15 em todas áreas
-
[Arquivado]Conheça o OBJECT BUILDER, o melhor editor de Sprites!
Wend ll e 2 outros reagiu a Gabriel Couto por um tópico no fórum
OBJECT BUILDER Se você trabalha com Sprites provavelmente conhece essa ferramenta que é o Object Builder. Porém, se você ainda não conhece, não perca tempo, leia esse tópico em que eu explico os motivos desse editor de sprites ser a melhor ferramente atual para quem pratica essa arte! Fique atento, por meio desse texto você vai ficar sabendo várias características que vão fazer com que você queira baixar imediatamente o Object Builder. Vamos Lá! Diferentemente de várias ferramentas que vemos atualmente em diversas áreas, não só no Spriting, o Object Builder é totalmente em português. É uma grande vantagem para quem não sabe inglês, mas também é um conforto maior para quem conhece a língua estrangeira! Com a utilização desse editor, você terá disponível um suporte à todas as versões mais jogadas de Open Tibia, pois a ferramenta suporta até o momento da versão 7.10, uma das mais antigas, até a 10.41, uma das mais recentes! Muita gente deixa de utilizar um programa quando o design dele é desagradável e de difícil manuseamento. O Object Builder é exatamente o contrário disso. O Design é muito acessível e confortável para praticamente todos que forem utilizar. Confira algumas imagens e comprove isso! Agora vem a parte mais importante que é na questão da funcionalidade, algo que você deve já estar se perguntando nesse momento! O Programa dá acesso a todas as edições do tibia.dat e tibia.spr, e com ele você pode modificar todos os tipos de sprites e as configurações dos mesmos. Basicamente, as funções principais do Object Builder estão listadas abaixo! - Importar/exportar arquivos .spr e .dat; - Importar/exportar imagens nos slots (sprites); - Abrir e criar novos arquivos a partir de uma versão selecionada; - Ter acesso a todas as sprites do client; - Adicionar/remover sprites de um client; - Posicionar sprites (para objetos ou criaturas que utilizam mais de uma sprite); - Editar as configurações dos novos itens/criaturas; Além disso, possui as seguintes ferramentas adicionais: - Editor de animação; - Gerador de LookType; - Visualizador de Objeto; - Slicer; - Transparência; - Versão Estendida. É claro que esse resumo serve muito mais para quem é familiarizado com o manuseio de sprites, mas, se você se interessa pela criação de novos outfits, monstros, equipamentos ou outros tipos de sprites, não perca tempo e procure utilizar esse fantástico programa que é o Object Builder! Você pode encontrar informações sobre download clicando aqui, em um tópico aqui mesmo no XTibia3 pontos -
mapa bugado
SkyDangerous e 2 outros reagiu a Wend ll por uma questão
Colocou os arquivos items.xml e items.otb do seu servidor na pasta C:\Program Files\Remere's Map Editor\data\860 ?3 pontos -
Olá Galera. Bom, o que irei explicar é bem simples, então também serei breve. Nesse tutorial aprenderemos a trocar o caminho da pasta Htdocs, podendo também escolher outro nome. Isso serve, caso por exemplo o Xampp ou até mesmo o Sistema Operacional (Windows) de problema. Então você não terá nenhuma dor de cabeça para reinstalar(isso se você escolher uma partição separada é claro das instalações citadas) Veja o Passo a Passo: Acesse o arquivo httpd.conf que está dentro da pasta xampp/apache/conf onde o mesmo foi instalado (geralmente unidade C:) Dentro do arquivo httpd.conf terão que alterar duas linhas de código, são elas: DocumentRoot "C:/xampp/htdocs" e Altere estes caminhos para o caminho da pasta que desejar. Exemplo.: DocumentRoot "D:/Pastasite" Pronto. Simples não? Fonte: Krono2 pontos
-
mapa bugado
SkyDangerous e um outro reagiu a Administrador por uma questão
Não pode por o itens.xml, só o .otb hihi2 pontos -
Editor de Sprites? Object builder!
Lucioclecio1 reagiu a Administrador por um tópico no fórum
OBJECT BUILDER O ObjectBuilder lhe proporciona acesso a todas as edições do seu tibia.spr e tibia.dat. Pode modificar sprites, sendo elas de outfits, efeitos e cenário; respectivamente, as configurações destes. Design confortável; Idioma: português; Fácil e rápida instalação; Suporta versões: 7.10 - 10.41 Downloads: Adobe AIR Object Builder 0.3.4 Imagens: Créditos: Mignari https://github.com/Mignari/ObjectBuilder1 ponto -
Yurots 1.2 Não tem muito o que falar do server, mapa simples, Yurots versão 8.10 atualizado para versão 8.60 sem editar, A distro é TFS 0.4 mas coloquei o download só da pasta data caso queira usar outra, quem ja jogou conhece, quem não viu, vale a pena conferir. Ótimo para editar pois é bem leve, apesar de alguns bugs no mapa que são simples. Download completo Download (somente a pasta Data) Creditos: •TFS Team •God Bon1 ponto
-
Neptune Server + Website Completo Servidor com alto nivel de Rpg. Excelente opção para novos servidores serios que desejam se diferenciar dos demais. Informações 10 cidades Custom map Baseado no Devland Map Quests Npcs Montarias Addons Outfits E mais! Imagens Layout Website Download https://www.sendspace.com/file/w6ufzp Scan https://www.virustot...sis/1426956753/ Créditos Alvanea1 ponto
-
Galeria • MSK
Krono reagiu a moskitinho por um tópico no fórum
Olá galera! Fazem exatos 5 anos que não posto algo aqui no fórum. E algum tempo a mais que não mexo com o Photoshop, decidi marcar minha volta com algo que sempre foi uma marca aqui no fórum pra mim. Críticas construtivas sempre ajudam, até a próxima! 18-04-15 • Angelina Forever, Link: Angelina Forever 22-04-15 • Kongou, Link: Kongou 22-04-2015 • Ero Sennin, Link. 25-04-2015 • The Vision, Link.1 ponto -
Magic Items
Administrador reagiu a Vodkart por uma questão
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 end1 ponto -
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>1 ponto
-
consegui arrumar aqui ^^ valeu pela atenção de todos1 ponto
-
Mano não entendi direito o que você pretende fazer... Tem como dar uma explicada melhor, e se puder postar a img por completa...1 ponto
-
Script de effect
narutomaniacos reagiu a zipter98 por uma questão
data/lib/050-function.lua, adicione as funções: function setEffect(cid, effect) setPlayerStorageValue(cid, 9671, effect) sendEffect(cid) end function sendEffect(cid) local delay = 500 --Intervalo, em milésimos de segundo, entre os efeitos. if getPlayerStorageValue(cid, 9671) > -1 then doSendMagicEffect(getThingPos(cid), getPlayerStorageValue(cid, 9671)) addEvent(function() if isPlayer(cid) then sendEffect(cid) end end, delay) end end data/creaturescripts/scripts, em login.lua: Abaixo de: function onLogin(cid) adicione: sendEffect(cid) Para adicionar um efeito ao jogador, use: setEffect(cid, efeito)1 ponto -
Lost of legends #1 Cidade de Mystras
Administrador reagiu a Krono por um tópico no fórum
Iniciando esse roleplay, busco criar uma historia para meu servidor que estou começando a desenvolver. Não tenho experiencia com esse tipo de escrita, porém tentarei fazer o meu melhor. Mystras, a cidade dos Monges Essa é uma historia um tanto longa comparada com as historias convencionais, mais isso se dá pela complexidade, pois cada palha que envolve a agulha tem suma importância para que consigamos acha-la. Vou começar contando um pouco sobre a cidade de Mystras, afinal é lá que tudo começa. Mystras é uma cidade pequena e charmosa criada pelos antigos monges no alto de uma montanha. A ideia inicial foi criar uma barreira mágica e se isolarem do resto do mundo após o grande catástrofe que quase dizimou a humanidade, porém com o passar do tempo acabaram permitindo a entrada de alguns bons aventureiros e as vezes até ensinavam alguns conhecimentos milenares, os transformando em exímios guerreiros. Os monges locais apesar de muito acolhedores, não tinham qualquer torrencial quando o assunto era guerra, por isso o assunto era Lemuria, e por tocar nesse assunto muito foram banidos da terra protegida. Toda essa odiosidade não era a toa, pois logo depois da fundação de Mystras, os Soldados do Rei Lemuridiano tentaram invadir Mystra, numa guerra intensa, muitos dos Monges foram mortos no confronto, e grande parte dos que sobreviveram tiveram graves feridas e horrentes lembranças do acontecido. A sorte dos monges foi que do lado deles havia um dos maiores monges da história, Rivera. O sábio era tão poderoso e equilibrado que mesmo tendo conhecimentos mágicos tanto yang quanto o yin podia controla-los e fazer um uso sem que nenhum dos lados o dominasse. Quanto a sua participação na guerra, foi ele que vendo seus discipulos e mestres sendo dizimados, apelou para a magia de proteção, essa que vinga até hoje e protege o monte em troca dessa proteção é claro um sacrificio, feito por ele mesmo. E assim surge a nossa primeira Lenda Perdida. ~att krono~~ Creditos: Krono - Roleplaying Tony - Ilustração1 ponto -
Sorry pela ausência, então, não não mexe no p.php não.... Isto ai é o Model das Pages. Abre o main.css ou vai no seu style, e mexe tipo assim #vt_content p { text-align: center; margin: 0 auto; } Coisas desse gênero.1 ponto
-
[Pedido] Faça seu pedido!
JonatasLucasf reagiu a Tony por uma questão
fiz rapidao aqui , espero que goste1 ponto -
Desculpem pessoal , pela minha ausência no tópico , irei atender alguns pedidos agora, estava muito ocupado com um projeto pessoal, espero que todos entendam!1 ponto
-
1 ponto
-
1 ponto
-
Xampp ~~ Windows - Alterando caminho e nome da pasta htdocs
Krono reagiu a Piabeta Kun por um tópico no fórum
vo depois adicionar ao meu topico Protegendo gesior e xampp, suaves?1 ponto -
Buy Vocation Gesior Acc
Xtudomuito reagiu a Dbko por um tópico no fórum
veja aqui amigo, http://www.xtibia.com/forum/topic/233470-vocation-pelo-shop/?p=16482871 ponto -
Contos de um Velho Aventureiro (CAPÍTULO 2 - Os Ratos)
Newnotwen reagiu a Gabriel Couto por um tópico no fórum
A aventura teve cada dificuldade maior que a outra, principalmente fora dos muros da Fortaleza. Mas como eu disse, o único meio de sair era pelos bueiros e lá surgiu, ou melhor, surgiram, meus primeiros problemas. Como você deve sabe, caso tenha alguma inteligencia, os bueiros estão no subsolo, e por isso são escuros. Afinal a luz não chega lá, não é difícil entender, se esforce aí. Caso esteja se perguntando das magias de fogo que utilizamos hoje como fonte de luz, saiba que na época os nossos magos e bruxas não eram tão desenvolvidos e o único meio de iluminação eram as tochas. Sim, tochas que hoje são desprezadas e utilizadas somente pelos mais pobres; Naquela época o castelo do rei era rodeado por elas, a minha casa também e a sua provavelmente também seria, se fosse da época. Porém, apesar da minha audácia em roubar uma das lanças que o meu pai havia feito, não fui inteligente o suficiente para lembrar de algo para iluminar o caminho. Como o bueiro mais próximo da minha casa era no centro da capital do Império, foi muito complicado passar despercebido pela multidão. Quando eu lembrei que precisava da tocha, era tarde demais e resolvi não voltar. Por algum motivo, todas as entradas do sub-solo ficavam acima do nivel do terreno da cidade, não muita coisa, no máximo três metros. Eram fechadas por um círculo com grades de ferro grossas de cima à baixo. Eram muito pesadas e é claro que eu nem poderia ter tentado levantá-las. Eu era bem magro na época, ainda não tinha a barriguinha que sustento hoje, e a única saída foi tentar passar pelo meio de duas barras de ferro. Com alguma dificuldade e um medo tremendo de ser pego ou ficar entalado, consegui me enfiar no buraco. Mas, se você está atento ao que escrevi, deve estar perguntando: “Se a altura em relação ao terreno era mais de três metros, como ele se soltou das grades? Afinal, provavelmente o chão do bueiro era mais abaixo ainda!” - é claro que isso também foi pensado pelos planejadores da época, para o caso de ser necessário o uso dos bueiros (não me pergunte como). Nesse espaço de três metros havia um tipo de câmara em forma cilíndrica, assim como o “cano” da entrada do bueiro, que era enorme. Era uma continuação na verdade, tente imaginar aí. Essa câmara tinha uma escada e por ela que eu desci ao bueiro de verdade. Porém, três metros ainda continuam sendo uma altura bem considerável, principalmente se você é uma criança ainda. Se você considerar o meu tamanho com os braços levantados (eu estava me segurando aos canos com os braços esticados), a queda não foi tão grande assim, talvez um metro e alguma coisa, perto dos dois metros. Quando eu soltei os dedos, conseguí cair em pé. Doeu um pouco, mas nada que eu não pudesse aguentar. “As porradas que levaria dos meus pais quando voltasse para casa doeriam menos”, era o que eu pensava. E doeram mesmo. Mas falta muito ainda dessa história de criança até a minha volta pra casa, falarei disso depois. Como em qualquer bueiro de hoje, na época era infestado por ratos. Não eram como os de hoje, eram pelo menos o dobro do tamanho e em algumas épocas do ano eles subiam às ruas e causavam confusão, era horrível. Então, pense nos ratos que você vê hoje e imagine-os com o dobro de tamanho; não chega nem perto dos ratos mutantes que criaram aí, mas tinham até uns 60 centímetros, muita coisa, meu amigo! Estava em uma época em que os ratos não infestavam a parte de cima de sua linda e humilde casa, então eu podia esperar um monte deles. Mas eu esqueci de citar que os bueiros eram divididos em andares, e maioria dos bichos ficavam lá pros mais fundos, e eu só precisava andar em um deles, que era o mais próximo ao “térreo”, digamos assim. Naquela época, além do tamanho maior, eram bem mais agressivos que os de hoje, então eu poderia esperar um ataque, e foi com essa mentalidade que eu comecei a andar após sair da câmara pela qual entrei no subsolo. Você deve estar se perguntando agora como era a minha visão naquele local, já que esqueci da tocha. Fique menos preocupado, praticamente a cada 5 metros existia um tipo de abertura pequena com grades que deixava a luz passar. Era o suficiente para eu me locomover com mais tranquilidade e também pra evitar que eu caísse andares abaixo. Por alguns minutos eu consegui andar sem ser incomodado por nada além do fedor de esgoto, que, para falar a verdade, nem era tão forte na altura em que eu estava. Acredito que já era metade do caminho quando eu comecei a ouvir alguns ruídos dos ratos. Eu já conhecia, pois tinha passado por algumas épocas de infestação. Mais alguns metros e encontrei alguns, não consegui contar quantos por conta da fraca iluminação. Decidi que seria inteligente e não atacaria, eu queria evitar problemas ali, pois não tinha para onde correr caso entrasse em verdadeiro apuros. Eu era um pouco maluco, mas não era burro. Porém, essa decisão não coube à mim; Apesar de ter tentado passar despercebido, quando eu me espanto, um rato já estava perto de mim e mordeu a região do calcanhar. Por sorte, os dentes (dentes? não sei!) pegaram somente na minha calça e a rasgaram. Não posso dizer que não fiquei irritado pela calça. Pra falar a verdade, só percebi mesmo a minha reação quando eu vi o rato voando longe. Quase caí no chão quando praticamente dei um coice no coitado e me preparei para o caso dos outros atacarem também. É claro que eles reagiram, eram selvagens! Acertei a lança na cabeça de um e consegui chutar outro para longe, eu parecia um dançarino desengonçado afastando os bichos. Eu era pequeno, mas conseguia conter aqueles. O grande problema foi o barulho. Toda aquela agitação chamou mais ratos, muito mais, eu conseguia ouvir de longe eles chegando e resolvi entrar em ação e virar o herói do dia: “CORREEEEE” foi o que eu pensei na hora e foi isso que eu fiz. Não voltei por onde tinha vindo, continuei em frente até chegar ao que eu imaginava ser a outra câmara, pois o formato era parecido e havia mais luz. Subi a escada e olhei para baixo: Contei pelo menos 15 ratos enormes tentando subir. Apesar de eu ter falado que eles eram grandes e agressivos, eles não subiam escadas, caso tenha imaginado essa possibilidade. Quando recuperei o fôlego, olhei pra cima e percebi que já estava fora dos muros, pois havia vegetação e árvores por perto. As câmaras do lado de fora da Fortaleza eram na mesma altura da terra e tinham escadas também para subir até a grade (não me pergunte o motivo das diferenças). Subi as escadas e passei novamente pelas grades, finalmente eu estava fora do bueiro. Continua no capítulo 3....1 ponto -
Contos de um Velho Aventureiro (PRÓLOGO + CAPÍTULO 1)
Marco Oliveira reagiu a Gabriel Couto por um tópico no fórum
Não há nada tão bonito quanto a nossa própria história. A minha é vasta de desafios e aventuras grandiosas por esse mundo, e não me arrependo de nada que fiz até hoje. Desde pequeno era um garoto de travessuras que só os mais velhos eram capazes de fazer, como por exemplo fugir da cidade para caçar lobos na floresta, quando tinha 9 anos. Naquele tempo, só os adultos poderiam deixar a fortaleza guarnecida com grandiosos cavaleiros. A sociedade era totalmente diferente da que vejo hoje, não que essa seja melhor, mas são tão diferentes que é quase impossível comparar. Como qualquer diário ou autobiografia que eu tenha visto, irei começar pelos tempos de criança, pelo menos as partes que a memória ainda me permitem lembrar: Meu cérebro e meu corpo não são mais os mesmos, tenho que acabar isso a tempo de falar todas as minhas experiências, com certeza esse será o meu último grande desafio, e eu vou conquistá-lo. Ah, para lembrar, caso eu consiga terminar isso aqui, assinarei somente no final, mas para você não ficar que nem uma besta lendo esse diário, meu nome é Thyn, Thyn Zare, mais especificamente. Você já deve ter lido histórias sobre mim (1 e 2), mas deixe isso pra lá, provavelmente é mentira rapaz, nunca confie no que os outros falam. Saiba que isso aqui, sim, é realmente confiável. Agora chega de lenga-lenga um pouco, a única coisa que a experiência não me trouxe é aprender a falar pouco, preparem seus olhos e mentes e aproveitem a minha grandiosa história. Meu pai era um marceneiro, muitos diziam que era o melhor do Império. A marcenaria ficava anexa à nossa casa e sempre estava cheia de clientes, afinal ele era bem popular e chamava a atenção dos vizinhos. Todos gostavam do meu pai. É claro, como qualquer pai, também desejava passar ao filho (no caso eu, só pensar) a tradição de seu trabalho, para que no futuro eu me sustentasse com isso. Desde pequeno aprendi a fazer lanças, pois o senhor Zare era o grande responsável por fazê-las aos guerreiros do Império. Claro que qualquer um pode fazer uma lança, não é assim tão difícil, para falar a verdade. Porém, caso você queira vencer uma batalha contra seu inimigo, seja qual for, a melhor opção é procurar um especialista para se armar. Perto de casa ainda morava meu tio, que fazia vários tipos de armadura e escudos para o Império, vale ressaltar que ele era bem mais rico que nós, mas não falava havia anos com meu pai, então eu mal o conhecia. As armaduras eram muito bonitas e bem caras, e os escudos eram impressionantes, defendiam até as espadas e machados mais poderosos. O que poucos esperavam é que eu não queria ser um comerciante ou fabricante, nada disso. Falta emoção nesse tipo de trabalho, e o que sempre me moveu foi o coração acelerando com o perigo. Sim, perigo, eu era pequeno, e daí? Roubar frutas da feira com minha idade era tão perigoso quanto confrontar um dragão vermelho quando já se é adulto. Tomei as lições com grande responsabilidade, e tinha uma habilidade natural em fazer lanças com meu pai. Porém, um dia ele recebeu um pedido de outra cidade e fechou a loja por um tempo enquanto tinha que entregar (empregados são caros, nós não podíamos pagar por um), mas como pouca gente sabe esconder coisas, foi fácil encontrar a chave para roubar uma das lanças. Se você pensou que eu tinha entrado na loja do meu pai para fazer uma para mim, não seja burro, eu não era. Várias prontas na minha frente e é claro eu iria pegar uma. Consegui uma que era adequada ao meu tamanho, fechei a porta e escondi de novo a chave. Não era possível passar pelos guardas, eram muito rigorosos e crianças não poderiam deixar a Fortaleza, a não ser em viagem com algum responsável. Mas tudo tem o seu jeito e a segurança do Império não era lá a mais inteligente, apesar de ser composta pelos mais famosos guerreiros da época. Os bueiros da cidade acabavam em vários túneis que davam em algum local no meio da floresta e nenhum desses era protegido, é claro que eu usei alguns pra me aventurar lá fora, mas passei cada dificuldade, meu amigo… Continua no Capítulo 2.1 ponto -
Xampp ~~ Windows - Alterando caminho e nome da pasta htdocs
Krono reagiu a Piabeta Kun por um tópico no fórum
mais como padrao se voce sabe que um site é gesior voce sabe que tem tais pastas, logo se voce jogar ipdoot/pastaexistente ele vai mostrar o contudo delas que ta dentro do htdocs, se voce mudar o destino para fora da htdocs isso se resolve! tendeu? isso vale pra qualquer page dentro dela!1 ponto -
Entrevista com Daniel
Caktchup reagiu a Gabriel Couto por um tópico no fórum
Entrevista com Daniel Fala aí galera do XTibia, eu sou o Gabriel Couto e fiz uma entrevista hoje com o administrador do XTibia, Daniel. Falamos sobre várias coisas e principalmente sobre o fórum e seu futuro, espero que gostem! Gabriel: Fala aí Daniel, obrigado por aceitar o convite para ser entrevistado por mim! Vale lembrar que você tem todo direito à não responder uma questão caso não queira! Vamos começar falando um pouco sobre você: Quantos anos você tem e onde mora? Daniel: Tranquilo! Por enquanto, tenho 18 anos. Moro no sul do país, Santa Catarina. Gabriel: Possui alguma atividade favorita? Qual? Daniel: Gosto muito de ter contato com a natureza, adoro, desde pequeno, nadar e acampar. Gabriel: O que faz da vida hoje além de administrar o maior fórum de OTServers do Brasil? Daniel: Sou vendedor. Gabriel: Vamos começar a falar sobre Tibia agora, acredito que seja onde começou parte do que se tornou o Daniel hoje. Chegou a jogar o Tibia Global? Qual o maior level que conseguiu até hoje? Daniel: Comecei minha jornada no tibia em 2009, versão 8.50 acho. Num mundo chamado Pandoria, (http://www.tibiawiki.com.br/wiki/Pandoria). Até então, não sabia que ele tinha sido encerrado. Desde o começo, fui paladin no tibia; (evoluí?) e passei a jogar de druid e knight. Tive um paladin level 160 em 2010~2011. Devido a uns problemas, acabei perdendo o char. Depois tive outras contas em Harmonia. Atualmente tenho um knight level 88 no global. Gabriel: Qual o mundo do Knight? Daniel: Fidera Gabriel: O mesmo meu! Vocação preferida? Daniel: Escolha difícil, apesar de eu ter enjoado de algumas, todas são minhas favoritas. Amo RPG e a complexidade de cada vocação. O que mais usei foi paladin e knight. Mas sinto muita "atração" por mages. Gabriel: Possui uma cidade preferida no mapa? Daniel: Não sei se vale, mas eu amo ir pra Senja. Passei a maior parte da minha vida tibiana em Carlin. Nas aventuras, gostava muito de Edron, Darashia, Ankrahmun e Svargrond. Detesto Port Hope, por que isso existe? Mal da pra andar no meio daquele mato todo. Gabriel: E uma cidade que não gosta? Daniel: Não gosto de Port Hope. Respeito a genialidade que é o tema, ainda mais o tamanho. Detestava caçar ou fazer quests lá; aquelas plantas malditas que te dão lentidão e a quantidade de mato que não te deixa andar. Mas apesar disso, tem ótimos lugares lá. Gabriel: Chegou a conhecer OTServer antes do Global? Daniel: Não. Gabriel: Agora falando de OTServers, já teve algum próprio? Conseguiu sucesso com ele? Lembrando que sucesso nem sempre é o mesmo para pessoas diferentes! Daniel: Já tive alguns servidores Baiak e Global online. Gabriel: Quando e como conheceu os OTServers? Daniel: Procurei no google, baixei um ip changer e abri a otserv list. Cliquei no primeiro servidor que apareceu. (No final de 2011, 2012 talvez.) Gabriel: Eu sei que você é um mapper, muito bom por sinal. Quando começou a mappear e por qual motivo? Tinha vergonha dos primeiros mapas que fez? (eu tinha) Daniel: Comecei brincando no xtibia, quando vi uns mapas do Vital; acabei ficando curioso e gostei da prática. Ainda em 2012 participei de um projeto do Gustavo, desenvolvi alguns mapas (hoje dou risada desses mapas). Depois disso, fui para outro fórum e passei a praticar lá. Gabriel: Qual o mapa você se orgulha mais de ter feito? Tem uma foto dele pra mostrar pro pessoal? Daniel: Essa edição em Carlin (apesar de eu não me empenhar tanto), foi sem dúvidas, o mapa que mais me orgulhou. Cresci em carlin, no tibia; ver esse mapa em outra versão e saber que fui eu quem fez, me deixa contente. Há outros mapas meus que eu me orgulho muito, talvez alguns melhores que o Carlin Revamp. Mas acho que esse me emocionou mais. Fotos: Gabriel: Quem quiser baixar esse mapa, segue o link: http://www.xtibia.com/forum/topic/233253-carlin-revamp/?view=findpost&p=1646848 Gabriel: Você já disse antes que já me conhecia pelos meus mapas e pelo meu estilo de mapear. Como mapper, o que acha deles? Se fizéssemos uma batalha, quem vencia? (sim, é uma pergunta pessoal mesmo!) - (não, não foi um convite pra batalha!) Daniel: Ambos temos capacidades para vencer. Isso depende de muita coisa, como o tipo de avaliação (juiz? pública?), o tema proposto e o tempo determinado. Mas se um mapper conhece o outro (estilo, que temas prefere, técnicas, etc...), as possibilidades para a vitória são maiores. Gabriel: Tirando a parte dos mapas, você é bom fazendo algo a mais no universo OTServer? Em quê? Daniel: Eu não diria bom, estou me aperfeiçoando em Spriting. Também já arrisquei scripting, postei alguns inclusive. Não sei se conta como scripting, mas me entendo bem com extensões de map editor. Gabriel: Há mais algo pelo que se interessa dentro desse universo que você deseja aprender de verdade? Daniel: Pretendo evoluir em Spriting, depois disso, focarei em scripting e programação. Gabriel: Muito bem, acabamos aqui a parte de OTServer e chegamos ao que eu espero que seja o ponto alto da entrevista. É exatamente sobre esse fórum que todos gostamos, chamado XTibia. O fórum ficou quase 1 ano fechado, qual a sensação de você mesmo poder reabrí-lo? Daniel: Já estou acostumado com esse ambiente, o que realmente me agrada é ver os membros vibrando com a volta do fórum, é isso que o torna especial. A sensação é de estar dando um presente a todos esses membros com minha dedicação. Mas vale lembrar, que foi uma equipe que reabriu esse fórum. Todos nós nos dedicamos e tornamos isso possível. Gabriel: Acredite, eu sei como é a expectativa de abrir um fórum, mas nunca nessa proporção. Não sei se sabe, mas em 2013 fiquei um tempo fora do fórum e resolvi, junto com meus amigos Tonynh e Dudinha, ter um fórum próprio, OTDev. Apesar do layout muito bonito e sem bugs, seções e cargos funcionando bem, uma equipe ótima, não durou 6 horas no ar, por problemas estruturais de servidor. Você já trocou de servidor logo no começo, pelo que eu li, para poder aguentar melhor o “peso” do XTibia. Esperava que o recomeço fosse tão forte como está sendo? Se sente orgulhoso por ser grande responsável nisso? Daniel: Eu esperava menos. Não teria conseguido sem o minha equipe, o Gustavo e o suporte da ServerSoft. Sinto orgulho da equipe que formei, por ter se dedicado mais do que eu imaginei. Gabriel: Falei que eu não tinha bugs no meu caso, porém, o XTibia ainda tem lá seus bugs, já tinha há muito tempo atrás e acredito que seja um desafio bem complicado resolvê-los. Comparado com o fórum que você encontrou antes de abrir, com o atual, o quão melhor ele está? Bugs sérios foram corrigidos com muita ou pouca dor de cabeça? Daniel: Haviam muitos bugs, mas estamos resolvendo todos os problemas que restaram. Gabriel: Parabéns por esse esforço grande, realmente um bom trabalho. Porém, uma coisa que mudou um pouco foi o sistema de equipe, estou certo? Pode falar quais os cargos estão em vigor hoje e explicar um pouco sobre cada um? Daniel: Ainda estamos nos estabilizando. Nosso sistema funciona em uma hierarquia simples: Estágio, moderação e administração. Além disso, criamos o cargo Patrocinado, para membros que tem projetos patrocinados pelo xTibia. Gabriel: Pretende fazer alguma mudança nesse sistema no futuro? Daniel: Se necessário, sim. Gabriel: Cara, toda vez que escrevo xtibia no google sempre aparece ele no topo; você sabia que nos últimos meses (último ano, na verdade) do fórum até o antigo fechamento, mesmo com vários usuários online, o XTibia nem na página principal aparecia? Era um desafio que dava muita dor de cabeça cara! Acha que isso também ajudou no crescimento rápido do fórum? Como funciona isso? Pelo que eu li, algumas pessoas que reencontraram o fórum foi justamente pelo google. Daniel: É apenas questão de tempo para o google indexar 630.000 páginas, que era o maior índice quando o xTibia fechou. Acredito que se continuarmos como estamos, conseguiremos evoluir mais. Gabriel: Sente alguma (ou muita) pressão por estar administrando quase sozinho um fórum como o XTibia? Daniel: Não, confio na minha equipe. Gabriel: Se pudesse fazer uma grande revolução no fórum, qual seria? (se quiser, pode não responder!) Daniel: Já estamos fazendo isso. Não posso falar detalhes, mas muitas novidades estão chegando. Gabriel: Um grande problema das equipes passadas foi a intolerância e muitas vezes falta de diálogo com os usuários do fórum. Reconheço que principalmente as pessoas com cargo mais alto eram em geral desse grupo, eu já fui assim, principalmente nos meus dois primeiros anos. Até o momento está tudo funcionando muito bem na relação de você e sua equipe com os usuários, tenho acompanhado bem cada um dos membros nesses dias. Qual a importância de tentar manter esse estilo? Em alguns momentos será complicado manter essa tranquilidade? Daniel: Eu gosto muito de atender os membros (sou vendedor, lidar com pessoas é algo que faço todos os dias), especialmente, porque isso me trará um retorno. Ignorar um membro é ignorar seu próprio fórum. Gabriel: Quais os desafios para os próximos dias e semanas no fórum? Daniel: Finalizar os bugs mais graves, definir melhor a estrutura geral do fórum e iniciar a produção de conteúdos inovadores. Gabriel: Uma coisa que sempre existiu no fórum foram os projetos patrocinados, as vezes tinham nomes diferentes. Qual a importância dos Projetos Patrocinados do XTibia? Daniel: Patrocinar Projetos significa para mim, manter uma grande interação entre os desenvolvedores OTServ com a comunidade. O maior retorno é a movimentação do fórum em relação a esses projetos e ver a comunidade dando suporte para que mais projetos surjam. Gabriel: O Fairy Tail Online, por exemplo, quando eu entro no sub-fórum deles, tenho a impressão de estar em um fórum próprio, é bem diferente do atual visual do resto do fórum. Essa ideia foi sua ou do(s) donos do projeto? Quais as expectativas do fórum para o mesmo? Daniel: O Fairy Tail é um excelente projeto. A ideia foi dada pelo dono deste; acredito que com essa atenção toda dada ao projeto, sirva como um incentivo à mais membros participarem do xTibia. Gabriel: E alguns destaques hoje no fórum? Tem gostado do quê nesse recomeço? (membro, tópico, algo que tenha achado muito bom, etc.) Daniel: Estou muito feliz com os membros, estou vendo muitos elogios, mas sou eu quem deve elogiar. Quero destacar principalmente a equipe, que está fazendo um excelente trabalho, alguns, tirando tempo que não existe para ajudar no fórum. E a você, por retornar à sua atividade e me conceder a honra de participar de uma entrevista. Gabriel: Bom, vou terminar aqui a entrevista, obrigado por a ter concedido e espero que tenha gostado das perguntas e de respondê-las! Algumas considerações finais para os usuários? Daniel: Eu adorei a entrevista, estou muito empolgado, principalmente com a dedicação e movimentação dos membros. Peço que recorram a mim quando precisarem, não sou um Final Boss daqueles malvados muito menos um mero ignorante. E obrigado pela colaboração! Pessoal, espero que tenham gostado da entrevista assim como eu gostei! Um abraço, até a próxima!1 ponto -
Xampp ~~ Windows - Alterando caminho e nome da pasta htdocs
Administrador reagiu a Piabeta Kun por um tópico no fórum
Bacana curti demais, nunca fui de me aprofundar nessas coisas, um otimo ponto para sites sem redirect tipo gesiors antigos que se voce jogar ipdosite/layouts ou qualquer outro caminho voce tinha acesso as pastas e textos do htdocs!1 ponto -
Entrevista com Daniel
Newnotwen reagiu a Administrador por um tópico no fórum
- Sempre tive muita admiração por OTServ, agarrei a oportunidade da reabertura do Ekz, assim como a equipe. Foi algo muito tranquilo e produtivo, quando se tem vontade tudo da certo =); - Sempre, apenas estou com menos tempo para mapear; - Tenho muitos projetos, todos, são integrados ao fórum; - Não me pronunciarei; - Se depender de mim, não.1 ponto -
Windows*, Legal... Curti o tuto, XAMPP? Dá uma olhada nisso aqui depois > http://winginx.com/en/1 ponto
-
pronto coloquei 8.6 http://www.mediafire.com/download/brv19tf0d5acj38/wono+2.6.rar1 ponto
-
Como usar background-size em php
LeoTK reagiu a VictorWEBMaster por uma questão
Mude a sua tag para essa <table style="PADDING-LEFT: 35px" class="sortable newstryles"> .newstryles { background-size: 100%; background-image: url (URL); } Vê se funciona.1 ponto -
1 ponto
-
Como tirar imagens in-game decentes Abra seu client e vá em: Open Options: Graphics Advanced Don't Stretch/Shrink Game Window. Programa Pra tirar PRINTS recomendado! PRNTSCR.COM Basta baixar e apertar a tecla "Print Screen": Itens de iluminação recomendados! Torch Frozen Starlight Magic Light Wand Necromancer Shield ANTES! DEPOIS1 ponto