Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. 3 pontos
    isso que vc quer é exatamente o que é o sistema. Se você separar bem as salas os players sempre vão achar que estão na mesma sala isolados dos outros. A diferença é que nesse aqui vc ainda precisa fazer as salas manualmente, porém é só fazer uma e dar ctrl c e ctrl v até formar uma linha e depois dar ctrl c e ctrl v na linha inteira de salas e fazer as colunas. Se fosse pra criar a sala via script vc tornaria o sistema muito pesado :~ o algoritmo é o mesmo, o que vc vai ter que mudar é as funções do TFS. A lógica é universal, as funções que mudam com as versões. Pega as versões correspondentes e substitui que vai funcionar. não sabia desse bug, eu dificilmente mapeio pros meus scripts então nem imaginava que poderia dar algo assim. Mas agradeço por ter me explicado como resolveu, se outros tiverem esse problema eu já sei que isso pode ser uma sugestão de resolução eficaz. No mais, fico feliz que você tenha gostado do script porém devo avisar que ao criar novas salas você deve sempre manter a proporção entre linhas e entre colunas. Exemplos válidos: x = 3, y = 4 o o o o o o o o o o o o x = 2, y = 6 o o o o o o o o o o o o x = 4, y = 1 o o o o Exemplos inválidos: x = 3, y = 4 o o o o o u o o o u o o Considera o = sala e u = sem sala Se você tentar deixar alguns lugares sem sala e aumentar apenas uma ao invés da linha/coluna inteira ele vai considerar os lugares u como salas válidas e então vai transportar players pra lá e bugar o player ele dá o efeito de ter comido 100 food. Se só adicionasse vc teria que usar bot pra comer as foods e a idéia é fazer algo livre de bot pro povo só ir e largar lá no trainer. Bots spamam ações no jogo e acabam deixando ele lento. Tudo que você puder fazer no seu servidor pra evitar o uso de bots dos players você deve fazer.
  2. Launcher AutoUpdate C#

    premii reagiu a GabrielSapient por uma resposta no tópico

    1 ponto
    Galera sempre procurei um Launcher AutoUpdate para meu servidor, depois de muita pesquisa e pouco conhecimento consegui fazer um em C#, está ai: 1. Download: • Download | • Scan 2. Oque ele faz: • Verifica a existência da versão local na pasta do cliente; • Se a versão do arquivo não existir, ele assume que a versão é "1.0" e cria um arquivo de versão; • Verifica arquivo .xml no servidor de atualização; • Baixar atualizações para todas as versões maiores do que a versão atual do cliente (atualiza tudo em apenas formato de arquivo .zip); • Extrai os arquivos .zip; • Exclui os arquivos .zip após a extração; • Arquiva a versão atualizada na pasta do cliente; • E, finalmente, desbloqueia o botão "Start Game". 3. Como editar: • Abra o arquivo .sln na pasta "VS Project" com o Visual Studio: Procure por: string Server = "http://127.0.0.1/Updates/"; • Altere o http://127.0.0.1/Updates/ para qualquer URL que você estará hospedando suas atualizações. • Agora vamos procurar por: Process.Start("OTClient PkR DX9.exe", "\\Pokémon Rusty"); • Modifique o OTClient PkR DX9.exe pelo nome do .exe do seu Client. • \\Pokémon Rusty e a pasta que está seu .exe e vai ficar seu Launcher. (troque sem tirar os "\\") • No Visual Studio, selecione o controle WebBrowser(Neste caso, o nome "patchNotes") e alterar a url do "http://127.0.0.1/"para o caminho do arquivo index.html, na pasta do host: OBS: Isto á opcional, é apenas um template em .html. Você pode remove-lo e editar da maneira deseja. • Agora apenas jogue o .exe, .dll e o arquivo version da pasta "Launcher\VS Project\Launcher v2\bin\Debug ou Release" para a pasta de seu Client: Pronto! Agora e com o Site. • No host do site, apos colarmos a pasta Updates, editamos o arquivo Updates.xml, para cada atualização adicionamos um <update> fechamos com </update> como no exemplo do arquivo. Colocamos o arquivo atualização em .zip nessa mesma pasta, editando a versão e o nome no arquivo: • No arquivo version.txt colocamos a versão da nova atualização: • Uma dica para o .zip de atualização é colocar em pastas o caminho no client desejado a fazer update. Exemplo: data/things/854 nesta pasta colocaremos os arquivos que será substituído, no exemplo foi Tibia.spr e .dat. Depois compactamos e deixamos na pasta Updates, sem esquecer de colocar o nome no arquivo Updates.xml. 4. Dica • Pronto! Agora e só criar um instalador com o launcher, com atalho na área de trabalho (o launcher é o .exe que você colocou no client). Você pode modificar o launcher do jeito que quiser, o arquivo index.html e etc. Quando abrir o arquivo ele irá atualizar, liberar o botão "Start Game", e quando você clicar vai fechar o Launcher e abrir o Client. 5. Créditos Eu - Pelo launcher e pelo tutorial.
  3. MageBot Scripts/Hotkeys

    joaoluis2411 reagiu a Wakon por uma resposta no tópico

    1 ponto
    Fala ai pessoal, estou trazendo a vocês alguns script's para o MageBot, pra que não sabe o que é ou como ativar, olha esse tópico: http://www.tibiaking.com/forum/topic/53015-utilizando-scripts-no-magebot/ Vamos lá, para instalar você deve ir na pasta do MageBot e criar um arquivo com extensão .lua e o nome desejado, caso não consiga apenas copie e cole um arquivo .lua e renomeie ( um exemplo é runemaker.lua ) depois de jogar na pasta é só ativar seguindo o tutorial que eu passei e lembrar-se de apertar F10 (para atualizar) caso adicione um novo script enquanto já usa outros. Scripts: [Auto SoftBoots] -- Equipa soft boots com % de mana configurável e equipa a boots of haste com % de mana configurável. [Auto EnergyRing] -- Equipa energy ring com % de vida configurável e retira energy ring com % de vida configurável. [ManaTrainer] -- Solta spell com % de mana configurável: [AutoUtitoTempo] -- Script tá bem mal feito ainda, estou explorando as funções para melhorar ele. Solta utito tempo a cada 10 segundos com a mana configurada. Lembrando que os arquivos podem conter qual quer nome, porém tem que ser .LUA e as explicações de como editar cada coisa está nos próprios script's. Bom é isso, estou explorando as funções e caso eu consiga criar algo novo eu posto aqui. Créditos: Lopht -- Funções e bases.
  4. 1 ponto
    Bom a um tempo atras como de costume eu pedi para alguém me ajudar a montar um script onde os players que tiverem guild terem o emblema de guild (de quando começa a war) não to com tempo pra procurar a foto agora, mas é aquele verdinho que fica do lado do char, como ninguém sabia, ou não pode ajudar eu procurei sobre para tentar montar isso e consegui (pelo menos ate agora), vou postar para os ouros membros do meu tópico de ajuda testarem e talvez achar algum bug. obs: só para quem já tem os códigos na distro Finalidade do Script: É bem simples, apenas deixar o escudo verde ativado quando um player tiver uma guild, para identificar seus aliados, mesmo com a war entre guilds desativadas. Para adicionar o script também é bem simples, Basta ir em Data>creaturescript>scripts>login.lua e antes do ultimo return true end voce adiciona isso. Pronto, cada vez que o player logar, vai definir um inimigo (0). ou seja não vai ter inimigo mas sua guild vai ter o emblema verde... Eu consegui essa solução agora de manhã então eu não sei se pode ter bugs, porém pelo que eu pude testar, consegui de boa e também consegui entrar em war com outras guild, sair de war e etc. obs: Eu tava com um problema na minha talkactions de war, quando uma guild que recebia convite para entrar, aceitava mas depois não conseguia sair. só a guild que convidou podia cancelar a guerra entre guild... não sei se isso é normal mas consegui modificar, caso alguém tenha o mesmo problema eu posso passar a talkaction.
  5. Mass Healing

    zuzuka reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Fala galera, hoje vim trazer um script bem simples que eu criei faz um tempo mas vejo que muita gente procura algo do gênero e não encontra então decidi postar. Explicação: É um script de uma spell semelhante às poções do League of Legends, você usa e ela fica recuperando vida por um tempo. Realmente muito útil quando você está caçando e não quer ficar usando exura toda hora. Por ser bem simples eu vou deixar as explicações dentro do próprio script: local config = { cooldown = 15, -- tempo entre uma magia e outra tempo = 10, -- tempo em segundos que ficará healando percent = 5, --- porcentagem da vida que cura storage = 45382, effect = 12 --- efeito que vai sair } function onCastSpell(cid, var) if os.time() - getPlayerStorageValue(cid, config.storage) >= config.cooldown then for i = 1, config.tempo do addEvent(function() if isCreature(cid) then local lifedraw = math.ceil(getCreatureMaxHealth(cid) * (config.percent)/100) local pos = getPlayerPosition(cid) doCreatureAddHealth(cid, lifedraw, 1) doSendAnimatedText(pos, "+"..lifedraw , TEXTCOLOR_GREEN) doSendMagicEffect(pos, config.effect) end end, 1000*i) end doPlayerSetStorageValue(cid, config.storage, os.time()) else doPlayerSendCancel(cid, "Your Mass Healing is at cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, config.storage))).." seconds.") end return true end e no spells.xml <instant name="TK" words="masshealing" lvl="8" mana="40" prem="0" selftarget="1" aggressive="0" exhaustion="1500" needlearn="0" event="script" value="especiais/healingtime.lua"> </instant> Como ela é por addEvent eu teria que fazer um gif pra mostrar o funcionamento mas acho que essa fotinho dá um exemplo de como funciona: ela recupera 5% da vida a cada segundo durante 10 segundos. Espero que gostem e façam bom proveito
  6. Ajuda source 6.5

    alexias157 reagiu a KotZletY por uma resposta no tópico

    1 ponto
    Esta é uma mensagem automática! Este tópico foi movido para a área correta. Pedimos que você leia as regras do fórum. @alexias157 certeza que isso ae é uma source ? Com certeza não é da distro, a extensão desses arquivos são CS, da linguagem C#.
  7. Mass Healing

    leonunesbs reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    na vdd o próprio script tem essa configuração, é essa função aqui: doSendAnimatedText(pos, "+"..lifedraw , TEXTCOLOR_GREEN) dependendo da sua versão a variavel que salva o id da cor verde tem outro nome e por isso no seu servidor não aparece. Vai em data/lib/constant.lua e procura por GREEN. Na versão 0.4 que eu uso em vez de TEXTCOLOR_GREEN ela se chama COLOR_GREEN. Dá uma procurada que você acha
  8. 1 ponto
    Que tal assim? 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 doCreatureSayWithDelay(cid,text,type,delay,e) if delay<=0 then doCreatureSay(cid,text,type) else local func=function(pars) doCreatureSay(pars.cid,pars.text,pars.type) pars.e.done=TRUE end e.done=FALSE e.event=addEvent(func,delay,{cid=cid, text=text, type=type, e=e}) end end function cancelNPCTalk(events) local ret=1 for aux=1,table.getn(events) do if events[aux].done==FALSE then stopEvent(events[aux].event) else ret=ret+1 end end events=nil return(ret) end function doNPCTalkALot(msgs,interval) local e={} local ret={} if interval==nil then interval=3000 end --3 seconds is default time between messages for aux=1,table.getn(msgs) do e[aux]={} doCreatureSayWithDelay(getNpcCid(),msgs[aux],TALKTYPE_PRIVATE_NP,(aux-1)*interval,e[aux]) table.insert(ret,e[aux]) end return(ret) 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 if(msgcontains(msg, 'Bless') or msgcontains(msg, 'bless')) then selfSay('Vejamos, posso vender pra você agora o Comando {bless full} ou {Blessing} e também {Bless PvP}, o que deseja?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'Comando') or msgcontains(msg, 'comando') or msgcontains(msg, 'Bless Full') or msgcontains(msg, 'bless full')) then selfSay('Eu posso vender para você o comando "!bless full". No entanto, ele custa {10.000 gold coin}. Deseja comprar?', cid) talkState[talkUser] = 2 elseif((msgcontains(msg, 'Yes') or msgcontains(msg, 'yes')) and talkState[talkUser] == 2) then if getPlayerStorageValue(cid,834005) == 1 then selfSay('Você já comprou esse comando.', cid) talkState[talkUser] = 0 else if doPlayerRemoveMoney(cid, 10000) == TRUE then selfSay('Pronto! Agora você pode usar o comando {!bless full}', cid) doSendMagicEffect(getPlayerPosition(cid), 49) setPlayerStorageValue(cid, 834005, 1) talkState[talkUser] = 0 else selfSay('Você não tem o dinheiro necessário.', cid) talkState[talkUser] = 0 end end elseif((msgcontains(msg, 'No') or msgcontains(msg, 'no')) and talkState[talkUser] == 2) then selfSay('Sem problemas.', cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  9. Novo Sistema de Trainer [0.36~0.4]

    xWhiteWolf reagiu a Diego Rulez por uma resposta no tópico

    1 ponto
    @xWhiteWolf Vou estar postando duas screen shot, pra você entender melhor e poder ajudar a galera. Correto Incorreto No modelo numero 2 (Incorreto), o trainer invocado pelo sistema não ataca o player que utiliza os trainers.. Caso você sumone o trainer com o GM, ou qualquer outro monster, também não vai funcionar e se você andar extremamente para cima com os monsters na tela, você toma debug. (Isso corre em TFS 0.4, OTX2 e qualquer um baseado em TFS 0.4, nas outras não sei dizer).
  10. Mass Healing

    rogeriomorais reagiu a leonunesbs por uma resposta no tópico

    1 ponto
    Altere na config.lua Procure por "showHealing" e altere para true
  11. tem nao, o dat e spr e custom, se usar oficial vai dar bugs
  12. 1 ponto
    Sim. 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 doCreatureSayWithDelay(cid,text,type,delay,e) if delay<=0 then doCreatureSay(cid,text,type) else local func=function(pars) doCreatureSay(pars.cid,pars.text,pars.type) pars.e.done=TRUE end e.done=FALSE e.event=addEvent(func,delay,{cid=cid, text=text, type=type, e=e}) end end function cancelNPCTalk(events) local ret=1 for aux=1,table.getn(events) do if events[aux].done==FALSE then stopEvent(events[aux].event) else ret=ret+1 end end events=nil return(ret) end function doNPCTalkALot(msgs,interval) local e={} local ret={} if interval==nil then interval=3000 end --3 seconds is default time between messages for aux=1,table.getn(msgs) do e[aux]={} doCreatureSayWithDelay(getNpcCid(),msgs[aux],TALKTYPE_PRIVATE_NP,(aux-1)*interval,e[aux]) table.insert(ret,e[aux]) end return(ret) 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 if(msgcontains(msg, 'Comando') or msgcontains(msg, 'comando')) then selfSay('Vejamos, posso vender pra você agora o Comando {bless full} ou {Blessing} e também {Bless PvP}, o que deseja?', cid) talkState[talkUser] = 1 elseif((msgcontains(msg, 'Bless Full') or msgcontains(msg, 'bless full')) and talkState[talkUser] == 1) then selfSay('O comando "!bless full" custa {10.000 gold coin}. Deseja comprar?', cid) talkState[talkUser] = 2 elseif((msgcontains(msg, 'Yes') or msgcontains(msg, 'yes')) and talkState[talkUser] == 2) then if getPlayerStorageValue(cid,834005) == 1 then selfSay('Você já comprou esse comando.', cid) talkState[talkUser] = 0 else if doPlayerRemoveMoney(cid, 10000) == TRUE then selfSay('Pronto! Agora você pode usar o comando {!bless full}', cid) doSendMagicEffect(getPlayerPosition(cid), 49) setPlayerStorageValue(cid, 834005, 1) talkState[talkUser] = 0 else selfSay('Você não tem o dinheiro necessário.', cid) talkState[talkUser] = 0 end end elseif((msgcontains(msg, 'No') or msgcontains(msg, 'no')) and talkState[talkUser] == 2) then selfSay('Sem problemas.', cid) talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  13. 1 ponto
    Ok, então vejamos. Fiz um aqui sem testar. Vejamos como fica. Começando com o NPC: Ana.xml <?xml version="1.0"?> <npc name="Ana" script="Ana.lua" walkinterval="2000"> <health now="200" max="200" /> <look type="136" head="113" body="65" legs="0" feet="96" addons="2"/> <parameters> <parameter key="message_greet" value="Ola, sou a vendedora de benção desta cidade, você gostaria de verificar minhas lista de {Bless} ou comprar o Comando !bless full?. Diga {Trade}." /> </parameters> </npc> Ana.lua 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 if(msgcontains(msg, 'Trade') or msgcontains(msg, 'trade')) then selfSay('Vejamos, posso vender pra você agora o Comando {!bless full} ou {Blessing} e também {Bless PvP}, o que deseja?', cid) talkState[talkUser] = 1 elseif((msgcontains(msg, '!bless full') or msgcontains(msg, 'bless full')) and talkState[talkUser] == 1) then selfSay('O comando "!bless full" custa {10.000 gold coin}. Deseja comprar?', cid) talkState[talkUser] = 0 talkState[talkUser] = 2 elseif((msgcontains(msg, 'Yes') or msgcontains(msg, 'yes')) and talkState[talkUser] == 2) then if getPlayerStorageValue(cid,834005) == 1 then selfSay('Você já comprou esse comando.', cid) talkState[talkUser] = 0 else if doPlayerRemoveMoney(cid, 10000) == TRUE then selfSay('Pronto! Agora você pode usar o comando {!bless full}', cid) doSendMagicEffect(getPlayerPosition(cid), 49) setPlayerStorageValue(cid, 834005, 1) talkState[talkUser] = 0 else selfSay('Você não tem o dinheiro necessário.', cid) talkState[talkUser] = 0 end end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Agora o comando. Talkaction.xml <talkaction words="!Bless Full;!bless full" script="Bless.lua"/> Bless.lua local bless = {1, 2, 3, 4, 5} function onSay(cid, words, param) for i = 1, table.maxn(bless) do if(getPlayerBlessing(cid, bless[i])) then doPlayerSendCancel(cid, "Você já possui todas as Benções.") return TRUE end end if getPlayerStorageValue(cid,834005) == 1 then for i = 1, table.maxn(bless) do doPlayerAddBlessing(cid, bless[i]) end doCreatureSay(cid, "Você recebeu as Benções dos Deuses!" ,19) doSendMagicEffect(getPlayerPosition(cid), 49) else doPlayerSendCancel(cid, "Você não tem o comando, compre na npc X.") end return TRUE end
  14. config.lua

    apaskasko reagiu a Rusherzin por uma resposta no tópico

    1 ponto
    houseRentPeriod pode ser "daily", "weekly", "monthly" e "annual". houseCleanOld limpa a casa se o cara não logar em X segundos. Botando 0 fica desabilitado, se tu botar 86400 é igual a 24 horas, ou seja, se o jogador ficar 24 horas sem logar, ele vai perder a casa.
  15. config.lua

    apaskasko reagiu a leonunesbs por uma resposta no tópico

    1 ponto
    houseRentAsPrice = true -- O preço das casas deve ser o aluguel? housePriceAsRent = false -- O preço do aluguel deve ser o preço da casa? housePriceEachSquare = 1000 -- Preço por cada sqm da casa houseRentPeriod = "monthly" -- Período de cobrança do aluguel. (daily, weakly, monthly, early)
  16. Criação de Personagem

    egyptPOWER reagiu a leonunesbs por uma resposta no tópico

    1 ponto
    Fataram virgulas, tente agora.
  17. (Resolvido)Background Bugado !

    DigoleraZica reagiu a Rusherzin por uma resposta no tópico

    1 ponto
    Tentei arrumar, testa com esse arquivo. (botei em anexo porque ele tem 900+ linhas e fica difícil de copiar) layout.php
  18. Problemas com IMG do site

    egyptPOWER reagiu a Rusherzin por uma resposta no tópico

    1 ponto
    Pode trocar essa parte: <img src="images/items/1968.gif"> Por isso: <img src="images/items/'.$item['item_id'].'.gif"> Se os ids dos itens estiverem certos na pasta images/items, isso deve funcionar.
  19. ERRO website

    StormsHard reagiu a KotZletY por uma resposta no tópico

    1 ponto
    Esta é uma mensagem automática! Este tópico foi movido para a área correta. Pedimos que você leia as regras do fórum.
  20. Bug na Promotion

    kinomoto reagiu a tetheuscunha por uma resposta no tópico

    1 ponto
    Primeiro olhe em vocations.xml se pra ser a PROMOTE não precisa de premium. Segundo, procure em FORMVOC ="..." Terceiro, vai em lib/031-vocations.xml, e olhe se tem essa linha la function isSorcerer(cid) return isInArray({1, 5}, getPlayerVocation(cid)) end #Se não conseguir localizar nada, poste teu vocations.xml, lib.031-vocations.xml aqui pra mim da uma olhada
  21. [AJUDA COM PISO FALANTE] URGENTE!!

    favaro15 reagiu a tetheuscunha por uma resposta no tópico

    1 ponto
    Explicação do Script local name_of_monster = 'Training Monk' Onde esta Training Monk coloque o nome de um bixo que NUNCA, repito NUNCA vai morrer, senão vai dar erro. ["test1"] = {{x=1027, y=1021, z=7},CONST_ME_ENERGYAREA, 23}, ["test2"] = {{x=1028, y=1021, z=7},CONST_ME_ENERGYAREA, 23}, ["test3"] = {{x=1029, y=1021, z=7},CONST_ME_FIREWORK_YELLOW, 23} As posições e effects #Utilizo ele ha muito tempo no meu ot, não lembro quem fez pra mim.
  22. 1 ponto
    Tudo bem. Faz o seguinte. Me dê as seguintes coisas: - O Script de um comando que você planeja vender. - A ID de um item qualquer que você não use no servidor para por a venda no NPC.
  23. AUTO MENSAGENS

    marcello cordeiro reagiu a Antipush por uma resposta no tópico

    1 ponto
    procure em login.lua if(not isPlayerGhost(cid)) then e adicione abaixo caso nao tenha coloca ele todo completo rep?
  24. AUTO MENSAGENS

    marcello cordeiro reagiu a Antipush por uma resposta no tópico

    1 ponto
    Facil Amigo! em data/npcs crie um arquivo com nome [Server Information] em data/Creaturescript/ procure por login.lua e adicione essa linha no inicio IMPORTE O NPC COM NOME [Server Information] NO RME E COLOQUE ELE EM QUALQUER LUGAR DO MAPA ! TODA VEZ QUE O PLAYER LOGA ELE RECEBERA A MENSAGEM! REP?
  25. 1 ponto
    Olá amigos da Comunidade Tibiaking venho trazer a vocês este tutorial de como compilar o TFS v1.0 em windows 32 or 64 bits com Microsoft Visual Studio 2013 (Obs: Eu uso a 2013 Ultimater Recomendo). Vamos ao tutorial >> 1) Primeito baixe os programas abaixo se não tiver claro: MSVS 2013 >> Click Here http://www.visualstudio.com/downloads/download-visual-studio-vs Agora baixar os Programas do TFS v1.0: TFS Sdk >> Click Here - Link 2: (Mirror) Source Do TFS v1.0 >> Click Here Atenção Baixe apenas a Boost da versão do Pc 32 or 64 Bits. Boost MSVS 2013 32Bits >> Click Here Boost MSVS 2013 64Bits >> Click Here 2) Agora vamos começar a instalar os Programs do TFS v1.0 >> Primeiro instale o Boost 32 or 64Bits No diretorio raiz do seu HD: Print >> Agora coloque o SDK Extraido na raiz do Seu HD: Print >> Faça a mesma coisa com a source do TFS v1.0: Print>> Depois de ter feito tudo isso abra a pasta da source e abra a pasta vc12 e siga a print: ( Obs: Você vera Boost32 isso acontece porque na instalação eu coloquei no diretório como Boost32 (Primeira foto) mas basta você deixar como C:\Boost ( A letra C:\ Refere-se a letrado do seu HD ela pode ser D - H - F e Etc... Varia de Pc a Pc.) ) Print >> Com o Visual Studio (2013 Recomendado) aberto Siga as Prints abaixo: Click com botão direito no projeto e vá em propriedades: Print >> Depois Click em Cofiguration manager: Print >> Vamos as explicações: 1 >> Click la Primeiro Quando abrir a caixa com os passos 2-3 and 4 siga-os abaixo >> 2>> Coloque release e só nada mais. 3>> escolha para qual sistema de 32 or 64Bits. (Lembrado que ali e de acordo com a Boost oks. ) 4>> Só Click lá quando terminar de fazer os passos acima. Rsrs.] ------------------------------------|||||------------------------------- 3) Terceira parte Passos 1 do tutorial vamos lá >> Primeiro agora depois de fazer os passos anteriores faça os seguintes passos Click em C/C++ >>> General e siga a Print: Print>> Caso você não entendeu siga as explicações: Vamos as explicações: 1>> Onde você Deve clicar C/C++ >> General. 2>> Click onde a seta esta apontado e click em edit ou de dois clicks. 3>> Quando abrir a caixa de dialogo deixe os diretórios iguais ao da foto e de um Ok. ( Obs: Você vera Boost32 isso acontece porque na instalação eu coloquei no diretório como Boost32 (Primeira foto) mas basta você deixar como C:\Boost ) Terceira parte passo 2 Click em Linker >> General e siga as Prints >> Prints >> Vamos as explicações: 1>> Onde você deve Clicar depois de fazer os passos anteriores da terceira parte passos 1. Oks. 2>> igual ao passo 2 da parte 1 da terceira parte só que mais explicativo. 3>> Click em Edit e espere abrir a caixa de Dialogo siga a Print 2. Print 2>> Deixe igual a caixa de dialogo onde esta marcado com o 1 Grande Oks. Depois basta da um OK e um Apply e Ok e esperar aparecer Ready >> Print>> Explicações: 1>> Esperar o Ready. 2>> Click com o botão direito no projeto e depois em BuilD. Basta Esperar terminar a compilação e Pronto. Caso o tutorial não tenha sido bem explicativo Posso melhorá-lo a sugestão e depois posto a foto final da compilação Oks. Se quiser me agradecer eu serei grato pois deu trabalho fazer esse tutorial pois bugo algumas vezes. Um grande abraço e fiquem com Deus! Nota: Eu Tenho permissão do autor do tutorial Original em Inglês para criar o post em PT-Br Não e permitido copiar ou reproduzir sem a devida autorização de Dominique120. Não e permitido postar o Faq do mesmo aqui neste tutorial para ver mais informações siga o LINK ou Veja os #créditos. #Creditos: -------------------///------------------ Dominique120 >> Click aqui para ver o tutorial original -------------------///-------------------- ZORAN >> Click aqui para ver o meu perfil
  26. O que são Storages?

    Hankro reagiu a samlecter por uma resposta no tópico

    1 ponto
    Deixa eu ver se entendi, em : if getPlayerStorageValue(cid, 34534) == -1 then está dizendo "caso a storage 34534 do player esteja vazia, faça adiciona item envia mensagem adiciona storage 34534 dai dps de ter feito isso, a storage 34534 do player não estará mais "vazia" pois foi adicionado com o: doPlayerSetStorageValue(cid, 34534, 1) caso ele tente fazer a quest denovo, a storage 34534 dele não estará vazia ( -1 ) estará em uso ( 1 ) é assim? não sei se os termos vazia e em uso estão corretos, mas a ideia de como funciona é assim? Outra dúvida: Como faço para saber se uma storage já está sendo utilizada? e o numero da storage posso colocar qualquer um que não etá sendo usado? exemplo um numero de 10 digitos 9123456701 dai para a proxima q eu for criar, coloco 9123456702
  27. 1 ponto
    "data/movements/scripts/morador.lua" : function onStepIn(cid, item, pos) local townid = 4 if isPlayer(cid) == TRUE then if (item.actionid == 7006) then doPlayerSendTextMessage(cid,22,"Agora voce e morador da cidade " .. getTownName(townId) .. ".") doPlayerSetTown(cid,townid) end end end "data/movements/movements.xml" : <movevent type="StepIn" itemid="1387" event="script" value="morador.lua"/>
  28. 1 ponto
    Clique em IMPORT MAP e coloque o mapa do servidor, o mapa está corrompido por isso não conseguirá abrir em open, mas fazendo este processo não haverá erros e você poderá salva-lo normalmente.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo