Líderes
-
-
-
-
thelifeofpbion
MembroPontos737Total de itens
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 09/20/17 em todas áreas
-
Tutorial 2 em 1 - Magic e Shoot Effects
Tutorial 2 em 1 - Magic e Shoot Effects
Gabrielx17 reagiu a KotZletY por uma resposta no tópico
1 pontoBom galera, o Tópico já diz tudo, irei explicar como mudar para Uint16 dessa vez nas Source, para quem não sabe. Irei explicar como aumentar em Magic Effects, para assim você seu Server usar mais de 255, e ShootEffects para usar mais de 41 Distance efeitos(muito mais). Existe Tópicos no Tk, porém não é a mesma coisa, esse é diferente pois você irá alterá o valor dos uint's disparados para o Client, para assim então usar além do Padrão! Abaixo umas informações essenciais ! Esse Tópico é especifico para TFS 0.4, para que assim você possa aumentar o limite de efeitos no Client, e usar mais de 255 efeitos, e mais de 41 efeitos em Distância. Vale lembra também que você não é obrigado a mudar em ambos, se você quiser apenas aumentar o Limite de Efeitos para mais de 255, então mude apenas ele, caso queria aumentar apenas os Efeitos que são lançados a distância(ShootEffects ou Distance Effects), caso queria os dois, use ambos. Vamos começar primeiramente com os Magic Effects: Agora vamos mudar o ShootEffects para uint16. Bom não adianta mudar isso se não fizer alteração no Client, então deixarei aqui, dois Tópicos de como mudar de uint8 para uint16 no Client em em ShootEffects e MagicEffect. Mudando os Efeitos de uint8 a 16 para Magic Effects Mudando os Efeitos de uint8 a 16 para Shoot Effects Então é isso ae, qualquer erro só comentar para que eu possar tentar ajudar. Tópico exclusivo do Tk, proibido posta em outro site, blog ou fórum! xD1 ponto -
[Eject System] Expulsar Player Inativo da House
Salve galerinha do TK. Hoje vim trazer um script muito útil e buscado hoje em dia nos otservers, é o sistema de !eject. Como funciona ? Caso o player fica X dias sem logar (configurável) qualquer outro jogador pode chegar na porta da house dizendo o comando !eject, então a house ficará sem dono e em seugida o player poderá compra-la normalmente, dizendo !buyhouse. É um sript simples e que poderá dar lugar e novas houses a jogadores novos, expulsando os jogadores que não logam mais no seu servidor. Nota: o script é vendido em uma "empresa" de open tibia onde estou colocando os créditos , disponibilizando aqui minha adaptação e o scrpit para vocês, achou errado? não gostou? ENTÃO COMPRA LÁ =p Vamos ao que interessa; Abra sua pasta talkactions/scripts e dentro dela crie um arquivo .lua com o nome de: expulse_house.lua e dentro coloque: function onSay(cid, words, param) local position = getPlayerPosition(cid) if getPlayerLookDir(cid) == 0 then positions = {x=position.x, y=position.y-1, z=position.z} elseif getPlayerLookDir(cid) == 1 then positions = {x=position.x+1, y=position.y, z=position.z} elseif getPlayerLookDir(cid) == 2 then positions = {x=position.x, y=position.y+1, z=position.z} elseif getPlayerLookDir(cid) == 3 then positions = {x=position.x-1, y=position.y, z=position.z} end if getHouseFromPos(positions) == false then doPlayerSendTextMessage(cid, 27, "Voce precisa estar na frente a porta da casa para usar o comando.") return true end local days = 5*24*60*60 local own = getHouseOwner(getHouseFromPos(positions)) local qry = db.getResult("SELECT `lastlogin` FROM `players` WHERE `id` = "..own) if(qry:getID() ~= -1) then last = tonumber(qry:getDataInt("lastlogin")) if last < os.time() - days then setHouseOwner(getHouseFromPos(positions), NO_OWNER_PHRASE,true) doPlayerSendTextMessage(cid, 27, "A Casa agora esta sem dono, você ou outro jogador pode compra-la") end if last > os.time() - days then doPlayerSendTextMessage(cid, 27, "O proprierário desta casa ainda está ativo no servidor, tente outra casa.") end end return true end Pós ter feito isto, abra o seu arquivo talkactions.xml e coloque debaixo de uma linha qualquer a seguinte linha: <talkaction words="!eject" event="script" value="expulse_house.lua"/> Pronto. basta o player chegar na porta da casa e dizer !eject, caso o jogador esteja a 5 dias sem logar, os items do antigo dono irão para o DEPOT e a casa ficará sem dono. @Configuração do script: local days = 5*24*60*60 Onde está o número 5 é o tanto de dias que o player tem que ficar sem logar para outro jogador executar o comando. Para alterar para 3 dias, ficaria como exemplo: local days = 3*24*60*60 E assim sucessivamente. Qualquer dúvida não deixe de me comunicar, estarei disposto a ajuda-lo. Créditos: Keilost1 ponto
-
Item que teleporta o player para house
Para quem não sabe como funciona o script : O player usa um certo item e se ele for dono de alguma house ele será teleportado para ela. • Adicionando o script • Em "data/actions/scripts/tphouse.lua" : function onUse(cid, item, fromPosition, itemEx, toPosition) if hasCondition(cid, CONDITION_INFIGHT) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desculpe,voce esta em batalha.") end if getPlayerLevel(cid) < getConfigInfo("levelToBuyHouse") then return doPlayerSendCancel(cid, "Sorry, not possible.") end if not getHouseByPlayerGUID(getPlayerGUID(cid)) then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Desculpe voce nao tem house.") end doTeleportThing(cid, getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))) doRemoveItem(item.uid, 1) return true end Em "data/actions/actions.xml" : <action itemid="7722" event="script" value="tphouse.lua"/> Créditos : MaXwEllDeN por ajudar em algumas funções. • Configurando •1 ponto
-
(Resolvido)Item que teleporta.
(Resolvido)Item que teleporta.
rodrigodias12 reagiu a Dwarfer por uma resposta no tópico
1 pontoEm actions/scripts crie um arquivo: itemteleport.lua Em actions.xml, adicione a tag: <action itemid="ID_DO_ITEM" script="itemteleport.lua"/>1 ponto -
(Resolvido)Item que teleporta.
(Resolvido)Item que teleporta.
rodrigodias12 reagiu a Noninhouh por uma resposta no tópico
1 pontoTente isso, em /actions/scripts/, crie um arquivo .lua e coloque isso dentro: Em /actions/actions.xml coloque essa linha: Altere o nome do arquivo e o id do item.1 ponto -
Boa tarde Preciso de Me ajuda para fazer um cliente
Eu Fui No Executar Coloquei %appdata% Procurei pela pasta Tibia La vai ta Umas Coisas E so paga Tudo Unica Coisa que Nao Pode Paga e O Automap O resto pode paga tudo1 ponto
-
(Resolvido)adicionar "muted" nesse talkaction
@poko360 falta de atenção minha, o erro dele foi ter colocado a função de dar muted depois que o return fecha o bloco, use esse:1 ponto
-
(Resolvido)Sem storage não upa
(Resolvido)Sem storage não upa
Christinacsa reagiu a Dwarfer por uma resposta no tópico
1 ponto1 ponto- Client Unit 16 / Source
1 ponto1 é impossivel você usar uma sourcer 0.4 (8.60) para (8.54) só se você modificar a sourcer ai sim ela ia ler o cliente em 54 mesmo estando na versão 60. 2 você tem que compilar a sourcer,ai ela vai virar um executavel,esse executavel sim que coloca na pasta do Server. 3 se você quer usar isso,ou você migra para 8.60 ou você paga para alguém alterar a sourcer para ela aceitar as extensões de efeitos.1 ponto- (Resolvido)Sair mensagem de Broadcast
(Resolvido)Sair mensagem de Broadcast
JcA reagiu a thelifeofpbion por uma resposta no tópico
1 pontoCRITICAL. local config = { effectonuse = 13, -- efeito que sai levelscrit = 100, --- leveis que terão storagecrit = 48903 -- storage que será verificado } local notallowed = {1,2,3,4} function onUse(cid, item, frompos, item2, topos) if not isInArray(notallowed, getPlayerVocation(cid)) then if getPlayerStorageValue(cid, config.storagecrit) < config.levelscrit then doRemoveItem(item.uid, 1) doSendMagicEffect(topos,config.effectonuse) doPlayerSendTextMessage(cid,22,"You've Leveled your Critical Skill to ["..(getPlayerStorageValue(cid, config.storagecrit)+1).."/100].") setPlayerStorageValue(cid, config.storagecrit, getPlayerStorageValue(cid, config.storagecrit)+1) elseif getPlayerStorageValue(cid, config.storagecrit) >= config.levelscrit then doPlayerSendTextMessage(cid,22,"You've already reached the MAX level of Critical Skill.\nCongratulations!!!!") if getPlayerStorageValue(cid, 37238) < 1 then -- verifica se o valor da storage é menor que um. setPlayerStorageValue(cid, 37238, 1) -- atribui o valor 1 para a storage. definimos a "storage" la em cima. doBroadcastMessage("The player ".. getCreatureName(cid).. " conquered the 100 critical stone. Congratulations!") end return 0 end else doPlayerSendTextMessage(cid,22,"You can't learn this skill because you're "..getPlayerVocationName(cid)..". Your need to promotion for use.") return 0 end return 1 end1 ponto- Equipar item ganhar storage
Equipar item ganhar storage
Mateus Santosss reagiu a Dwarfer por uma resposta no tópico
1 pontoEm movements/scripts crie um arquivo: equipstorage.lua Em movements.xml, adicione: <movevent type="Equip" itemid="ID DO ITEM" slot="SLOT DO ITEM" event="script" value="equipstorage.lua"/> <movevent type="DeEquip" itemid="ID DO ITEM" slot="SLOT DO ITEM" event="script" value="equipstorage.lua"/>1 ponto- [PEDIDO] Servidor narutibia como base
[PEDIDO] Servidor narutibia como base
C H R O N I C L E reagiu a ZoR por uma resposta no tópico
1 pontoSe Te Ajudei me Ajuda com Rep+1 ponto- (Resolvido)[Pedido] Tp em 5hrs
1 pontoCopie um arquivo xml na pasta mods, coloque o código que está no tópico que te passei, salve, renomeie e edite o arquivo conforme seus monstros e posições, seguindo os passos corretamente.1 ponto- Boa tarde Preciso de Me ajuda para fazer um cliente
@rogeriots ambos ensinam o mesmo, mas não é só alterar o ip, tem uma sequência que precisa está correta, caso contrário, vai bugar tudo, se você não pode adicionar ? Então remova os nulls com a diferença de caracteres: aprendi com o primeiro!1 ponto- (Resolvido)[Pedido] Tp em 5hrs
1 pontoDê uma olhada neste tópico: Siga o passo a passo, cuidadosamente, que funcionará.1 ponto- (Resolvido)Npc Crafting
1 pontocrafter.lua Crafter.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Crafter" script="crafter.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="66"/> </npc> Edite as falas e os nomes como queira. Apenas coloquei exemplos para te servir como base.1 ponto- Animação do jutsu não vai em cima
@xdas sei sim, primeiramente desative o capslook, é contra as regras titulos com capslook, tire 2 minutos para ler as regras do fórum.Você tem 24 horas para alterar o titulo do seu tópico. Em relação ao tópico, isso depende do efeito, você deve centralizar a posição onde o efeito vai sair, o que é complicado se você não tiver um conhecimento básico sobre. Mas dando um pequeno exemplo: doSendMagicEffect(getThingPosition(cid), NumeroDoEfeito) Essa função acima manda o efeito na posição do player, porém como dito, depende de como a sprite do efeito foi feito, as vezes não ficam centralizadas, uma das maneiras de centralizar é modificando a pos onde o efeito vai sair, supomos que o efeito precise ir 1sqm para direita para ficar centralizada com o player: local pos = getThingPosition(cid) doSendMagicEffect({x=pos.x+1, y=pos.y, z=pos.z}, NumeroDoEfeito) a pos x é a responsável pelos lados, ao querer mandar algo para direita você aumenta a pos, +1, então irá 1sqm para direita, quer aumentar, isso claro a parti da pos atual do player, supomos que minha pos seja x = 1000, y = 900, z = 7 e eu mande um efeito nessa pos, e o efeito sai do lado, basta centralizar modificando a pos, precisa ir pra esquerda ? Diminua a pos x, ficando x = 999, y = 900, z = 7 caso precise ir para direita basta aumentar como no exemplo mais acima, a pos y é responsável pela pos cima e baixo, caso queira subir o efeito, bastar diminuir a pos y, caso queira descer o efeito, basta aumentar a pos y, e z é responsável pelo floor(andar). Com essa base, você já consegui modificar, entretanto sugiro que você procure pelo fórum mais tutoriais explicando um pouco mais sobre isso, o que tem sobra. Até a próxima!1 ponto- Erro no rme
Erro no rme
Shoupe reagiu a Thayguroficial por uma resposta no tópico
1 pontoAbra seu remeres e vá em: preferences/client version, escolha versão do client e coloque o diretorio do client de seu servidor derivado. Após ter feito isso vá na pasta do seu servidor e copie seu items.otb, abra o Meu computador/Disco Local (C:) e procure a pasta onde foi instalado seu remeres. Abra a pasta data e abra a pasta com a versão do seu client, cole seu items.otb lá e aperta F5 no remeres ou abra seu mapa de novo. Espero ter ajudado!1 ponto- (Resolvido)[DUVIDA] Quantidade de caracteres na Account
(Resolvido)[DUVIDA] Quantidade de caracteres na Account
Johncore reagiu a luanluciano93 por uma resposta no tópico
1 pontoEm system/load.compat.php, procure e edite essa função: function check_account_name($name) { $name = (string) $name; $temp = strspn("$name", "QWERTYUIOPASDFGHJKLZXCVBNM0123456789"); if ($temp != strlen($name)) return false; if(strlen($name) < 1) return false; if(strlen($name) > 32) return false; return true; } Nessa linha tu pode editar o número máximo de caracteres na account: if(strlen($name) > 32) Qualquer dúvida posta ai!1 ponto- [Npc] Upgrade Weapons
1 pontoBom, fiz esse script esses dias, e pensei que poderia ser útil há alguem, ou não. '-' De qualquer forma, a intenção que vale. Como funciona: Ao dizer 'melhorar' ao Npc, ele verificará que item o player tem em mãos (no slot hand), então se o item estiver pré configurado no script, o Npc dirá o que é preciso pra melhorar o item em questão. Caso o player não tenha o material necessário, o npc dirá quantos items o player possui, e novamente, quantos são necessários. Caso tenha os items, sua arma será transformada em uma nova, também pré configurada. Pode-se usar o script pra dar upgrade em armas, armors, helms, etc. basta configurar os ids no script. Vá em Data/Npc, crie um novo arquivo .xml chamado Keny, e cole isso dentro: Salve, e feche. Agora vá em Data/Npc/Scripts, crie um novo arquivo .lua chamado upgradeitems, e cole isso dentro: Salve ambos. Entre em seu servidor, e digite /n Keny, e o teste. Pronto. Explicando o Script: Espero que seja útil a alguém, abraços. Vídeo:1 ponto- (Resolvido)adicionar "muted" nesse talkaction
agora sim, brigadão man, REP+0 pontosLíderes está configurado para São Paulo/GMT-03:00 - Client Unit 16 / Source
Informação Importante
Confirmação de Termo