Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 02/17/16 em todas áreas

  1. Depois de muitos pedidos e muita procura acabei compilando o TFS da versão 10.90, está estável. As sources são originais, não houve modificações nelas, apenas os sistemas foram adicionados... Clique Aqui para fazer o download da versão 32 bits.Clique Aqui para fazer o download da versão 64 bits.Clique Aqui para fazer o download das sources. Clique Aqui para o scan de 32 bits.Clique Aqui para o scan de 64 bits.Clique Aqui para o scan das sources. Para usar o Reward Chest adicione a seguinte flag no monstro. <flag rewardchest="1" / Você também pode definir o drop para ser único, dessa forma só a pessoa que fez o maior dano irá obter este item. exemplo: <item id="5903" chance="100000" uniquedrop="1" /><!-- ferumbras' hat --> Na versão final foram corrigidos os bugs das mensagens do Server Log como as de potion e loot. Seguem as screen shots.. Ps: Eu ainda não tinha disponibilizado o download para outros fóruns.. até pq era exclusivo de um outro fórum do mesmo conteúdo.... Se algum ADM tiver alguma duvida sobre os tópicos não autorizados por favor me mandar msg inbox.
  2. Poderia ter ficado na toca, mas enfim, não preciso ser arrogante quanto você para explica-lo. Acho que você poderia ler ou até mesmo estudar um pouco mais e ter a oportunidade de interpretar "Direitos autorais" e "créditos". Enfim vou te ensinar. Direitos autorais são um conjunto de prerrogativas conferidas por lei à pessoa física ou jurídica criadora da obra intelectual, para que ela possa gozar dos benefícios morais e patrimoniais resultantes da exploração de suas criações (Lei 9.610/98). Créditos são nomeações de pessoas que participaram do conjunto do desenvolvimento da obra, seja no conteúdo GNU, seja em um vídeo universitário, em um serviço prestado, onde for. Os créditos (como nomeados pelo criador do tópico) são agradecimentos as pessoas que ajudaram a desenvolver o servidor, ou seja; ao certo deveria dar créditos a remeres map editor, theforgottenserver, autor criador dos mapas, criador dos scripts, a todos que colocaram suas mãos em quaisquer partes do desenvolvimento do download, não há necessidade de tudo isso pois todo mundo já sabe. Agora no que a cipsoft tem créditos no desenvolvimento eu ainda estou procurando rs, como disse NÃO CONFUNDA DIREITOS AUTORAIS COM AGRADECIMENTOS. Mark Samman não é Cabran. Meu intuito é apenas uma resposta limpa e explicativa, arrogâncias serão descartadas. Demais dúvidas, por favor me deixe saber. Passar bem.
  3. [8.54] Servidor + Client Naruto B&W [EXCLUSIVO]

    LoLos reagiu a Eytor por uma resposta no tópico

    1 ponto
    OLÁ USUARIOS DO TIBIA KING .. HOJE ESTAREI TRAZENDO UMA NOVIDADE .. O SERVIDOR DE NTO EXCLUSIVO DO NTO BLACK & WHITE(AKELE OT NOVO QUE FOI CRIADO A 1 MES POR E MIN E POR O [ADM] Johnatan). VALE LEMBRAR QUE O NTO BLACK WHITE FOI UM DOS SERVIDORES DE NARUTIBIA QUE MAIS CRESCEU NOS ULTIMOS TEMPOS .. EM APENAS 1 SEMANA DE NTO JÁ ATINGIMOS A META DE 70 ~ 80 USUARIOS ONLINE FIXOS DIARIOS, E ESSE É O SERVIDOR MAIS RECENTE DO NTO BLACK WHITE BASEADO NO DO SERVIDOR MADARA RINNEGAN EDITADO POR MIN E POR O JOHNATA. ANTES DE MAIS NADA GOSTARIA DE EXPLICAR O MOTIVO DE TAR POSTANDO O SERVER .. BEM O JOHNATAN ERA QUEM FAZIA PRATICAMENTE TUDO NAS ATUALIZAÇÕES E TAALS .. POREM ELE PAROU COM NTO AI TIVE QUE DESMONTAR O NTO B&W PORQUE EU NÃO TINHA CONDIÇÕES PRA DAR CONTA DO NTO SOZINHO. CHEGA DE BLABLA E VAMOS LÁ!! [+] NOVIDADES & CARACTERISTICAS [+] ERROS E BUGS [+] PRINTS DO SERVER [+] DOWNLOAD [+] CREDITOS [+] NOVIDADES & CARACTERISTICAS [+] ERROS E BUGS [+] PRINTS DO SERVER [+] Downloads Servidor Naruto B&W: Clique Aqui Client(descompilado): Clique Aqui [+] Creditos - Madara Rinnegan (servidor base) - [ADM] Johnata Editar Praticamente Todo o Servidor - Eu Por umas Besteiras q eu Coloquei e Por Postar GOSTOU DO SERVIDOR? DA UM REP++
  4. Simple Task 3.0

    1579091 reagiu a Vodkart por uma resposta no tópico

    1 ponto
    08/01/2017 SISTEMA ATUALIZADO PARA 4.0: Mods: NPC domodlib('task_func') local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local msg = string.lower(msg) if isInArray({"task","tasks","missao","mission"}, msg) then npcHandler:say("Me diga o nome do monstro que você deseja fazer a task!", cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if tasktabble[msg] then if CheckTask(cid) ~= true then local contagem = getPlayerStorageValue(cid, tasktabble[msg].storage) if (contagem == -1) then contagem = 1 end if not tonumber(contagem) then npcHandler:say('Desculpe, mas você já terminou a task do '..msg, cid) return true end setPlayerStorageValue(cid, tasktabble[msg].storage_start, 1) npcHandler:say("Parabéns, agora você está participando da missão task do "..msg..", falta matar "..string.sub(((contagem)-1)-tasktabble[msg].count, 2).." "..msg, cid) talkState[talkUser] = 0 else npcHandler:say('Desculpe, mas você já faz parte de uma task!', cid) talkState[talkUser] = 0 end else npcHandler:say('digite o nome correto da missão task! para mais informações digite {!task}', cid) talkState[talkUser] = 1 end elseif isInArray({"receber","reward","recompensa","report","reportar"}, msg) then if CheckTask(cid) then for k, v in pairs(tasktabble) do racetype = k if getPlayerStorageValue(cid,v.storage_start) >= 1 then local contagem = getPlayerStorageValue(cid, v.storage) if (contagem == -1) then contagem = 1 end if not tonumber(contagem) then npcHandler:say('você só pode receber os items uma única vez!', cid) return true end if (((contagem)-1) >= v.count) then for _, check in pairs(configbosses_task) do if string.lower(check.race) == string.lower(racetype) then local on = getPlayersOnline() for i=1, #on do if HavePlayerPosition(on[i], check.FromPosToPos[1],check.FromPosToPos[2]) then selfSay('aguarde alguns instantes, tem pessoas fazendo a task.', cid) return true end end doTeleportThing(cid, check.Playerpos) local function checkArea(cid) if not isCreature(cid) then return LUA_ERROR end if HavePlayerPosition(cid, check.FromPosToPos[1],check.FromPosToPos[2]) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end end addEvent(checkArea, check.time*60*1000, cid) end end local str = "" if v.exp ~= nil then doPlayerAddExp(cid, v.exp ) str = str.."".. (str == "" and "" or ",") .." "..v.exp.." de exp" end if v.money ~= nil then doPlayerAddMoney(cid, v.money) str = str.."".. (str == "" and "" or ",") ..""..v.money.." gps" end if v.reward ~= nil then doAddItemsFromList(cid,v.reward) str = str.."".. (str == "" and "" or ",") ..""..getItemsFromList(v.reward) end npcHandler:say("Obrigado pela sua ajuda Recompensas: "..(str == "" and "nenhuma" or ""..str.."").." por ter completado a task do "..k, cid) setPlayerStorageValue(cid, v.storage, "Finished") setPlayerStorageValue(cid, v.storage_start, 0) setPlayerStorageValue(cid, 521456, getPlayerStorageValue(cid, 521456) == -1 and 1 or getPlayerStorageValue(cid, 521456)+1) finisheAllTask(cid) else npcHandler:say('Desculpe,mas você só matou '..((contagem)-1)..' de '..v.count..' '..k, cid) end end end else npcHandler:say("você não está em nenhuma missão task", cid) end elseif isInArray({"sair","leave","exit"}, msg) then if CheckTask(cid) then talkState[talkUser] = 2 for k, v in pairs(tasktabble) do if getPlayerStorageValue(cid,v.storage_start) >= 1 then storagesair = v.storage_start local contagem = getPlayerStorageValue(cid, v.storage) if (contagem == -1) then contagem = 1 end npcHandler:say('você está participando de uma missão task do '..k..' e já tem '..((contagem)-1)..' '..k..' mortos, deseja mesmo sair?', cid) end end else npcHandler:say("você não está em nenhuma missão task", cid) end elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then setPlayerStorageValue(cid, storagesair, 0) npcHandler:say("Você foi retirado da task com sucesso!", cid) elseif msg == "no" then selfSay("Tudo bem então", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) NPC Ludger.xml <?xml version="1.0"?> <npc name="Ludger" script="data/npc/scripts/simple_task.lua" walkinterval="50000" floorchange="0"> <health now="100" max="100"/> <look type="129" head="95" body="116" legs="121" feet="115" addons="3"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. quer fazer uma {task}? ou {sair} de uma? tambem pode {receber} premios se terminou ela!" /> </parameters> </npc> Como configurar? monster_race={"cyclops","cyclops smith","cyclops drone"} ou seja vai contar nessa task tanto se eu matar um 'cyclops' como matar tbm um 'cyclops drone' storage_start -- n mexa, é para checar se ele está com a task storage -- é o valor da storage para fazer a contagem. obs: não edite count -- é o total de monstro que tem que matar money -- é qnto de dinheiro ele vai receber ao terminar a task, se n quiser colocar pra receber money só remover essa parte exp -- é quanto ele vai ganhar de exp ao terminar a task, se n quiser colocar pra receber exp só remover essa parte reward -- é a lista dos items que ele vai ganhar ao terminar a task, caso não queira que ele receba items só remover essa parte -- configuração bosses -- em mods tem uma tabela chamada 'configbosses_task' configbosses_task = { {race = "minotaur",Playerpos = {x = 189, y = 57, z = 7}, FromPosToPos = {{x = 186, y = 54, z = 7},{x = 193, y = 60, z = 7}},time = 5}, {race = "necromancer",Playerpos = {x = 196, y = 39, z = 7}, FromPosToPos = {{x = 195, y = 37, z = 7},{x = 198, y = 41, z = 7}}, time = 5}, {race = "dragon",Playerpos = {x = 208, y = 59, z = 7}, FromPosToPos = {{x = 206, y = 56, z = 7},{x = 209, y = 65, z = 7}}, time = 5} } race -- é o nome da task que vai ter boss, só olhar dentro dos [""] que vc editou a tabela dos monstros Playerpos -- é pra onde o jogador vai ao entrar no boss FromPosToPos -- nessa parte são duas pos, é o começo da área e o final da área do boss time -- é o limite de tempo em minutos que o jogador vai poder ficar na sala do boss -- configuração recompensas top 10 jogadores terminar todas as TASKS -- ali em mods tem essa tabela: local config = { exp = {true,100000}, -- vai ganhar exp? se true edite a exp money = {true,200000}, -- vai ganhar money? se true edite a qntidade de dinheiro items ={false,{{2124,2},{2173,1}}}, -- vai receber items? se true edite os items dentro da tabela premium ={false,5} -- vai receber premium days? se true edite os dias q vai receber }
  5. Glacier Set dando conditions em área

    shirudev reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Eai galera, esse script eu fiz para um membro aqui do TibiaKing no suporte e achei que ficou bem legal então decidi postar. Explicação: Ao tomar um dano maior que 300, se o player tiver usando a glacier robe, uma área em volta dele vai ser congelada e todos dentro dessa área ficarão com slow. Caso o player estiver com o full glacier set, além do paralyze, as pessoas dentro da área receberão dano de freezing crie um arquivo em creaturescripts\scripts chamado glacierrobe.lua e adicione isso daqui dentro dele agora vá em creaturescripts\scripts e procure um arquivo chamado login.lua. dentro dele coloque isso (de preferencia embaixo dos outros registerCreatureEvent): registerCreatureEvent(cid, "glacierrobe") Lembre-se que se vc quiser repetir isso pra outros set's você tem que repetir todo o processo, tanto no creaturescripts.xml quanto no login.lua no meu server além do set glacier eu uso os outros 3 set's elementais, ficando assim: EDIT:: Algumas imagens pra vocês verem como o script funciona:
  6. Magia que Empurra

    peterson18 reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Bom galera, a um tempo atrás um amigo pediu uma magia que empurrasse e minha primeira iniciativa foi dar uma procura por aí. A maioria dos scripts que eu achei não funcionava, o resto funcionava cheio dos mais variados bugs então eu decidi pegar um desses scripts como base e fazer a magia que empurra. Testado e funcionando em TFS 0.3.6 (Crying Damson). Não lembro de onde eu peguei e nem quem fez porque o autor não colocou créditos no script mas quero deixar bem claro de que 80% dos créditos vão pra esse pessoa, visto que eu apenas me baseei na metodologia dele pra fazer o script funcionar sem bugs Sem mais delongas, vamos ao script: OBS: Ele está 200% funcional, não empurra pra dentro de pz e nem buga de nenhuma forma. Agora no spells.xml adicione: <instant name="Get off here" words="exani grav" lvl="160" mana="500" prem="1" direction="1" exhaustion="2000" needlearn="0" event="script" value="empurrar.lua"> <vocation id="6"/> <vocation id="7"/> <vocation id="5"/> </instant> Faça bom proveito!! EDIT: Algumas imagens pra vocês PS: Dano adicionado pelo membro @Emersonssss ;]
  7. [DOWNLOAD] Poke Zot Atualizado + WebSite

    marcelinho1234 reagiu a Nicrox por uma resposta no tópico

    1 ponto
    Oi, pessoal. Aqui está o server + site que eu estava editando. Adicionei box 10, 11, 12, 13, 14, 15. Editei os mapas e retirei os bugs. Se tiver bugs, pode falar vou arrumar. Download Client MediaFire // 4shared Server MediaFire // 4shared Server sem Website MediaFire // 4shared Download Mapa Editor extendido MediaFire Rep+ Thanks
  8. Gesior Acc Maker Para Tibia 8.60(2.0)

    Cicuta Verde reagiu a ricardo3 por uma resposta no tópico

    1 ponto
    ATENÇÃO!!!! NÃO SEI SE FUNCIONARÁ MAS PARA EVITAR ATAQUES À DATABASE DELETE A PASTA WEBDAV NA PASTA DO XAMPP! Recomendo usar o xampp 1.7.3 para baixa-lo Clique aqui Olá baixei um gesior e resolvi editar tirar alguns bugs etc... este gesior funciona nas versoes 8.60 pra cima! O que tem de novo? Update 2.0 Screen Shot: characters.php modificado: DOWNLOAD: Gesior Acc 8.60 By [ADM] DaNgeR(2.0).rar SCAN: https://www.virustotal.com/file/181723a2883aaf5bd3cc66eeb694db85fb2e1879f10888bdac8d63c0a7f5dcbc/analysis/1334924828/ Créditos: Gesior GM Beckman Walef Xavier [ADM] DaNger - [ADM] Forever -Ricardo 3- Por ter trago sem remover os créditos. QUALQUER ERRO COMENTEM.
  9. [PDA] Arrumando a Dex!

    Loouis reagiu a tioj por uma resposta no tópico

    1 ponto
    Bom galera eu estava tentando arrumar a dex do pda porque quando você tenta adicionar novos pokes de outras gerações eles simplesmente não apareciam na dex ou no comando /dex, bom com essas gambiarras modificações que eu fiz está dando certo e não vejo nenhum erro (até agora). bom vamos as scripts: data>actions>scripts>pokedex.lua substitua todo o arquivo por esse: agora vá em data>creaturescripts>scripts>newpokedex.lua e substitua tudu por esse: function onSay(cid, words, param, channel) if param == "" then doPlayerSendCancel(cid, "Por Favor, digite /dex <name of pokemon> para ver se possui ele em sua dex.") return true end if string.lower(param) == "nidoran" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Type either \"Nidoran Male\" or \"Nidoran Female\".") return true end for a = 1, 479 do if string.lower(param) == string.lower(oldpokedex[a][1]) then if getPlayerInfoAboutPokemon(cid, oldpokedex[a][1]).dex then doShowPokedexRegistration(cid, oldpokedex[a][1]) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Esse pokemon ainda não foi descoberto.") end return true end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Nome errado de pokemon.") return true end agora vá em data>lib>catchsystem.lua e procure essa função \/ function isPokemonInOwnList(cid, poke) if getPlayerInfoAboutPokemon(cid, poke).catch then return true end return false end e por ultimo na pasta lib msmo mude seu pokedex system por esse e essa é quando o player da dex em si mostrando o total de pokes descobertos e seus catchs (catch é mostrado pelo simbolo (.) do lado do nome do poke) ah é claro a newpokedex e oldpokedex do configuration.lua, não se esqueçam de adicionar as storages certinho em! bom se aparecer alguma mensagem assim na distro 'Sheer Cold Faltando' você deve adicionar o move (sheer cold) no arquivo moves.lua da pasta lib Bom é isso galera, não sou scripter tudo que sei aprendiz lendo elas e tentando algumas coisas, se tiver algum erro ou duvida perguntem que eu irei tentar dar suporte o máximo possível e é claro no meu limite de conhecimento das scripts. Bjundao pra todos e bom uso
  10. Precisa estar perto de agua

    gmstrikker reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Fala galera do TibiaKing, pra quem não me conhece eu sou o White Wolf, antigo Night Wolf.. eu venho trazer pra vocês um script que eu to desenvolvendo nas minhas horas vagas e que vai trazer bastante RPG pro server de vocês. Servidor testado: The Forgotten Server 0.3.6 (Crying Damson) Versão do Cliente: 8.45 Explicação: Pra quem já jogou AvaOT/Korelin, deve ter notado que algumas magias da tribo da água necessitam estar perto de água para poderem ser usadas, e foi me baseando nisso que eu criei esse script. É uma magia que ataca os inimigos se estiver com a target e se não estiver com target ela adiciona vida à você, mas precisa estar perto da água para ser usada!! Sem mais delongas, vamos ao script: crie um arquivo chamado waterneeded.lua e coloque em spells\scripts\ --[[ Credits: 30% to Molinero because I used his telekinesis script as base 60% to me (Night Wolf) for doing the rest of the script 10% to the owner of AvaOT for giving me the idea of such thing ~~~FEEL FREE TO EDIT AS YOU WISH, THIS IS JUST A SIMPLE SCRIPT BUT DON'T REMOVE THE CREDITS.~~~ ]] local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, TRUE) function onCastSpell(cid, var) local water = {490, 491, 492, 493, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625} local spot = getPlayerPosition(cid) local nxp = spot.x - 3 local pxp = spot.x + 3 local nyp = spot.y - 3 local pyp = spot.y + 3 local k = 1 local target = getCreatureTarget(cid) for absice = nxp, pxp do for coordinate = nyp, pyp do local pos = {x = absice, y = coordinate, z = spot.z, stackpos = 0} local thing = getThingfromPos(pos) if thing.itemid > 0 then if isInArray(water, thing.itemid) == TRUE then k = k+1 if target == 0 then local CreatureHealth = getCreatureMaxHealth(cid) local lifedraw = math.floor(CreatureHealth /(20*k)) doCreatureAddHealth(cid, lifedraw, 1) doSendAnimatedText(spot, "+"..lifedraw, 18) doSendMagicEffect(pos, 1) doSendMagicEffect(spot, 12) else local tgtpos = getCreaturePosition(target) local life = math.random (200,1000) doCreatureAddHealth(target, -life, COMBAT_LIFEDRAIN) doSendAnimatedText(tgtpos, "-"..life, 89) doSendDistanceShoot(pos, tgtpos, 36) doSendMagicEffect(tgtpos, 53) doSendMagicEffect(pos, 1) return doCombat(cid, combat, var) end end end end end if k ~= nil and k < 2 then doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) doPlayerSendCancel(cid, "You need to be around water to cast this spell..") end return doCombat(cid, combat, var) end OBS1: Perceba que tá bem rudimentar esse script, até porque essa é a primeira versão dele, pretendo melhorar o script com o tempo OBS2: Se você quiser que o script ataque mais de uma vez pra cada water que tiver no mapa substitua na linha 42: return doCombat(cid, combat, var) por doCombat(cid, combat, var) E NÃO ESQUEÇA DE DIMINUIR DO DANO local life = math.random (200,1000) e no spells.xml adicione: ​<instant name="Water Need" words="utura grav vita" lvl="150" mana="300" prem="1" range="4" casterTargetOrDirection="1" blockwalls="1" exhaustion="3000" needlearn="0" event="script" value="waterneeded.lua"> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> Se você curtiu, não remova os créditos.. Sinta-se livre pra melhorar a magia do jeito que você quiser (uma primeira alteração que eu sugiro é mudar o dano e colocar como sendo um math.random do level do player x magicLevel dele, pra magia ter um dano que aumenta com o tempo, e não algo totalmente aleatório). Gostaria de salientar também que essa é a primeira versão de tal script, tem muita coisa pra melhorar e dá pra diminuir esse script consideravelmente, ficaria super feliz se vocês me ajudassem a melhorar isso e remover coisas desnecessárias EDIT: Trouxe algumas imagens pessoal:
  11. Bug's no NPC

    Thunder Black reagiu a vankk por uma resposta no tópico

    1 ponto
    Isso é um problema em suas libs, tente atualiza-las novamente.
  12. 1 ponto
    Então poste os códigos dessas spells para que possamos ajudar-lhe.
  13. SERVER FECHANDO SOZINHO DPS DE ALGUMAS HORAS

    Fear of Dark reagiu a Wakon por uma resposta no tópico

    1 ponto
    @vankk, mal voltou e já está causando novamente... Irei avisar apenas verbalmente dessa vez, dá próxima será negativado e caso ocorra uma terceira vez, irei bani-lo de novo.
  14. vps linux

    Pro Jota reagiu a Absolute por uma resposta no tópico

    1 ponto
    Qual diretório que está a pasta do seu otserver?
  15. 1 ponto
    Aqui não é o Rio de Janeiro amigo, por tanto, respeito com todos.
  16. 1 ponto
    Muito educado você, não tenho culpa dos seus problemas pessoais amigo.
  17. 1 ponto
    Sim é possível declarar um else para cada if, sobre a função no meio da frase, acho que da maneira que eu coloquei deu a entender errado, coloquei essas aspas para citar o nome do shield na frase, então não é necessário colocar as aspas, você abre o texto utilizando ' ou " e caso queira adicionar uma função no meio você fecha ' ou ", adiciona a .. função .., abre o texto de novo e termina de digitar, no final fecha novamente. Exemplo: doPlayerSendCancel(cid, "Aqui é o texto e fecha ".. função aqui .." abre novamente e fecha.") ou utilizando apenas ' doPlayerSendCancel(cid, 'Aqui é o texto e fecha '.. função aqui ..' abre novamente e fecha.') Agora sobre o addEvent, não, pois o addEvent já é "iniciado" assim que manda a magia, sendo assim target do addEvent será o que você lançou a magia. Espero que tenha entendido, não sou muito bom em explicar.
  18. 1 ponto
    Fiz um aqui pra você, veja se lhe agrada: local storage, escudo = 40955, 2520 function onCastSpell(cid, var) local slot1, slot2 = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid, getPlayerSlotItem(cid, CONST_SLOT_LEFT).itemid local target, pos = getCreatureTarget(cid), getCreaturePosition if isPlayer(target) then if slot1 == escudo or slot2 == escudo then setPlayerStorageValue(target, storage, 1) doCreatureSay(target, 'Charged!', TALKTYPE_MONSTER) doSendMagicEffect(pos(target), CONST_ME_STUN) addEvent(function() setPlayerStorageValue(target, storage, -1) doCreatureSay(target, 'Charged lost!', TALKTYPE_MONSTER) doSendMagicEffect(pos(target), CONST_ME_MAGIC_GREEN) end, 4000) else doSendMagicEffect(pos(cid), CONST_ME_POFF) return doPlayerSendCancel(cid, 'Você só pode usar esta magia com o escudo "'.. getItemNameById(escudo) ..'" equiipado.') and false end else doSendMagicEffect(pos(cid), CONST_ME_POFF) return doPlayerSendCancel(cid, 'Você só pode usar em jogadores.') and false end return true end
  19. Transformar Não pega

    Absolute Luffy reagiu a KotZletY por uma resposta no tópico

    1 ponto
    Posta seu transformar.lua e seu vocations.xml agora bota em spolier! xD
  20. 1 ponto
    Essa questão do Yellow Skull foi o que eu tinha dito anteriormente pro Fir3, porem sinceramente eu acho besteira essa função de Yellow Skull. O que realmente acontece @Sekk, é que o jogador que atacar um Pk com a "mãozinha fechada", não recebe o Yellow Skull. OBS: Também recomendo usarem o P.A como sistema VIP, eu por exemplo estou usando essa só pelo fato de mostrar os dias de VIP no client, (no caso a P.A) E outros motivos que.. além de deixar o servidor com mais cara de "sério" né, mas enfim..
  21. You must change your account type AND character type at database.
  22. Evento Automatico

    Sekk reagiu a lenardo88 por uma resposta no tópico

    1 ponto
    vo ver aqui oks nossa cara vdd eu n tinha me atentado kkk, é q estava com pressa acabei batendo e olho e falando mas em fim vlw por me avisar o meu erro oks vc quer q o portal apareça sozinho blz faz o seguinte no arquivo .lua acredito eu que vc coloco invasao.lua que você criou no globalevents, scripts... abre ele, más antes copia ok pq se der errado ai se n vai ser prejudicado, mas em fim vamos la cole isso la: cara eu n sei se está certo testa ae e ve se funciona mais lembre-se o que vai criar e remover o portal é o globalevents então n adianta apenas ativar o raid por comando do GOD
  23. RME BUG

    Killua Fran reagiu a FLC por uma resposta no tópico

    1 ponto
    Amigo, é só aperta CTRL + L ou G e ver qual das opções estava ativada, dai só desativar
  24. vps linux

    Pro Jota reagiu a Absolute por uma resposta no tópico

    1 ponto
    Para matar o processo do servidor digite: killall theforgottenserver ou se tiver aberto em screen, você pode mata-la tb: killall screen Para reiniciar o apache: service apache2 restart
  25. Edição attack spell

    MagmaRoox reagiu a Hoad por uma resposta no tópico

    1 ponto
    Vc pode abaixar o dano das spells mexendo na formula de cada uma das spells (que estão localizadas na pasta data/spells/scripts) ou no arquivo vocations.xml (em data/XML) vc pode reduzir o dano de cada vocação em <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
  26. Edição healing, speed e attack.

    MagmaRoox reagiu a Pandawan. por uma resposta no tópico

    1 ponto
    1º O healing/speed que você diz são das vocações ? Se sim, vá no XML>Vocation e: Para speed você diminui a linha Base Speed ou, caso a speed só cresça muito com a spell procure na pasta Spells>Support>Haste. Para reneração você diminui hpamount e manaamount. 2º Creio que o dano das magias deva ser diminuido de 1 por 1 na pasta Spells>Attack. Se você compartilhar 1 script pra exemplo aqui eu digo qual linha exata deve alterar.
  27. Bug's no NPC

    Thunder Black reagiu a MaTTch por uma resposta no tópico

    1 ponto
    Tente trocar a lib dos seus npcs.
  28. 1 ponto
    tbm estou atrás pelo menos um amostra
  29. Tanker Method

    Breniinx reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Fala galera do TibiaKing, vim trazer pra vocês uma magia bem simpleszinha mas que vai ajudar muita gente com aquelas dúvidas de funções que mudam outfit. Testado e funcionando em TFS 0.3.6 (8.54) Explicação: É uma spell que ao usar muda seu outfit para o de um warmaster (acho q é isso o nome), aumentando seu escudo e sua vida pelo preço de toda a sua mana. É uma spell excelente para servers com bastante RPG pois dá praticamente uma segunda vida ao player e permite que Knights virem exímios blockers nas quests da vida. Coloquei no meu server e graças a essa spell a galera conseguiu fazer a POI depois de quase 6 meses de server. Vale ressaltar que o player não ganha vida, apenas dobra a quantidade máxima e ele tem que healar a quantidade a mais que ele ganhou. spells\scripts\tanker.lua setConditionParam(condition, CONDITION_PARAM_TICKS, 60000) e doSetCreatureOutfit(cid, mtanker, 60000) e doSetCreatureOutfit(cid, ftanker, 60000) da mesma forma que você pode alterar a quantidade de shield e de vida que você ganha ao utilizá-la mas eu tenho razões pra acreditar que a forma atual dela é a ideal. Aqui no meu server ela tá definida para apenas Knights mas vocês podem editar isso a gosto. spells.xml <instant name="tanker" words="uteta gran vita" lvl="220" mana="300" prem="1" aggressive="0" selftarget="1" exhaustion="2000" needlearn="0" event="script" value="tanker.lua"> <vocation id="8"/> </instant> EDIT: Algumas imagens de como a magia funciona:
  30. 1 ponto
    Vlw man A intenção é esta Contra a venda de OTServ's õ/ Sexy é você pow!
  31. (Pedido) Servidor + Client NTO (Atualizados)

    zLockey9 reagiu a Eytor por uma resposta no tópico

    1 ponto
    acho que pedi ajuda com servidor e n conselho.
  32. Darkness Pact Quest

    gmstrikker reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Hoje vou ensinar vocês a fazer uma quest com bastante RPG (e com um pouquinho de esforço talvez o melhor sistema já visto num OTSERV!!) É uma quest que você tem um determinado tempo pra matar um monstro e entrar num teleporte ou a passagem será bloqueada "tá, mas oque difere essa quest de qualquer script de arena que tenha aí pelo fórum?" na verdade nada, mas no meu server eu coloquei um tempo bem ridículo (8 segundos) e é tecnicamente impossível chegar do outro lado. "então você fez uma quest que não dá pra fazer, é isso mesmo?" não meu caro amigo, é uma quest que foi feita pra ser pensada. Um dos players entra na quest e termina ela, daí outro player ativa a alavanca e ele passa.. fazendo com que o pessoal só consiga passar com a ajuda de um amigo. Se você conseguir trabalhar em equipe em prol de um prêmio a sua recompensa é a oportunidade de fazer um pacto com as trevas. "masoque??" isso mesmo que você entendeu, você ganha a chance de abrir mão da sua vida (literalmente) pra receber uma spell nova. ~~ Hoje eu vou ensinar a reproduzirem esse sistema caralhudo no server de vocês: Tudo começa no map editor quando você vai fazer uma área + ou - igual a essa e colocar os seguintes actions/unique ids Agora vamos aos scripts: actions\scripts\newquest.lua Feito isso você vai precisar preparar uma sala aonde o player será teleportado caso ele consiga passar e coloque uma alavanca nessa sala. Na alavanca você deve colocar o actionid 6102 e uma plaquinha explicando sobre o pacto daí você adiciona isso no actions.xml <action actionid="6102" script="alavanca de magia.lua"/> e crie o script 'alavanca de magia.lua' que deverá conter o seguinte: Feito tudo isso agora só falta criar a magia Target Spell que no caso é essa daqui: e colocar no spells.xml: <instant name="Target Spell" words="exevo res" lvl="120" maglv="10" mana="500" exhaustion="3000" prem="0" needlearn="1" script="especiais/seguidor.lua"> <vocation id="6"/> <vocation id="7"/> <vocation id="5"/> <vocation id="8"/> </instant> FIM. Agora você só precisa editar as actions pra rodarem de acordo com as posições do seu server então vamos às explicações: SCRIPT1: local tempo = 8000 ---- tempo até a porta fechar local wall1 = {x=612, y=345, z=7, stackpos=1} -- local da primeira pedra local pos1 = getThingfromPos(wall1) local wall2 = {x=653, y=345, z=7, stackpos=1} --- local da segunda pedra local pos2 = getThingfromPos(wall2) local monster1 = {x=615, y=345, z=7, stackpos=1} --- local que cria o monstro, no caso eu uso o Juggernaut mas vc pode editar dentro do script local posmonster1 = getThingfromPos(monster1) local monster3 = {x=654, y=345, z=7, stackpos=1} --- Ultima posição antes do teleporte, serve pra remover o monstro local idparede = 9788 --- id do obstáculo q será criado local alavanca = {x=610, y=344, z=7, stackpos=1} -- POSIÇÃO DA ALAVANCA local alavancapos = getThingfromPos(alavanca) SCRIPT2: local topos = {x=609, y=345, z=7, stackpos=1} -- posição que vai ser teleportado caso clique na alavanca de 'FAIL QUEST' Espero que vocês tenham curtido Aqui tem mais duas imagens pra vocês Alavanca: Magia: EXPLICANDO A MAGIA: Os morcegos seguem a direção que você tá olhando, se vc tiver um target eles seguem o target.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo