Líderes
-
xWhiteWolf
HéroiPontos3605Total de itens -
-
leonunesbs
MembroPontos35Total de itens -
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 06/05/17 em todas áreas
-
Novo Sistema de Trainer [0.36~0.4]
Novo Sistema de Trainer [0.36~0.4]
Radamanthys Wov e 2 outros reagiu a xWhiteWolf por uma resposta no tópico
3 pontosisso 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.3 pontos -
Launcher AutoUpdate C#
Launcher AutoUpdate C#
premii reagiu a GabrielSapient por uma resposta no tópico
1 pontoGalera 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.1 ponto -
MageBot Scripts/Hotkeys
MageBot Scripts/Hotkeys
joaoluis2411 reagiu a Wakon por uma resposta no tópico
1 pontoFala 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.1 ponto -
[creaturescript] Always Green Emblem shield
[creaturescript] Always Green Emblem shield
poko360 reagiu a thelifeofpbion por uma resposta no tópico
1 pontoBom 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.1 ponto -
Mass Healing
Mass Healing
zuzuka reagiu a xWhiteWolf por uma resposta no tópico
1 pontoFala 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 proveito1 ponto -
Ajuda source 6.5
Ajuda source 6.5
alexias157 reagiu a KotZletY por uma resposta no tópico
1 pontoEsta é 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#.1 ponto -
Mass Healing
Mass Healing
leonunesbs reagiu a xWhiteWolf por uma resposta no tópico
1 pontona 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ê acha1 ponto -
(Resolvido)Venda de comandos por NPC, tem como?
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())1 ponto
-
Novo Sistema de Trainer [0.36~0.4]
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).1 ponto -
Mass Healing
Mass Healing
rogeriomorais reagiu a leonunesbs por uma resposta no tópico
1 pontoAltere na config.lua Procure por "showHealing" e altere para true1 ponto -
GLOBAL 100% 7.40 Cliente Proprio, Port Hope 7.4, POI, Demon OaK, War System, Shared Exp, Cast System, Anti Clone, Task System.
tem nao, o dat e spr e custom, se usar oficial vai dar bugs1 ponto
-
(Resolvido)Venda de comandos por NPC, tem como?
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())1 ponto
-
(Resolvido)Venda de comandos por NPC, tem como?
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 end1 ponto
-
config.lua
1 pontohouseRentPeriod 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.1 ponto
-
config.lua
config.lua
apaskasko reagiu a leonunesbs por uma resposta no tópico
1 pontohouseRentAsPrice = 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)1 ponto -
Criação de Personagem
Criação de Personagem
egyptPOWER reagiu a leonunesbs por uma resposta no tópico
1 pontoFataram virgulas, tente agora.1 ponto -
(Resolvido)Background Bugado !
(Resolvido)Background Bugado !
DigoleraZica reagiu a Rusherzin por uma resposta no tópico
1 pontoTentei arrumar, testa com esse arquivo. (botei em anexo porque ele tem 900+ linhas e fica difícil de copiar) layout.php1 ponto -
Problemas com IMG do site
Problemas com IMG do site
egyptPOWER reagiu a Rusherzin por uma resposta no tópico
1 pontoPode 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.1 ponto -
ERRO website
ERRO website
StormsHard reagiu a KotZletY por uma resposta no tópico
1 pontoEsta é uma mensagem automática! Este tópico foi movido para a área correta. Pedimos que você leia as regras do fórum.1 ponto -
Bug na Promotion
Bug na Promotion
kinomoto reagiu a tetheuscunha por uma resposta no tópico
1 pontoPrimeiro 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 olhada1 ponto -
[AJUDA COM PISO FALANTE] URGENTE!!
[AJUDA COM PISO FALANTE] URGENTE!!
favaro15 reagiu a tetheuscunha por uma resposta no tópico
1 pontoExplicaçã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.1 ponto -
(Resolvido)Venda de comandos por NPC, tem como?
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.1 ponto
-
AUTO MENSAGENS
AUTO MENSAGENS
marcello cordeiro reagiu a Antipush por uma resposta no tópico
1 pontoprocure em login.lua if(not isPlayerGhost(cid)) then e adicione abaixo caso nao tenha coloca ele todo completo rep?1 ponto -
AUTO MENSAGENS
AUTO MENSAGENS
marcello cordeiro reagiu a Antipush por uma resposta no tópico
1 pontoFacil 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?1 ponto -
[Tutorial] Compilando TFS v1.0 com MSVC 2013
[Tutorial] Compilando TFS v1.0 com MSVC 2013
Mateus Robeerto reagiu a ZORAN por uma resposta no tópico
1 pontoOlá 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 perfil1 ponto -
O que são Storages?
1 pontoDeixa 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 91234567021 ponto
-
(Resolvido)Action para mudar cidade natal do player
"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"/>1 ponto
-
[AJUDA] RME Unsupported Client Version (8)
[AJUDA] RME Unsupported Client Version (8)
Fabio Leandro reagiu a Absolute por uma resposta no tópico
1 pontoClique 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.1 ponto