Ir para conteúdo
Close

GaspaR1

Membro
  • Total de itens

    39
  • Registro em

  • Última visita

Sobre GaspaR1

  • Rank
    Artesão

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

  1. tá consegui aqui mano, valeu <3... pode fechar o tópico mas antes, me diz não tem shop siystem ?
  2. mesmo com a city marcada dar isso aqui, errei um pouco no tópico desculpaa Error:Unknown City consegui arrumar esse erro, mas agora dar isso aqui An Error Was Encountered Sample character could not be found!
  3. Galera é apenas um pequeno erro, eu achei o local mas como não manjo muito em script, html e tals não entendo quem poder me ajudar é o seguinte, não estar aparecendo pra marcar a opção do mundo... fui atrás e encontrei o script mas não sei o que fazer segue aí a parte do mundo. <fieldset> <legend><img src="/templates/new/images/personagem.gif" height="20" width="20"> Personagem</legend> <div style="padding-top: -20px;" class="table"> <ul style="width:30%"> <li class="even"> <label for="character_name"><i class="fas fa-user-circle"></i> Nome:</label> </li> <li class="odd"> <label for="sex"><i class="fas fa-venus-mars"></i> Gênero:</label> </li> <li class="even"> <label for="vocation"><i class="fas fa-user-tie"></i> Vocação:</label> </li> <li class="odd"> <label for="city"><i class="fas fa-map-marker-alt"></i> Cidade:</label> </li> <li class="even"> <label for="world"><i class="fas fa-globe-americas"></i> Mundo:</label> </li> </ul> <ul style="width:70%"> <li class="even"> <input type="text" id="character_name" value="<?php echo set_value('character_name'); ?>" name="character_name"/> </li> <li class="odd"> <input name="sex" type="radio" id="sex" value="1" checked="checked" /> Homem &nbsp; <input type="radio" id="sex" name="sex" value="0" /> Mulher </li> <li class="even"> <input name="vocation" class="keyboardInput" type="radio" value="2" checked="checked" id="vocation"/> Treinador(a) &nbsp; </li> <li class="odd"> <input name="city" id="city" value="0" type="radio" checked="checked"/> Saffron &nbsp; </li> <li class="even"> <?php if(sizeof($config['worlds']) > 1) { ?> <select name="world" id="world"> <?php foreach($config['worlds'] as $world => $name) echo '<option value="'.$world.'">'.$name.'</option>'; ?> </select> <?php }else{ ?> <input type="hidden" name="world" value="0" /> <?php echo $config['worlds'][0]; ?> <?php } ?> </li> </ul> </div> </fieldset> <br/> <label>&nbsp;</label> <input class='sub' type="submit" value="Registrar"/> <?php echo loader(); ?> </form> </div> </div> e segue uma imagem de como tá
  4. Bom galera sem enrolar muito queria saber se alguém poderia me ajudar a tirar as funções desse script login.lua... estou usando base dxp, e sempre quando um player novo entra no servidor ele da os pokemons e itens que estão setados aí no script, mas eu quero tirar tudo, só quero deixar pra ser um login normal, já tentei pegar outro login e dar erro, pois o DXP é muito complexo com seus scritps, então se alguém poder me ajudar... quero retirar os pokemons que o script da, as balls, potions e etc dinheiro e tals.... segue o code : local config = { loginMessage = getConfigValue('loginMessage'), useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')) } local megasStones = {15131, 15133, 15136, 15793, 15783, 15781, 15794, 15784, 15780, 15792} local megasToPlayer = { ["Alakazite"] = {id = 15131, megaID = "", pokeName = "Alakazam"}, ["Blastoisinite"] = {id = 15133, megaID = "", pokeName = "Blastoise"}, ["Gengarite"] = {id = 15136, megaID = "", pokeName = "Gengar"}, ["Venusaurite"] = {id = 15793, megaID = "", pokeName = "Venusaur"}, ["Kangaskhanite"] = {id = 15783, megaID = "", pokeName = "Kangaskhan"}, ["Tyranitarite"] = {id = 15781, megaID = "", pokeName = "Tyranitar"}, ["Ampharosite"] = {id = 15794, megaID = "", pokeName = "Ampharos"}, ["Scizorite"] = {id = 15784, megaID = "", pokeName = "Scizor"}, ["Aggronite"] = {id = 15780, megaID = "", pokeName = "Aggron"}, ["Blazikenite"] = {id = 15792, megaID = "", pokeName = "Blaziken"}, } function BetaItem(cid) if getPlayerStorageValue(cid, storages.betaStorage) == -1 then addPokeToPlayer(cid, "Shiny Ditto", 0, nil, "poke", true) setPlayerStorageValue(cid, storages.betaStorage, 1) doSendMsg(cid, "Você ganhou um Shiny Ditto, uma TV Cam e uma Mega Stone para testalos a vontade.") item = doCreateItemEx(12330) doItemSetAttribute(item, "unique", getCreatureName(cid)) doPlayerAddItemEx(cid, item) local mega = megasStones[math.random(1, #megasStones)] for a, b in pairs(megasToPlayer) do if mega == b.id then addPokeToPlayer(cid, b.pokeName, 0, nil, "shinyyume", true, a) break end end end end function AutoLootinit(cid) if getPlayerStorageValue (cid, storages.AutoLootCollectAll) == -1 then setPlayerStorageValue(cid, storages.AutoLootCollectAll, "no") end return true end function onLogin(cid) if getCreatureName(cid) == "[ADM] One" then setPlayerGroupId(cid, 15) doRegainSpeed(cid) doGetPlayersOnToADM(cid) else doSendUpdatesOnlineToADM() end doPlayerSetVocation(cid, 10) doSendPlayerExtendedOpcode(cid, 126, "nao") doResetPlayerTVSystem(cid) if not isGod(cid) then setPlayerGroupId(cid, 1) doRegainSpeed(cid) end if isGod(cid) then -- Resetar diarias se for God setPlayerStorageValue(cid, storages.miniQuests.storDayTask1, -1) setPlayerStorageValue(cid, storages.miniQuests.storDayTask2, -1) setPlayerStorageValue(cid, storages.miniQuests.storDayTask3, -1) setPlayerStorageValue(cid, storages.miniQuests.storDayTask4, -1) end if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0) else doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, (getPlayerLevel(cid) >= 200 and 100 or math.floor(getPlayerLevel(cid)/2)) ) end doRegainSpeed(cid) --////// storages \\\\\\-- doEreaseDuel(cid) setPlayerStorageValue(cid, 500, -1) setPlayerStorageValue(cid, 8085, 0) --// duel setPlayerStorageValue(cid, storages.requestCountPlayer, 0) setPlayerStorageValue(cid, storages.requestCountPokemon, 0) setPlayerStorageValue(cid, storages.requestedPlayer, 0) --// duel --////// storages \\\\\\-- --////// Eventos \\\\\\-- registerCreatureEvent(cid, "ShowPokedex") registerCreatureEvent(cid, "ClosePokedex") registerCreatureEvent(cid, "Mail") registerCreatureEvent(cid, "WildAttack") registerCreatureEvent(cid, "GuildMotd") registerCreatureEvent(cid, "Idle") registerCreatureEvent(cid, "ReportBug") registerCreatureEvent(cid, "AdvanceSave") --Adicionados \/ registerCreatureEvent(cid, "PlayerLogout") registerCreatureEvent(cid, "LookSystem") registerCreatureEvent(cid, "Opcode") registerCreatureEvent(cid, "EmeraldShop") registerCreatureEvent(cid, "PokeStats") registerCreatureEvent(cid, "PokeWalk") registerCreatureEvent(cid, "PokeSleep") registerCreatureEvent(cid, "MoveItem") registerCreatureEvent(cid, "UpLevel") registerCreatureEvent(cid, "BlockWords") --registerCreatureEvent(cid, "PartySystem") registerCreatureEvent(cid, "Target") registerCreatureEvent(cid, "GeneralConfiguration") registerCreatureEvent(cid, "EffectOnAdvance") registerCreatureEvent(cid, "TradeRequest") registerCreatureEvent(cid, "TradeAccpet") --////// Eventos \\\\\\-- if(not isPlayerGhost(cid)) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) end local legs = getPlayerSlotItem(cid, CONST_SLOT_LEGS) local ball = getPlayerSlotItem(cid, 8) if getPlayerSlotItem(cid, CONST_SLOT_FEET).uid ~= 0 then doItemEraseAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "healthChanged") end --doOTCSendPokemonHealth(cid) --doClearPokemonStatus(cid) if isRiderOrFlyOrSurf(cid) and ball.uid ~= 0 then local pokeName = getItemAttribute(ball.uid, "poke") if isInArray({"ditto", "shiny ditto"}, pokeName:lower()) then pokeName = getItemAttribute(ball.uid, "copyName") end local outfit = getPokemonOutfitToSkill(pokeName) local speed = getPokemonSpeedToSkill(pokeName) doSetCreatureOutfit(cid, {lookType = outfit + 351}, -1) doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, speed) if isRider(cid) then setPlayerStorageValue(cid, orderTalks["ride"].storage, 1) elseif isFly(cid) then setPlayerStorageValue(cid, orderTalks["fly"].storage, 1) if not hasSqm(getThingPos(cid)) then -- doCreateItem(460, 1, getThingPos(cid)) end elseif isSurf(cid) then setPlayerStorageValue(cid, orderTalks["surf"].storage, 1) -- rever o markedPos doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) end doTeleportThing(cid, getMarkedSpawnPos(cid)) setPokemonGhost(cid) end setPlayerStorageValue(cid, storages.gobackDelay, -1) setPlayerStorageValue(cid, storages.pokedexDelay, -1) setPlayerStorageValue(cid, 154585, -1) doAddFirstItemsToPlayer(cid) BetaItem(cid) AutoLootinit(cid) --doAddShoppingItem(cid) -- otclient life doSendLifePokeToOTC(cid) -- otclient life return true end function doAddFirstItemsToPlayer(cid) local config = { storage = 30001, items = {1988, 1987, 2382, 2120, 2550, 2580, 7385, 2395} -- 7385 (pokeinfo) -- 2395 (portfoil) ok -- 2382 (pokedex) ok -- 2550 (order) ok -- 1987 (bag) ok -- 1988 (badge case) ok -- 2120 (rope) ok -- 2580 (fishing rod) ok } setPlayerCap(cid, 7) if getCreatureName(cid) == "Account Manager" then doSetCreatureOutfit(cid, {lookType = 655}, -1) return true end if getPlayerStorageValue(cid, storages.BugFishing) ~= -1 then return true end if getPlayerSlotItem(cid, CONST_SLOT_ARMOR).itemid > 0 then return true end for _, id in ipairs(config.items) do doPlayerAddItem(cid, id, 1) end local bag = getPlayerItemById(cid, false, 1988).uid doAddContainerItem(bag, 12267, 1) doAddContainerItem(bag, 12266, 1) doAddContainerItem(bag, 12264, 1) doAddContainerItem(bag, 12265, 1) doAddContainerItem(bag, 12263, 1) doAddContainerItem(bag, 12262, 1) doAddContainerItem(bag, 12261, 1) doAddContainerItem(bag, 12260, 1) setPlayerStorageValue(cid, duelTable.wins, 0) setPlayerStorageValue(cid, duelTable.loses, 0) local pokeBag = getPlayerItemById(cid, false, 1987).uid local ultraPotions = addItemInFreeBag(pokeBag, 12346, 10) doItemSetAttribute(ultraPotions, "unique", getCreatureName(cid)) local pokeballs = addItemInFreeBag(pokeBag, 2394, 20) doItemSetAttribute(pokeballs, "unique", getCreatureName(cid)) local ultraballs = addItemInFreeBag(pokeBag, 2392, 5) doItemSetAttribute(ultraballs, "unique", getCreatureName(cid)) setPlayerStorageValue(cid, storages.BugFishing, 1) doTeleportThing(cid, getTownTemplePosition(1), false) return true end local itensShopping = { [1] = {{2394, 100}, {12344, 25}, {12286, 2}}, [2] = {{2391, 200}, {2393, 100}, {2392, 100}}, [3] = {{12832, 1}}, [4] = {{12286, 1}}, [5] = {premiumDays = 30} } function doAddShoppingItem(cid) local allItems = {} local compra = 0 local msg = "" local result = db.getResult("SELECT itemID, compraID FROM playercompras WHERE playerID = '" .. getPlayerGUID(cid) .. "' AND entregue = 0") if result:getID() ~= -1 then compra = result:getDataInt("compraID") allItems[#allItems+1] = result:getDataInt("itemID") db.executeQuery("UPDATE playercompras SET entregue = 13 WHERE compraID = ".. compra ..";") while(result:next()) do allItems[#allItems+1] = result:getDataInt("itemID") compra = result:getDataInt("compraID") db.executeQuery("UPDATE playercompras SET entregue = 13 WHERE compraID = ".. compra ..";") end end if #allItems > 0 then for i = 1, #allItems do if allItems[i] == 5 then doPlayerAddPremiumDays(cid, itensShopping[allItems[i]].premiumDays) msg = "Seu pacote de '30 premium days' foi adicionado a sua conta com sucesso!" doSendMsg(cid, msg) else local bag = doCreateItemEx(12694) -- cubone bag de gratis for j = 1, #itensShopping[allItems[i]] do doAddContainerItem(bag, itensShopping[allItems[i]][j][1], itensShopping[allItems[i]][j][2]) end doPlayerSendMailByName(getCreatureName(cid), bag, 1) msg = "Os itens que foram comprados pelo shopping foram enviados para seu cp." doSendMsg(cid, msg) end end end end function addSkillsToDB(cid) local str1 = "INSERT INTO player_skills (player_id, skillid, value, count) VALUES (" .. getPlayerGUID(cid) .. ", 5, 5, 0);" local str2 = "INSERT INTO player_skills (player_id, skillid, value, count) VALUES (" .. getPlayerGUID(cid) .. ", 6, 5, 0);" db.executeQuery(str1) db.executeQuery(str2) end
  5. Tanto dei /reload como reiniciei o servidor para testar, e sem erros na distro outra porta abre normal....
  6. Salveee galera, já procurei em vários sites e até agora não encontrei nada, é um bagulho simples mas que não estou tento resultado e não sei onde estou errador é um POKETIBIA. Adicionei as sprites da porta tudo normais no client, de acordo com outra porta que abre no meu servidor, adicionei ao serve o item pelo o item editor, modifiquei tudo da porta como as outras estão segue aí. </item> <item id="17028" article="a" name="closed door"> <attribute key="type" value="door" /> <attribute key="blockprojectile" value="1" /> <attribute key="description" value="It is locked." /> </item> <item id="17778" article="a" name="closed door"> <attribute key="type" value="door" /> <attribute key="blockprojectile" value="1" /> </item> <item id="17029" article="an" name="open door"> <attribute key="type" value="door" /> </item> Mas, mesmo assim ela não abre quando clico, alguém poderia me informar onde estou errando ? tenho um pouco de conhecimento mas, nem tanto... agradeço REP +
  7. Infelizmente, eu não manjo muito de script sei o básico sabe eu já tentei de tudo mano sério, e só preciso de um npc assim
  8. Salveeee meus lindos venho por meio do Tk pedi algum script que se por gentileza fizesse um script pra mim, que é o seguinte eu estou precisando de um NPC que da várias quests ah, mas como assim explica melhor seguinte... EU: HI NPC: Você precisa ir pegar x item em x lugar e me trazer, mas cuidado lá é muito perigoso deseja mesmo proseguir ? EU: YES NPC OK, me traga o item EU ACEITEI A MISSÃO dele Fui e peguei o item e voltei pra ele Eu: HI NPC: Você conseguiu o item que lhe pedi ? EU: Yes NPC: Ok, aqui está seu premio ( E O NPC DA TAL PREMIO PRA ELE ) NPC: Se você deseja prosseguir com a missão ? EU: Yes BOM encontrei um script que é bem parecido só está faltando fazer ele ter várias quests do tonypylson, então quem poder editar ele vou agradecer demais <3. Então galera , maos a Obra Primeiro , Abra a Pasta do OT/Data/NPC/ Copie um arquivo qualquer XML , Renomeie para frederic , e lá coloque <?xml version="1.0" encoding="UTF-8"?> <npc name="Frederic" script="frederic.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="302" head="0" body="112" legs="93" feet="95"/> </npc> Depois abra a pasta Scripts do NPC. copie um arquivo qualquer lua, e renomeie para frederic e edntro dele coloque STORAGE = 100010 -- Não Mecha ITEM = 2160 -- Item a ser adicionado para completar a quest QUANT = 100 -- Quantidade de items a ser adicionado local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 santaNPC(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if (parameters.present == true) then if (getPlayerStorageValue(cid, STORAGE) < 1) then doPlayerAddItem(cid, ITEM, QUANT) setPlayerStorageValue(cid, STORAGE, 1) npcHandler:say('Obrigado e Boa Sorte na sua jornada', cid) else npcHandler:say('Eu ja te dei sua missao.', cid) end end npcHandler:resetNpc() return true end npcHandler:setMessage(MESSAGE_GREET, "Olá |PLAYERNAME|. Eu Tenho uma {mission} para voce.") local noNode = KeywordNode:new({'no'}, santaNPC, {present = false}) local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true}) local node = keywordHandler:addKeyword({'mission'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Menssagem de Missao Entregue'}) node:addChildKeywordNode(yesNode) node:addChildKeywordNode(noNode) npcHandler:addModule(FocusModule:new()) Pronto , o NPC para voce pegar a missao está pronto agora vamos criar o NPC para voce entregar o item e receber seu premio Volte a pasta NPC , copie outro arquivo xml e renomeie para marlon , e dentro dele voce coloca <?xml version="1.0" encoding="UTF-8"?> <npc name="Marlon" script="marlon.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="160" head="0" body="112" legs="93" feet="95"/> </npc> Agora vá de novo a pasta Scripts do NPC e dentro dele , voce copia outro arquivo lua , renomeia para marlon e dentro dele voce coloca STORAGE = 100010 -- Não Mecha ITEM = 2160 -- Item a ser Removido , dado pelo primeiro NPC QUANT = 100 -- Quantidade de item a ser removido dado pelo primeiro npc PREMIO = 2110 -- Premio do NPC PQUANT = 100 -- Quantidade de premio local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 santaNPC(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if (parameters.present == true) then if getPlayerStorageValue(cid,STORAGE) == 1 and getPlayerItemCount(cid,2330) >= 1 then doPlayerRemoveItem(cid,ITEM,QUANT) doPlayerAddItem(cid,PREMIO,PQUANT) setPlayerStorageValue(cid, STORAGE, 2) npcHandler:say('Obrigado', cid) elseif getPlayerStorageValue(cid,STORAGE) >= 2 then npcHandler:say('Voce ja completou essa missao.', cid) elseif getPlayerStorageValue(cid,STORAGE) < 1 then npcHandler:say('Voce nao falou com frederic.', cid) elseif getPlayerItemCount(cid,2330) <= 0 then npcHandler:say('Voce nao tem o item que frederic te deu.', cid) end end npcHandler:resetNpc() return true end npcHandler:setMessage(MESSAGE_GREET, "Olá |PLAYERNAME|. Diga {mission} para prosseguir essa missao.") local noNode = KeywordNode:new({'no'}, santaNPC, {present = false}) local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true}) local node = keywordHandler:addKeyword({'mission'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Frederic mandou voce me entregar as cartas? {yes}'}) node:addChildKeywordNode(yesNode) node:addChildKeywordNode(noNode) npcHandler:addModule(FocusModule:new()) e esse NPC vai me dar outra missão, agora de falar com outro NPC e tals, de matar tal monstro e tals, e assim vai seguindo entendeu ? tudo configuravél. agradeço e REP++++ créditos Tonypylson pelo script
  9. Alguém porfavor pode me ajudar a descompactar esses arquivos e conseguir a spr e dat ? please rep eternamente Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. Tibiad.cab Tibias.cab
  10. Galera queria pedir a ajuda de vocês, pra modificar esse script de porta automática, porque assim, eu coloquei tudo certinho e tals e funciona mas só abre um lado da porta pois são ids diferentes, se tem como adicionar eu não sei, e queri a ajuda de vocês agradeço <3. -- Do not remove the credits -- -- [MOVEMENT] Porta que abre automáticamente -- -- Developed by Rigby (João Vitor) -- -- Xtibia.com -- local porta = {13280, 13279, 13278, 13276} -- porta fechada, porta pouco aberta, porta meio aberta, porta aberta local pos = {x = 986, y = 1064, z = 6} -- local onde vai fica a porta local delay = 150 -- ela vai demorar 0.1 segundos para fica totalmente aberta ou totalmente fechada local action = 2702 -- action que ta no .xml, se muda la vai ter que muda aqui também function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getTileItemById(pos, porta[1]).uid > 0 then for i = 1, (#porta - 1) do addEvent(function() doTransformItem(getTileItemById(pos, porta[i]).uid, porta[i + 1]) end, i * delay) end end return true end function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor) local tab = {} for _, pid in ipairs(getPlayersOnline()) do if getTileInfo(getCreaturePosition(pid)).actionid == action then table.insert(tab, pid) end end if #tab == 0 then if getTileItemById(pos, porta[#porta]).uid > 0 then for i = 1, (#porta - 1) do addEvent(function() doTransformItem(getTileItemById(pos, porta[(#porta - i) + 1]).uid, porta[(#porta - i)]) end, i * delay) end end end return true end
  11. Galera estou com um problema para adicionar as restrições para as vocaçães, eu coloco tudo certo, em movements e em weapons, mas mesmo assim o item equipa, e dar pra usar, me ajudem porfavor agradeço , galera consegui fazer aparecer as coisas das vocação >> 14:44 You see a Destroyer knight helmet (Arm:23, club fighting +8, sword fighting +8, axe fighting +8, shielding +11, protection physical +12%). It can only be wielded properly by knights and destroyer knights of level 100 or higher. It weighs 29.50 oz. só que outra vocação ainda tá equipando, só não ganha os atributos.... quero fazer pra outra vocação não equipar.
  12. Obrigado aos dois <3, dúvida sanada podem fechar o tópico

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Criar Novo...