Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 11/26/15 em %
-
data\movements\scripts\nomedoscript.lua: local tilepos = {x=136, y=48, z=7} -- Posiçao do tile noroeste ( /\ < ) local sq = 3 -- Area 3x3 usar somente numeros impares > 2 local monster = "Demon" local time = 2 -- Tempo em minutos pra desaparecer function getUidsInArea(extr1, extr2) local dat = {} for y = extr1.y, extr2.y do for x = extr1.x, extr2.x do if isCreature(getThingFromPos({x=x, y=y, z=extr1.z, stackpos=255}).uid) then table.insert(dat, getThingFromPos({x=x, y=y, z=extr1.z, stackpos=255}).uid) end end end return dat end function summonAndRemove(monster, pos, t) local function removeCreatureEvent(uid) if isCreature(uid) then doRemoveCreature(uid) end end local uid = doSummonCreature(monster, pos) addEvent(removeCreatureEvent, t*1000, uid) end function onStepIn(cid, item, pos, frompos) if sq < 3 or sq%2 == 0 then return error("SOMENTE NUMEROS IMPARES MAIORES QUE 2") end local uids = getUidsInArea(tilepos, {x=tilepos.x+sq-1, y=tilepos.y+sq-1, z=tilepos.z}) if #uids == 0 then for y = tilepos.y, tilepos.y+sq-1 do for x = tilepos.x, tilepos.x+sq-1 do if y == tilepos.y+(sq-1)/2 and x == tilepos.x+(sq-1)/2 then doTeleportThing(cid, {x=x, y=y, z=tilepos.z}) else summonAndRemove(monster, {x=x, y=y, z=tilepos.z}, time*60) end end end else doTeleportThing(cid,frompos,true) return doPlayerSendCancel(cid, "There are people inside right now.") end end xml: <movevent type="StepIn" actionid="2930" event="script" value="nomedoscript.lua"/>2 pontos
-
Global Full 8.6 com Rook [UP-LVL]
Arcanjoroxie reagiu a MiltonAlvesJr por um tópico no fórum
OT GLOBAL 8.6 FULL Informações: Player começa Level 1 sem Vocação em Rook. Teleport para Training esta a South do DP de Thais. MAPA FULL GLOBAL. (Obs:FALTANDO ZAO, QUE PARA MIM NÃO A INTERESSE kkk). Vocações Balanceadas, seguindo o estilo Global. Sistema de Premmy por Premium Scroll que pode ser adquirido nos NPC'S, The Queen em Carlin e King Tibianus em Thais. Cidades: Rookgaard - (com Island of Destiny) Ankrahmun Ab'Dendriel Carlin Cormaya Darashia Edron Farmine Fibula Kazordoon Liberty Bay Northport Orc Land (Orc Fortress) Outlaw Camp Port Hope Plains of Havoc Shadowthorn (Elven Village) Svargrond Thais Venore Yalahar Quest: Arena Quest Demon Oak Demon Helmet Yalahar Quest The Inquisition Quest The Annihilator Quest Pits of Infernum (POI) HOTA Quest Crown Quest Behemonth Quest Blue Legs Bright Sword Vamp Shield Mermaid Comb Orc Fortress Medusa Shield Desert Quest Mad Mage Room Entre varias outras Quests.... O OTServ contem muito o que explorar, pois a um bom tempo eu tinha este OTServ, e resolvi compartilhar com todos. Espero que gostem!! ATUALIZADO!! 25/03/2014 LINK DOWNLOAD: http://www.4shared.com/rar/QQFIbSW6ce/global_full_86_up-lvl.html LINK SCAN - VIRUS TOTAL: https://www.virustotal.com/en/file/fa6c82e8fee2319d40243f8bae1e03baa90088ac0aecd56e9861bdb27451c90e/analysis/1392913285/1 ponto -
xPoketibia [Open source] (OFICIAL!)
Poke X Ice reagiu a Wend ll por um tópico no fórum
Olá Galera do XTibia! Venho apresentar para vocês um novo projeto, o xPoketibia, o poketibia se trata de um servidor que está sendo desenvolvido para tentar substituir o PDA em termos de uso dos OT-admin (sair dessa mesmice de servidores PDA) , o mesmo será disponibilizado aqui no fórum com suas devidas versões\atualizações. Estamos usando uma base antiga que está um pouco desatualizada e com muitos bugs , não editamos o mapa ainda por isso o mapa que está sendo usado é o do dash , tentaremos ao máximo trazer incríveis mapas e sistemas. Andamento do servidor Level System: 90% Caught System: 50% Go-Back System: 50% Portrait System: 50% Evolution System: 100% NPC Nurse System: 50% Pokedex System: 50% Ghost System: 50% Wild Pokemon Passive: 50% Moves System: 90% Limite de 6 Pokemons: 50% Duel System (Pela Party) 50% Tv / Cam System 50% Próximos sistemas Order System (Com todas as habilidades [Fly, Surf, Ride, Blink, Cut, Light, Transform, Control Mind, Dig, Move]) All Pokemon Spells Boat System (Vermilion - Cinnabar) Gym System NPC's de batalha espalhados pelo mapa Vários outros sistemas que tenho em mente. Changelog do servidor: Prints: Downloads: Servidor > http://www.4shared.com/rar/VAp3P-nwba/xPoketibia_Project.html? Client > http://www.4shared.com/rar/l5iti909ba/Client_xP.html? Source > http://www.4shared.com/rar/Cb_mNAJvba/sources_xP.html? Repositório no GitHub > Quase lá ~~ Créditos: Wend Silva < euBrun 123GabrieltxuDaniel Colaboradores xTibia por alguns códigosAvuenja por está ajudando com o Github é isso Galera vou indo fazendo com o tempo , não me cobrem , tenho vida social também , não é todo o dia que vou está disponível pra mexer no servidor , mas é isso nada de novo , mas apenas outro distro totalmente diferente com source , creio que vai ajudar muitas pessoas que curte o PDA, Lembrando que ele não vai ser livre de bugs , peço ajuda também para a galera que ajudem no projeto com sugestões e relatando os bugs que encontrarem. Thank you ~~1 ponto -
Global Full [CLIENTS COMPATÍVEIS] 10 e 11.5. [BUGS E DOWNLOAD] BAIXEM E REPORTEM EM: OTXGlobal Full [FEATURES] NEW DEPOT, NEW SPAWN, NEW CAST SYSTEM, NEW NPC SYSTEM VIA BANK BALANCE, NEW CRITICAL BOOST SYSTEM, NEW POTIONS, REWARD SYSTEM, PREY ... [MAPA] FULL GLOBAL MAP WITH FEYRIST TODAS CIDADES E NOVAS AREAS TODAS QUESTS FUNCIONANDO! [EVENTS] WAR-ANTIENTROSA [CONTATO] SKYPE: onjogos WHATSAPP: (66) 998427-4493 [Créditos]Tfs 1.2 Developers -Zbizu - Pitis91 - MatheusMkalo - Gesior - Lundrial - M4G0 - Fish04k - Printer - Djarek - Ninjalulz - Slavidodo - Thexamx - Socket2810 - Ciroc -Absolute - Gordonbay - Mitsuig - Alissonfgp - Gunz - Bruno Minervino - Comedinha -Hirako - Maya - Mattyx14 – Darkjav - Viking Tibia1 ponto
-
Bom tarde galera, venho por meio deste tópico, anuncar que, estou terminando de desenvolver um ATS derivado de Tibia.. Um pokémon server.. Bom, vou postar ShowOff, apenas dos sistemas no qual tem no servidor.. Irei resolvendo os Bugs, e então, quando achar que está bom, liberarei o Download do servidor, junto com as devidas sources. Eu tambem, colocarei uma lista do que foi feito no servidor.. Desde bugs, até novos sistemas. enfim.. Bom, como todos sabem, esse servidor contem os sistemas básicos.. Mas ainda não parei para mexer nos sistemas mais simples.. Changelog: Adicionado nas sources: - DoCreatureSetNick - AutoStacking - Modificado a função AddItem (estava bugando por causa do autostacking..) - Adicionado todas as races pokémons. - Modificado a cor da fala dos groups nos channels. - Adicionado Passive e Agressive, igual o PokeXGames. - Adicionado OnSpawn - Adicionado Pokémon Ghost System - Adicionado GetCreaturePathTo - Adicionado CastSpell Adicionado no servidor: - Novo NPC de mudança de Nick do pokémon; - Peguei função do PDA para alterar nomes dos pokémons shinys, e deixado normal. Ex: Antes: Shiny Tangela. Agora: Tangela. - Adptado/Adicionado sistema de vantagem e desvantagem do PDA. - Copiei as passives do PDA e adpatei para o servidor. - Copiei sistema de vantagem e desvantagem do PDA e adpatei para o servidor. - Adptado/Adicionado o Clan System do PDA. - Sistema de Icon (acabei de adicionar só adicionei 1 icon pra testar mesmo) ^^ - Retirados o S no final dos pokémons selvagens. - Ao morrer, aparece descrição no corpse, indicando o monstro que matou e o nome de quem morreu. - Sistemas basicos (surf, ride, blink etc.) por order Mudanças nas configurações do servidor: -Adicionar/fazer moves, basta fazer igual o PDA. Porem, se você baixar um servidor PDA e pegar a script de "pokémon moves" da LIB, e jogar nesse servidor, não irá funcionar ^^ -Adicionar pokémons, tambem é só adicionar como se fosse um PDA. -Adicionarfazer novas evoluções igual o PDA. -Adicionar/fazer novas passives igual o PDA. Otclient: Peguei OTClient na versão 0.6.5; - Fiz a barrinha de moves funcionar.. - Não vou adicionar pokebar - Transparency funcionando Obs: O Old cliente ainda está usavel, pois não extendi o cliente, nem pretendo extender.. Faltando/Em andamento: Arrumar alguns moves Refazer nurse joy Configurar todos os pokémons e balancear Configurar o Clan Sistema Configurar Spells Confgurar sistema de ovos Retirar uns duplicad Itens Arrumar os sistemas basicos(hoje ainda deixo 100%) OBSERVAÇÕES: Eu não irei postar ainda, pois o mesmo está em andamento, tem muitos bugs na qual estou resolvendo. ***Se alguem quiser me ajudar, basta deixar seu contato. ** Não me precionem plis. * Sou lindo - Irei atualizar todos os dias, e colocar prints e atualizações e modificar o nome do topico com a data de atualização. - NÃO irei mexer no mapa, se alguma alma quiser ajudar, pois bem, deixe seu contato e.e - NÃO tem level sistema. e NÃO é PDA. CREDITOS: Zipter OrochiElf Arkz Elwyn GabrielTxu Sobre os creditos, *Eu peguei um ou mais sistemas, alguns destes me tiraram duvidas e sou grato*. PRINTS: Estou desenvolvendo esse servidor exclusivamente para o XTIBIA, e tambem porque quero ver a galera sair da mermisse do PDA..Durante muito tempo, vi gente criando topicos, pra geral juntar e fazer os sistemas do PDA, ou fazer um servidor que chegue no rastro do PDA.. Então, se alguem quiser me ajudar.. Basta me comunicar.. OBS: Sempre verifiquem as atualizações abaixo, que é onde eu irei editar sempre e postar atualizações, abram os spoilers. ATUALIZAÇÕES: 11/10/2015 00:16 Parei para mexer no Design do Client. novo entergame: Atualização *11/10/2015* Atualização *12/10/2015* *Vou upar os Prints das atualizações e colocar no tópico*1 ponto
-
Mapa Slayer Yurots
cenyr reagiu a SamueLGuedes por um tópico no fórum
Bom dia galera do Ékz, eu revirei alguns arquivos meus que guardava, e lembrei que tinha um mapa antigo e bem nostálgico para min. o mapa que irei mostrar hoje, é o Slayer Yurots, esse mapa tem mais de 6 anos de criação, é para aqueles que antigamente jogavam OTs 8.60, e se relembrarem um pouco de suas aventuras. Informações: o mapa contem: 3 citys Hunts Aleatórias Quests Imagens: Download: Link Scan Créditos: Slayer Yurots (Criador do Mapa) Eu (por postar)1 ponto -
1 ponto
-
1 ponto
-
[Show Off] Daniel
Administrador reagiu a Adolfohrq por um tópico no fórum
Excelente trabalho Daniel. Com toda certeza um dos melhores mapas que já vi até hoje. Estamos juntos nessa, parabéns!1 ponto -
[Encerrado] Entrar no mapa
Eden UntraxBR reagiu a SamueLGuedes por um tópico no fórum
verifique se esse tutorial pode te ajudar, Link1 ponto -
Elief City
danrlei5 reagiu a Animal Pak por um tópico no fórum
Tamanho 308Kb Imagens: Download: http://www.speedyshare.com/4xkEm/Peaceful-Town.otbm Scan: https://virusscan.jotti.org/en-US/filescanjob/w5xaq7znid Créditos: Jeffro1 ponto -
Nto Adventure
ElementalOT reagiu a Animal Pak por um tópico no fórum
Imagens: Vídeo mostrando o servidor: https://www.youtube.com/watch?v=zYgpa_HecNo Download: http://www.mediafire.com/download/ii9byg19i013raq/Nto+adventure+server.rar Scan: https://www.virustotal.com/pt/file/cbff46196a1dc5910a08eed94e60f6fbf3dd035064b4b07f788c92439cb7bef0/analysis/1446662526/ Créditos: Nto Adventure Team1 ponto -
Summon Creature
Bague reagiu a MatheusGlad por uma questão
function getContainerItems(containeruid) local items = {} local containers = {} if type(getContainerSize(containeruid)) ~= "number" then return false end for slot = 0, getContainerSize(containeruid)-1 do local item = getContainerItem(containeruid, slot) if item.itemid == 0 then break end if isContainer(item.uid) then table.insert(containers, item.uid) end table.insert(items, item) end if #containers > 0 then for i,x in ipairs(getContainerItems(containers[1])) do table.insert(items, x) end table.remove(containers, 1) end return items end function playerHasItemEquipped(cid, itemuid) if not isPlayer(cid) then return false end for i = CONST_SLOT_FIRST, CONST_SLOT_LAST do if getPlayerSlotItem(cid, i).uid == itemuid then return true end end end function onUse(cid, item, frompos, item2, topos) local dolls = { [11256] = {pet = "Safira"}, [11207] = {pet = "Ashmunrah"}, [11144] = {pet = "Demon"}, [9019] = {pet = "Vampire"}, } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) --------------------------------------------------- local backpack = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK).uid if table.find(getContainerItems(backpack), item.uid) or playerHasItemEquipped(cid, item.uid) then if #summon >= 1 then for _, pid in ipairs(getCreatureSummons(cid)) do doRemoveCreature(pid) doCreatureSay(cid, "Can go rest ["..go.pet.."]", TALKTYPE_ORANGE_1) end return true end doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, "Let battle ["..go.pet.."]", TALKTYPE_ORANGE_1) return true end end Nao testei mas deve funcionar.1 ponto -
Summon Creature
Bague reagiu a MatheusGlad por uma questão
Tem um comando pra god fazer isso ja "/s" mas como ele nao remove: function setGlobalStorageTable(storage, tab) local tabstr = "&" for i,x in pairs(tab) do tabstr = tabstr .. i .. "," .. x .. ";" end setGlobalStorageValue(storage, tabstr:sub(1, #tabstr-1)) end function getGlobalStorageTable(storage) local tabstr = getGlobalStorageValue(storage) local tab = {} if type(tabstr) ~= "string" then return {} end if tabstr:sub(1,1) ~= "&" then return {} end local tabstr = tabstr:sub(2, #tabstr) local a = string.explode(tabstr, ";") for i,x in pairs(a) do local b = string.explode(x, ",") tab[tonumber(b[1]) or b[1]] = tonumber(b[2]) or b[2] end return tab end function onSay(cid, words, param, channel) local pos = getCreaturePosition(cid) local globaltab = getGlobalStorageTable(14023) if not globaltab[param:lower()] or not isCreature(globaltab[param:lower()]) then local monster = doCreateMonster(param, pos) if monster then doConvinceCreature(cid, monster) globaltab[param:lower()] = monster setGlobalStorageTable(14023, globaltab) else doPlayerSendDefaultCancel(cid, (monster == false and RETURNVALUE_NOTPOSSIBLE or RETURNVALUE_NOTENOUGHROOM)) end else doRemoveCreature(globaltab[param:lower()]) globaltab[param:lower()] = nil setGlobalStorageTable(14023, globaltab) end return true end1 ponto -
Summon Creature
Bague reagiu a MatheusGlad por uma questão
Use /create Demon pra sumonar o demon e /create demon denovo pra remover, caso o demon esteja morto ele vai sumonar outro. Funciona com varios monstros ao mesmo tempo. data\talkactions\scripts\nomedoscript.lua: function setGlobalStorageTable(storage, tab) local tabstr = "&" for i,x in pairs(tab) do tabstr = tabstr .. i .. "," .. x .. ";" end setGlobalStorageValue(storage, tabstr:sub(1, #tabstr-1)) end function getGlobalStorageTable(storage) local tabstr = getGlobalStorageValue(storage) local tab = {} if type(tabstr) ~= "string" then return {} end if tabstr:sub(1,1) ~= "&" then return {} end local tabstr = tabstr:sub(2, #tabstr) local a = string.explode(tabstr, ";") for i,x in pairs(a) do local b = string.explode(x, ",") tab[tonumber(b[1]) or b[1]] = tonumber(b[2]) or b[2] end return tab end function onSay(cid, words, param, channel) local pos = getCreaturePosition(cid) local globaltab = getGlobalStorageTable(14023) if not globaltab[param:lower()] or not isCreature(globaltab[param:lower()]) then local monster = doCreateMonster(param, pos) if monster then globaltab[param:lower()] = monster setGlobalStorageTable(14023, globaltab) else doPlayerSendDefaultCancel(cid, (monster == false and RETURNVALUE_NOTPOSSIBLE or RETURNVALUE_NOTENOUGHROOM)) end else doRemoveCreature(globaltab[param:lower()]) globaltab[param:lower()] = nil setGlobalStorageTable(14023, globaltab) end return true end tag: <talkaction access="5" words="/create" event="script" value="nomedoscript.lua"/>1 ponto -
Pequeno erro ao compilar alguem pode me ajudar?
Administrador reagiu a Oneshot por uma questão
Verifique se você baixou o SDK do projeto The Forgotten Server e também o conjunto de libraries do Boost C++. TFS SDK Boost C++ (32-bit, 64-bit) Até mais.1 ponto -
Adicionar limite
Nickbhz reagiu a MatheusGlad por uma questão
Substitui por isso, tem os tres pedidos ai, o item que da mais storage voce muda o id la em baixo no final do mod. <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Loot System" version="1.0" author="Vodkart And Mkalo" contact="xtibia.com" enabled="yes"> <config name="Loot_func"><![CDATA[ info = { OnlyPremium = false, AutomaticDeposit = true, BlockMonsters = {}, BlockItemsList = {10020,5919,5809,5804,5015}, maxSlotsStorage = 32149, defaultMaxSlot = 3, -- deixe false pra desabilitar itemAddValue = 2, -- vai adicionar 2 slots ao usar o item } function setPlayerStorageTable(cid, storage, tab) local tabstr = "&" for i,x in pairs(tab) do tabstr = tabstr .. i .. "," .. x .. ";" end setPlayerStorageValue(cid, storage, tabstr:sub(1, #tabstr-1)) end function getPlayerStorageTable(cid, storage) local tabstr = getPlayerStorageValue(cid, storage) local tab = {} if type(tabstr) ~= "string" then return {} end if tabstr:sub(1,1) ~= "&" then return {} end local tabstr = tabstr:sub(2, #tabstr) local a = string.explode(tabstr, ";") for i,x in pairs(a) do local b = string.explode(x, ",") tab[tonumber(b[1]) or b[1]] = tonumber(b[2]) or b[2] end return tab end function isInTable(cid, item) for _,i in pairs(getPlayerStorageTable(cid, 27000))do if tonumber(i) == tonumber(item) then return true end end return false end function addItemTable(cid, item) local x = {} for i = 1,#getPlayerStorageTable(cid, 27000) do table.insert(x,getPlayerStorageTable(cid, 27000)[i]) end if x ~= 0 then table.insert(x,tonumber(item)) setPlayerStorageTable(cid, 27000, x) else setPlayerStorageTable(cid, 27000, {item}) end end function removeItemTable(cid, item) local x = {} for i = 1,#getPlayerStorageTable(cid, 27000) do table.insert(x,getPlayerStorageTable(cid, 27000)[i]) end for i,v in ipairs(x) do if tonumber(v) == tonumber(item) then table.remove(x,i) end end return setPlayerStorageTable(cid, 27000, x) end function ShowItemsTabble(cid) local str,n = "-- Lista de Loot --\n\n",0 for i = 1,#getPlayerStorageTable(cid, 27000) do n = n + 1 str = str..""..n.." - "..getItemNameById(getPlayerStorageTable(cid, 27000)[i]).."\n" end return doShowTextDialog(cid, 2529, str) end function getContainerItems(containeruid) local items = {} local containers = {} if type(getContainerSize(containeruid)) ~= "number" then return false end for slot = 0, getContainerSize(containeruid)-1 do local item = getContainerItem(containeruid, slot) if item.itemid == 0 then break end if isContainer(item.uid) then table.insert(containers, item.uid) end table.insert(items, item) end if #containers > 0 then for i,x in ipairs(getContainerItems(containers[1])) do table.insert(items, x) end table.remove(containers, 1) end return items end function getItemsInContainerById(container, itemid) -- Function By Kydrai local items = {} if isContainer(container) and getContainerSize(container) > 0 then for slot=0, (getContainerSize(container)-1) do local item = getContainerItem(container, slot) if isContainer(item.uid) then local itemsbag = getItemsInContainerById(item.uid, itemid) for i=0, #itemsbag do table.insert(items, itemsbag[i]) end else if itemid == item.itemid then table.insert(items, item.uid) end end end end return items end function doPlayerAddItemStacking(cid, itemid, quant) -- by mkalo local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid) local piles = 0 if #item > 0 then for i,x in pairs(item) do if getThing(x).type < 100 then local it = getThing(x) doTransformItem(it.uid, itemid, it.type+quant) if it.type+quant > 100 then doPlayerAddItem(cid, itemid, it.type+quant-100) end else piles = piles+1 end end else return doPlayerAddItem(cid, itemid, quant) end if piles == #item then doPlayerAddItem(cid, itemid, quant) end end function AutomaticDeposit(cid,item,n) local deposit = item == tonumber(2160) and (n*10000) or tonumber(item) == 2152 and (n*100) or (n*1) doPlayerSendTextMessage(cid, 23, "{AUTO-LOOT} Collected " .. deposit .. " gold coins sent to your bank account.") return doPlayerDepositMoney(cid, deposit) end function corpseRetireItems(cid, pos) local check = false for i = 0, 255 do pos.stackpos = i tile = getTileThingByPos(pos) if tile.uid > 0 and isCorpse(tile.uid) then check = true break end end if check == true then local items = getContainerItems(tile.uid) for i,x in pairs(items) do if isInArray(getPlayerStorageTable(cid, 27000), tonumber(x.itemid)) then if isItemStackable(x.itemid) then doPlayerAddItemStacking(cid, x.itemid, x.type) if info.AutomaticDeposit == true and isInArray({"2148","2152","2160"},tonumber(x.itemid)) then AutomaticDeposit(cid,x.itemid,x.type) end else doPlayerAddItem(cid, x.itemid) end doRemoveItem(x.uid) end end end end ]]></config> <event type="login" name="LootLogin" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "MonsterAttack") return true end]]></event> <event type="death" name="LootEventDeath" event="script"><![CDATA[ domodlib('Loot_func') function onDeath(cid, corpse, deathList) local killer,pos = deathList[1],getCreaturePosition(cid) addEvent(corpseRetireItems,1,killer,pos) return true end]]></event> <event type="combat" name="MonsterAttack" event="script"><![CDATA[ domodlib('Loot_func') if isPlayer(cid) and isMonster(target) and not isInArray(info.BlockMonsters,string.lower(getCreatureName(target))) then registerCreatureEvent(target, "LootEventDeath") end return true]]></event> <talkaction words="!autoloot;/autoloot" event="buffer"><![CDATA[ domodlib('Loot_func') if info.defaultMaxSlot and getPlayerStorageValue(cid, info.maxSlotsStorage) <= 0 then setPlayerStorageValue(cid, info.maxSlotsStorage, info.defaultMaxSlot) end local t = string.explode(string.lower(param), ",") if info.OnlyPremium == true and not isPremium(cid) then doPlayerSendCancel(cid, "you must be a premium account.") return true elseif not t[1] then ShowItemsTabble(cid) return true elseif tonumber(t[1]) or tonumber(t[2]) then doPlayerSendCancel(cid, "enter !autoloot add,name or !autoloot remove,name") return true elseif isInArray({"add","remove"}, tostring(t[1])) then local func,check = tostring(t[1]) == "add" and addItemTable or removeItemTable, tostring(t[1]) == "add" and true or false local item = getItemIdByName(tostring(t[2]), false) if not item then doPlayerSendCancel(cid, "O item nao existe") return true elseif check == true and isInArray(info.BlockItemsList, item) then doPlayerSendCancel(cid, "Esse item nao é permitido a ser adicionado.") return true elseif isInTable(cid, item) == check then doPlayerSendCancel(cid, "This Item "..(check == true and "already" or "is not").." in your list.") return true elseif check and info.defaultMaxSlot and #getPlayerStorageTable(cid, 27000) >= getPlayerStorageValue(cid, info.maxSlotsStorage) then doPlayerSendCancel(cid, "You cannot add more than " .. getPlayerStorageValue(cid, info.maxSlotsStorage) .. " items in your list.") return true end func(cid, item) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,check == true and "Voce adicionou o item "..t[2].." a sua lista" or "Voce removeu o item "..t[2].." from the list") return true end return true]]></talkaction> <action itemid="5889" event="buffer"><![CDATA[ domodlib('Loot_func') local s = doPlayerRemoveItem(cid,item.itemid,1) if s then setPlayerStorageValue(cid, info.maxSlotsStorage, getPlayerStorageValue(cid, info.maxSlotsStorage)+info.itemAddValue) else doPlayerSendCancel(cid, "Pick up the item first.") end return true ]]></action> </mod>1 ponto -
local tilepos = {x=136, y=48, z=7} -- Posiçao do tile noroeste ( /\ < ) local sq = 3 -- Area 3x3 usar somente numeros impares > 2 local monster = "Demon" local time = 2 -- Tempo em minutos pra desaparecer local tptime = 10 -- tempo em segundos pra desaparecer tp local tppos = {x=135, y=48, z=7} -- lugar do tp local tpdest = {x=134,y=55, z=7} -- destino do tp function getUidsInArea(extr1, extr2) local dat = {} for y = extr1.y, extr2.y do for x = extr1.x, extr2.x do if isCreature(getThingFromPos({x=x, y=y, z=extr1.z, stackpos=255}).uid) then table.insert(dat, getThingFromPos({x=x, y=y, z=extr1.z, stackpos=255}).uid) end end end return dat end function summonAndRemove(monster, pos, t) local function removeCreatureEvent(uid) if isCreature(uid) then doRemoveCreature(uid) end end local uid = doSummonCreature(monster, pos) addEvent(removeCreatureEvent, t*1000, uid) end function createTpAndRemove(pos, topos, t) local function removeTp(pos) pos.stackpos = 1 local thing = getThingFromPos(pos) if thing.itemid == 1387 then doRemoveItem(thing.uid) end end doCreateTeleport(1387, topos, pos) addEvent(removeTp, t*1000, pos) end function onStepIn(cid, item, pos, frompos) if sq < 3 or sq%2 == 0 then return error("SOMENTE NUMEROS IMPARES MAIORES QUE 2") end local uids = getUidsInArea(tilepos, {x=tilepos.x+sq-1, y=tilepos.y+sq-1, z=tilepos.z}) if #uids == 0 then tppos.stackpos = 1 local tpthing = getThingFromPos(tppos) if tpthing.itemid == 1387 then doRemoveItem(tpthing.uid) end for y = tilepos.y, tilepos.y+sq-1 do for x = tilepos.x, tilepos.x+sq-1 do if y == tilepos.y+(sq-1)/2 and x == tilepos.x+(sq-1)/2 then doTeleportThing(cid, {x=x, y=y, z=tilepos.z}) else summonAndRemove(monster, {x=x, y=y, z=tilepos.z}, time*60) end end end addEvent(createTpAndRemove, time*60*1000, tppos, tpdest, tptime) else doTeleportThing(cid,frompos,true) return doPlayerSendCancel(cid, "There is people inside right now.") end end1 ponto
-
[RME] Deixando montanha com Auto-Border
vinicius231 reagiu a FlamesAdmin por um tópico no fórum
Boa tarde, irei mostrar como deixar a montanha com auto-border nos pisos. Vá até a pasta do seu RME, abra o arquivo grounds.xml da versão que você utiliza, procure por: <brush name="mountain" type="ground" Ele vai estar assim: <brush name="mountain" type="ground" server_lookid="918" z-order="9900"> <item id="919" chance="1"/> <border align="inner" to="icy mountain" id="53"/> <border align="inner" to="snowy mountain" id="53"/> <border align="inner" to="none" id="3"/> <border align="outer" to="none" id="51"/> <border align="outer" id="10"/> <border align="inner" id="3"/> <optional id="29"/> </brush> Substitua por esse: <brush name="mountain" type="ground" server_lookid="918" z-order="9900"> <item id="919" chance="1"/> <border align="inner" to="icy mountain" id="53"/> <border align="inner" to="snowy mountain" id="53"/> <border align="outer" to="none" id="29"/> <border align="outer" id="29"/> <optional id="29"/> </brush> Demonstração: Antes sem editar Depois com a edição Simples. Até logo!!!1 ponto -
[Pedido] Spell 8.60 -
Nickbhz reagiu a MatheusGlad por uma questão
O que voce quiz dizer com "encostar"? Ficar do lado do player? Se for isso soh editando a source pra adicionar funçao onWalk, ou fazer uma gambiarra pra ficar dando check de tanto em tanto tempo no player pra ve se tem alguem do lado dele o que pode acabar lagando, posso fazer mas avisei . Segunda spell: Bem deve funcionar: data\spells\scripts\hook.lua: local range = 7 local interval = 50 -- velocidade do projetil em ms. ex: 1 sqm em 50 ms local stepsinterval = 50 -- velocidade de cada passo que a criatura vai dar ate chegar ao player local mindmg, maxdmg = 50, 100 -- min e max dmg em PLAYER, o dobro em monstros local dirs = { [0] = {0, -1}, [1] = {1, 0}, [2] = {0, 1}, [3] = {-1, 0} } function testTimes(pos, range, dir, interval) for i = 1, range do addEvent(doSendAnimatedText, interval*i, {x=pos.x+dirs[dir][1]*i, y=pos.y+dirs[dir][2]*i, z=pos.z}, i, 180) end end function forceWalk(cid, dir, distance, interval) local pos = getCreaturePosition(cid) local function teleportCreatureEvent(cid, topos) if isCreature(cid) then doTeleportThing(cid, topos, true) end end if interval > 0 then for i = 1, distance do addEvent(teleportCreatureEvent, i*interval, cid, {x=pos.x+dirs[dir][1]*i, y=pos.y+dirs[dir][2]*i, z=pos.z}) end else doTeleportThing(cid, {x=pos.x+dirs[dir][1]*distance, y=pos.y+dirs[dir][2]*distance, z=pos.z}) end return true end function isWalkable(pos) pos.stackpos = 1 local tile = getThingFromPos(pos) if not getTileInfo(pos).protection and (tile.itemid == 0 or (not isCreature(tile.uid) and not hasProperty(tile.uid, 0) and not hasProperty(tile.uid, 2) and not hasProperty(tile.uid, 3))) then return true end return false end function onCastSpell(cid, var) local playerpos = getPlayerPosition(cid) local dir = getPlayerLookDir(cid) local distance, target for d = 1, range do local uid = getThingFromPos({x=playerpos.x+dirs[dir][1]*d, y=playerpos.y+dirs[dir][2]*d, z=playerpos.z, stackpos=255}).uid if isCreature(uid) and not getTileInfo({x=playerpos.x+dirs[dir][1]*d, y=playerpos.y+dirs[dir][2]*d, z=playerpos.z}).protection then distance = d target = uid break end if not isWalkable({x=playerpos.x+dirs[dir][1]*d, y=playerpos.y+dirs[dir][2]*d, z=playerpos.z}) then distance = d break end end if distance then doSendDistanceShoot(playerpos, {x=playerpos.x+dirs[dir][1]*distance, y=playerpos.y+dirs[dir][2]*distance, z=playerpos.z}, 2) if target then addEvent(forceWalk, interval*distance, target, (dir+2)%4, distance-1, stepsinterval) addEvent(doTargetCombatHealth, interval*distance, cid, target, COMBAT_PHYSICALDAMAGE, -mindmg*2, -maxdmg*2, nil) end else doSendDistanceShoot(playerpos, {x=playerpos.x+dirs[dir][1]*range, y=playerpos.y+dirs[dir][2]*range, z=playerpos.z}, 2) end --testTimes(playerpos, range, dir, interval) return true end tag: <instant name="Hook" words="fresh meat" lvl="8" mana="1" exhaustion="2000" needlearn="0" event="script" value="hook.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> Como voce nao deixou claro se a criatura atingida pela "arrow" seria "arrastada" ou simplesmente dar teleport eu botei os dois, soh botar o stepsinterval = 0 pra dar teleport O problema eh que nao tem como eu fazer uma funçao pra desativar os movimentos do player enquanto ele esta sendo arrastado, isso pode acabar dando bugs, se for o caso voce vai ter que deixar o stepsinterval = 0 e o player nao vai ser arrastado1 ponto -
Players Broadcast
Sirarcken reagiu a Administrador por um tópico no fórum
Esse sistema foi feito por Mark Samman. Level mínimo, preço da transmissão, tempo entre as transmissões; e como é exibido no bate-papo, pode ser configurado. O sistema foi modificado por Hokku pra 1.1 data/talkactions/scripts/broadcast22.lua local config = { storage = 19400, -- change to an non used storage if u use it cor = "advance", -- No working on TFS 1.1, edit line 21 param tempo = 2, -- in minutes price = 1000, -- price of each bc level = 100 -- lvl requiered to use bc } function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end if getPlayerLevel(cid) >= config.level then if getPlayerStorageValue(cid, config.storage) - os.time() <= 0 then if doPlayerRemoveMoney(cid, config.price) then setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo*60)) Game.broadcastMessage("[ALL] "..getCreatureName(cid)..": "..param.."", MESSAGE_STATUS_CONSOLE_ORANGE) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You have successfully sent a broadcast, now you'll have to wait " ..config.tempo.. " minute(s) until you broadcast again.") else doPlayerSendCancel(cid, "You don't have " ..config.price.. " gp's for broadcasting.") return true end else doPlayerSendCancel(cid, "You have to wait " ..(getPlayerStorageValue(cid, config.storage) - os.time()).. " seconds until you can broadcast again.") return true end else doPlayerSendCancel(cid, "You have to be level " ..config.level.. " or more in order to use broadcast.") end end data/talkactions.xml <talkaction words="/all" separator=" " script="broadcast22.lua"/>1 ponto -
1 ponto
-
[Show Off] SamueLGuedes
SamueLGuedes reagiu a Administrador por um tópico no fórum
Lindos, sensacional sua evolução!1 ponto -
[Show Off] SamueLGuedes
Sematico reagiu a SamueLGuedes por um tópico no fórum
estou testando novos métodos, o que vocês acham?1 ponto -
[Encerrado] [ PEDIDO ] Lista de VPS
subdruid reagiu a Administrador por um tópico no fórum
(serversoft) Recomendo Além disso, não é permitido divulgação de outras empresas na comunidade. O motivo é simples, muita gente é roubada por não confiar em uma empresa profissional como a ServerSoft e reclama aqui (reclamava). Estou disposto a te ajudar no que for preciso, também tenho internet compartilhada. Qual sua dificuldade?1 ponto -
[Encerrado] Entrar no mapa
Eden UntraxBR reagiu a SamueLGuedes por um tópico no fórum
A maioria dos 10.82 é MySQL, mas tente usar assim, no config procure por: -- Database sqlType = "sqlite" sqlHost = "localhost" sqlPort = 3306 sqlUser = "root" sqlPass = "" sqlDatabase = "theforgottenserver" sqlFile = "Styller.s3db" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 encryptionType = "plain" com certeza em seu Config o: sqlType = "sqlite" vai estar mysql, é só mudar para Sqlite, exatamente como esta a cima. e em: encryptionType = "plain" vai estar sha1, mude para plain. caso não funcione, procure por um servidor 10.82 sem mysql.1 ponto -
[Encerrado] Entrar no mapa
Eden UntraxBR reagiu a SamueLGuedes por um tópico no fórum
@@Eden UntraxBR veja se esses tópicos podem te ajudar, eles ensinam a como configurar o xampp e deixar seu otserv Online. Deixe seu Otserv Online com Xampp Video Aula Configurando Xampp1 ponto -
O Primeiro W do site nesse post , está redicionando para outro site rs só pra avisar.1 ponto
-
me bateu uma saudade de spritiar entao como n possuo mais maquina para fazer meus spreites pois me tornei pai e precisei vender meu pc e sair da casa da mamae , fikei sem o pc, entt procurei um app para spritiar , o sprite art, pois como todo app ele eh mto limitado na variedade de cores e os tons q ela possui , alem de n salvar em bmp, entt eu acabei ficando um pouco limitado mas , saiu iso ai! E o forum n tem suport pra colocar a imagem pelo android , ou se tem eu n sei usar , entt eh so ver na galeria q esta nesse site!1 ponto
-
Global Full 8.6 com Rook [UP-LVL]
ariel10 reagiu a MiltonAlvesJr por um tópico no fórum
Bom galera, acabei de fazer umas atualizações no server, e postei o novo link! Com muitos ajustes que estava faltando. Quem tiver alguma duvida, eu posso sanar! Em questão da Premium Account, você compra o Premium Scroll de 15 ou 30 dias no NPC, usa o comando !premium15 ou !premium30 para inserir a Premium desejada. Também inseri ao server o Stamina Elixir, usado para deixar sua Stamina ao máximo novamente! Todas estas opções vocês podem usufruir pelos NPC'S, The Queen em Carlin ou King Tibianus em Thais. vlwww1 ponto -
Seu Ultimo Sprite.
wesleyt10 reagiu a Niickmaster por um tópico no fórum
Não foi comentar nada sobre a sprite que o Breno Neto acabou de publicar logo acima do Mago. Está simplesmente fodaparakaralho!omalucomanjanosparanauêporr@ perfeita.1 ponto
