
Tudo que lordzetros postou
-
something sparkling id 8047
Pode ser utilizado para qualquer tipo de item, isso impede de um player puxar ou pegá-lo. Pelo menos no Tibia funciona dessa forma, ^^.
-
something sparkling id 8047
Na maioria das vezes, sim.
-
Alavanca que troca itens
Olá pessoal da comunidade de Tibia! Bom, hoje trouxe um pequeno e simples script, mas que pode ajudar muita gente. Vi alguns posts referindo aos NPCs que trocam determinados itens por outros, então tive a ideia de fazer algo que possa ter uma função semelhante e que funcione de uma maneira rápida. Fique à vontade em utilizá-la da maneira que quiser. Como funciona? O usuário vai usar a alavanca e irá adicionar um item em troca de outra item que você configurou no script. Em outras palavras, o usuário irá ganhar uma determinada quantidade de um item em troca de outra quantidade de um item diferente. (Tudo configurável) VERSÃO TESTADA: 8.60 - OTX --> Começando... Crie um arquivo com nome de changeItem.lua no diretório data/actions/scripts/ Logo após, adicione esse código dentro do arquivo criado: -- Script por Lordzetros para o forum Tibia King. local config = { itemNec = 2160, -- ID do item que necessita para efetuar a troca qtNec = 50, -- Quantidade do item que necessita para efetuar a troca itemNovo = 10137, -- ID do item que sera adicionado ao efetuar a troca qtNova = 1, -- Quantidade do item que sera adicionado ao efetuar a troca stor = 25869, -- Storage, ou seja, a numeracao que identificara se o usuario fez ou nao fez a quest ainda } function onUse(cid, item, fromPosition, itemEx, toPosition) pos = getPlayerPosition(cid) if getPlayerStorageValue(cid,config.stor) ~= -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"So eh permitido fazer a troca de itens apenas uma vez!") doSendMagicEffect(pos, CONST_ME_POFF) elseif getPlayerStorageValue(cid,config.stor) == -1 then if item.itemid == 1945 then if getPlayerItemCount(cid,config.itemNec) >= config.qtNec then doPlayerAddItem(cid, config.itemNovo,config.qtNova) doPlayerRemoveItem(cid,config.itemNec,config.qtNec) doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Voce acabou de trocar "..config.qtNec.." "..getItemNameById(config.itemNec).." por "..config.qtNova.." "..getItemNameById(config.itemNovo)..".") doSendMagicEffect(pos, CONST_ME_HOLYAREA) setPlayerStorageValue(cid, config.stor, 1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce nao tem "..config.qtNec.." "..getItemNameById(config.itemNec).." para trocar por "..config.qtNova.." "..getItemNameById(config.itemNovo)..".") doSendMagicEffect(pos, CONST_ME_POFF) end end end end Em seguida, abra o arquivo com nome actions.xml que está localizada em data/actions/ E adicione essa linha de código no mesmo: <action actionid="9139" event="script" value="changeItem.lua"/> Preste atenção, pois o actionid será o número que irá colocar na alavanca em seu editor de mapa, ou seja, no caso acima está como 9139, logo, na alavanca terá que está como a seguinte imagem: Obs1.: Reparem que na imagem tem outro número destacado, que é o ID 1945, CERTIFIQUE-SE que a alavanca que irá utilizar no seu OT tenha esse mesmo ID, caso não tenha, basta mudar o número no código do script para o que irá utilizar no seu servidor. Obs2.: O código está configurado para que o usuário efetue a troca APENAS 1 VEZ, caso queira que ele troque quantas vezes quiser, apenas remova o seguinte comando do código: setPlayerStorageValue(cid, config.stor, 1) Obs3.: O resto que tinha que explicar está no próprio código, apenas faça um esforço de ler, agradeço. É isso, pessoal, espero que goste e aproveite. Como falei antes, é um código simples, pois comecei agora com Script, pretendo avançar no nível e funções que os mesmos desempenham, isso é só o começo, leve isso como uma prática de uma atividade para iniciante em scripts.
-
E possível deixar o ot online sem abrir porta no roteador ? sem ser hamachi
Eu não recomendo fazer isso, pois estará dando reset por completo no aparelho, sendo assim, o mesmo ficará sem acesso à internet, já que o técnico é quem configura o aparelho para o servidor que distribui internet para ele. A maneira mais fácil é ele simplesmente ligar para a empresa que fornece o serviço e solicitar o acesso, simples.
-
[Pedido] Clickar Item vira outro item
Crie um arquivo em data/actions/scripts/ chamado de trocaItem.lua com o seguinte código: -- Lordzetros p/ Forum Tibia King local config = { oldItem = 2152, -- ID do item antigo que ira ser transformado oldCount = 100, -- Quantidade necessaria para transformar o antigo item newItem = 2160, -- ID do novo item ao ser transformado 100 unidades newCount = 1, -- quantidade que ira ser adicionado do novo item } function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == config.oldItem and item.type == config.oldCount then doPlayerAddItem(cid,config.newItem,config.newCount) doRemoveItem(item.uid,item.type) doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Voce transformou "..item.type.." "..getItemNameById(item.itemid).." em "..config.newCount.." "..getItemNameById(config.newItem)..".") doSendMagicEffect(getPlayerPosition(cid),25) else return false end return true end E em seguida vá em data/actions e abra actions.xml. Adicione esse código no mesmo: <action itemid="IDdoItemParaTransformar" script="trocaItem.lua" /> IDdoItemParaTransformar -> No script tá 2152, é só alterar para o que você colocou aí, enfim, tá tudo explicado no script. Qualquer dúvida só falar, :).
-
CRIAR PISO VIP
Agora faça o teste, logue com uma conta qualquer, compre o vip e tente passar pelo piso já configurado com o script que citei no post, e claro, não esqueça de alterar os dados, como o storage e uniqueid.
-
[AJUDA] NPC.lua
Teste com este: function onSay(cid, words, param, channel) local func = doCreateMonster if(words:sub(2, 2) == "n") then func = doCreateNpc end local pid, t = cid, string.explode(param, ",") if(t[2]) then pid = getPlayerByNameWildcard(t[2]) if(not pid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[2] .. " not found.") return true end end local position, effect = getCreaturePosition(pid), CONST_ME_MAGIC_RED errors(false) local ret = func(t[1], position) errors(true) if(tonumber(ret) == nil) then effect = CONST_ME_POFF doPlayerSendDefaultCancel(cid, (not ret and RETURNVALUE_NOTPOSSIBLE or RETURNVALUE_NOTENOUGHROOM)) end doSendMagicEffect(position, effect) return true end
-
CRIAR PISO VIP
Se você tá com o item no site, verifica apenas na database os itens que estão pra vender e pegue os dados dele. (no caso o que é responsável por premium).
-
(Resolvido)[HELP-ME] Como criar uma nova moeda?
Esse segundo script tem a mesma função do meu atual changegold.lua, e sobre a primeira pergunta, eu recomendo você utilizar o mais simples, já que tem a mesma função e que talvez, você queira adicionar algo e já estará entendido sobre. Bom, você que sabe, poderá abrir post novo sim tentando entender o script por completo, isso pode ser feito na sessão de Scripts - dúvidas.
-
Erro no Remeres (Mapa não carrega)
1° tem que analisar a versão do seu mapa, se for 8.54, você irá nos seus arquivos data/items/ e pegue o arquivos items.xml e items.otb, copie os mesmos e depois cole na pasta do remere's em determinada versão, como no caso do exemplo, irá lá la pasta do remeres (fica nos arquivos de programas, geralmente), data e lá tem essas versões, apenas jogue os arquivos copiados dentro e substitua. 2° Para mudar a versão trabalhada no remeres, você vai em file>preferences>client version> e em default client version, vocÊ altera para a versão que irá trabalhar.
-
CRIAR PISO VIP
Entendi... mesmo assim, precisamos saber a Storage do vip. Ou então, como supostamente seu servidor deve ter a opção de compra premium no site, analise os dados pelo o mesmo... Consegue sim, colega, tem scripts que determinam o tempo de uso, experiência e tudo mais... Tenho quase certeza que pelo fórum tem códigos semelhantes, caso não tenha, posso ajudar procurando aqui nos meus arquivos também, ^^.
-
(Resolvido)[DÚVIDA] Criação de OTServ
Desejo boa sorte! Valeu!
-
CRIAR PISO VIP
Vish, então aí fica complicado, pode acabar misturando alguma coisa... Tente descobrir o storage, caso não tenha um definido ainda, aqui pelo fórum tem scripts que fazem um determinado item setar um storage, só dá uma pesquisada. A sacada que você pode utilizar é a seguinte: Criar um item que ao player usar ele seta uma storage, com isso você guarda esse storage como storage de vip para ser utilizada no piso. Agora vamos criar o piso que precisa de X storage para passar, lembrando que antes disso o player usou o item e ganhou o X storage, entende até aqui? Em data/movements/scripts crie um arquivo chamado acessoTile.lua e adicione isso dentro dele: function onStepIn(cid, item, position, fromPosition) local sto = 0101010 -- storage do VIP aqui if isPlayer(cid) then if getPlayerStorageValue(cid, sto) >= 1 then doPlayerSendTextMessage(cid, 25, "Seja bem vindo a area vip.") else doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendTextMessage(cid, 25, "Apenas VIPs podem passar!") end end return true end Não esqueça de alterar o storage 0101010 para o X que você quer, um exemplo, 15665, e utilize no máximo 5 dígitos Feche e salve o arquivo. Agora vá em data/movements/ e abra o arquivo movements.xml e dentro dele adicione essa linha de código: <movevent type="StepIn" uniqueid="18956" event="script" value="acessoTile.lua"/> Feito isso, agora repare que temos no segundo código: uniqueid="18956" Você irá utilizar esse número no piso em seu mapa editor. Basta dá 2 clicks no piso que quer colocar para o player passar/não passar e lá tem unique, apenas adicione o número que setou nesse linha de código. Feche o editor, salve e pronto, apenas players com a storage X irá passar no determinado piso que você colocou no seu mapa.
-
CRIAR PISO VIP
Aí é complicado... Pode verificar se na pasta de seu servidor em data/movements/scripts/ tem algum arquivo chamado vipTile.lua?
-
CRIAR PISO VIP
Qual é o storage do donate?
-
(Resolvido)[HELP-ME] Como criar uma nova moeda?
Aqui, colega, temos um post no Fórum sobre isso, espero que entenda.
-
Alguem me ajuda a solucionar acho q simples problemas
Acredito que fere as regras eu passar algum meio de rede social por aqui, já já terei que sair, mas reservo um tempo pra ajudar sim. Ah, só fui mapper uma vez de um servidor Poketibia, então creio que não serei capaz de sanar completamente as dúvidas de uma maneira completa, posso tentar, :). Me envia por mensagem privada um servidor de TS que estarei entrando, \o.
-
[ERRO] Vocations
fromvoc="8" Eu entendo o motivo de ter colocado 8, mas dessa forma está incorreta, é como se tivesse registrando uma nova vocação com as habilidades e magias desconhecidas... Faça o seguinte, se ela for uma evolução do Priest, apenas altere o fromvoc="8" para fromvoc="2" e teste o código.
-
(Resolvido)[DÚVIDA] Criação de OTServ
1- Irei responder pelo o que entendi de sua pergunta, ok? VocÊ pode editar seu servidor em sua casa pelo Windows mesmo, mapa, scripts, itens, etc., o que não poderá fazer sem compilar, é executar o mesmo em sua casa, entende? Por exemplo, no servidor que comprou tem os arquivos items.xml, você editou um item e salvou no teu pc, você pega o teu items.xml do teu PC que editou e joga lá dentro da pasta onde tá hospedado, puft, editado e já pode rodar normalmente. O único problema é esse, você não vai conseguir rodar no teu PC windows, pois tá configurado e compilado para rodar no linux, entende? Mas editar você consegue normalmente e sem problema algum, ^^. É como se você tivesse jogando um arquivo do teu PC no pendrive, saca? 2- Na verdade é bem mais fácil, quando estiver com o painel aberto (o painel que hospeda seu servidor), você não precisa hospedar nada, só jogar o arquivo dentro da pasta e substituir, diretamente do seu PC, :D. 3- Olha, já abri 3 servidores utilizando VPS windows e era horrível esses ataques, depois do Linux, nem notei tanto, tipo, de 20 acontecimentos, 2 era um POUCO de lag devido aos ataques, mas você nem percebe direito... Pelo menos comigo foi assim, :D. Pois é, me economizou tempo resolvendo bugs, erros, etc., foi tudo rápido, :D. Mas como te falei, seja destaque de outros servidores iguais, inovação é tudo.
-
(Resolvido)[DÚVIDA] Criação de OTServ
1- Sim, esse é o problema de alguns gratuitos, na maioria das vezes esses erros vêm acompanhado, e é muito complicado de resolvê-los por completo, por isso que o melhor conteúdo hoje em dia de servidores novos são os pagos, que isso já entra na questão do OTPanel e OTManager, que por sinal são ótimos. 2- Infelizmente não sei te responder sobre tudo, e pra evitar falar alguma asneira e tentar passar por cima, deixarei para pessoas que entendem mais. Só sei que o TFS 0.4 é ótimo, testei e aprovo. 3- Na verdade, a maioria dos servidores utilizam o Linux, e realmente é mais vantajoso. Deve tá se perguntando o motivo, não é? Confira aqui: Obs.: Sobre editar seu servidor na sua máquina 'windows', pode editar sim, agora pra rodar ele em sua casa do jeito que está hospedado e configurado pra Linux, você terá que compilar, aí já é outro +500. Só que, como você quer apenas editar, é totalmente possível de sua casa e depois você só hospeda, eu fazia isso com meu server, ^^. Ah, e tem outra, como eu não fazia modificação em scripts (pois já comprei o servidor pronto e tinha tudo que eu precisava, eu consegui rodar o mapa aqui em casa mesmo, apesar de ter vários erros, foi uma luta, mas consegui, então eu fazia modificação no mapa e testava aqui em casa mesmo, apenas pra hospedar 100%). 4- Bom, sobre o OTPanel não sei te informar, mas comprei e utilizei um servidor do OTManager, minha nota é 9/10. Como eu já comprei pronto, irei te explicar como funcionou comigo, ok? Após ter tudo em mãos, você loga com seu usuário e senha fornecidos pela empresa, e lá estará os arquivos do seu servidor, é bem simples, após ter configurado todo (lá tem um tutorial), apenas um click iniciava meu servidor ou resetava, etc... Servidor que testei (baiak) era ótimo, só o site que era versão antiga, mas consegui resolver esse problema por mim mesmo. Se terá menos dificuldade? Oh, demais!!! O único problema ao meu ver, é que fica tudo padrão, entende? Se você comprou assim, outra pessoa pode comprar também, então faça seu diferencial, assim, fazendo seu servidor ser destaque. Sobre o suporte, desempenho e custo-benefício, eu daria nota 8. 5- Pelo meu entendimento, você estará trabalhando com Mysql quando for utilizar sites, databases hospedadas, etc... Já o SQlite é local, ou seja, database estará dentro de sua pasta e rodará localmente, sendo assim, não tendo suporte para sites. (É uma explicação resumida e amadora, mas é o que acontece). Bom, fique à vontade, pois no que eu puder ajudar, estarei respondendo assim que for possível.
-
Problema com Mysql error
Teste uma por uma.
-
Problema com Mysql error
Está executando uma por uma?
-
Alguem me ajuda a solucionar acho q simples problemas
São itens que tem o mesmo ID, vai no seu items.xml e procure pelos ID's apresentados, modifique-os e pronto. Ah, não se esqueça de certificar que o ID que estará colocando está presente em seu itens.otb, caso contrário, terá que adicioná-lo.
-
Problema com Mysql error
Bom, pelo o que está na mensagem, é apenas uma falta de uma coluna chamada 'skill_critical_hit_chance' em sua database. Para resolver, dei uma pesquisada pelo fórum aqui, e o crédito vai para @Jobs , apenas execute em SQL isso para adicionar as colunas: ALTER TABLE `players` ADD COLUMN `skill_critical_hit_chance` int(10) unsigned NOT NULL DEFAULT 0 ALTER TABLE `players` ADD COLUMN `skill_critical_hit_chance_tries` bigint(20) unsigned NOT NULL DEFAULT 0 ALTER TABLE `players` ADD COLUMN `skill_critical_hit_damage` int(10) unsigned NOT NULL DEFAULT 0 ALTER TABLE `players` ADD COLUMN `skill_critical_hit_damage_tries` bigint(20) unsigned NOT NULL DEFAULT 0 ALTER TABLE `players` ADD COLUMN `skill_life_leech_chance` int(10) unsigned NOT NULL DEFAULT 0 ALTER TABLE `players` ADD COLUMN `skill_life_leech_chance_tries` bigint(20) unsigned NOT NULL DEFAULT 0 ALTER TABLE `players` ADD COLUMN `skill_life_leech_amount` int(10) unsigned NOT NULL DEFAULT 0 ALTER TABLE `players` ADD COLUMN `skill_life_leech_amount_tries` bigint(20) unsigned NOT NULL DEFAULT 0 ALTER TABLE `players` ADD COLUMN `skill_mana_leech_chance` int(10) unsigned NOT NULL DEFAULT 0 ALTER TABLE `players` ADD COLUMN `skill_mana_leech_chance_tries` bigint(20) unsigned NOT NULL DEFAULT 0 ALTER TABLE `players` ADD COLUMN `skill_mana_leech_amount` int(10) unsigned NOT NULL DEFAULT 0 ALTER TABLE `players` ADD COLUMN `skill_mana_leech_amount_tries` bigint(20) unsigned NOT NULL DEFAULT 0 Lembre-se, uma por uma.
-
problema com vocation.xml
Era pra funcionar pelo vocation.xml, tem certeza que tá alterando em todos? Lembre-se que se você alterar só nos 4 primeiros ID's, alguns servidores (dependendo do modo) já começa pelas segundas classes, então não adiantaria de nada. Poste novamente como está seu vocation.xml, por favor. Caso esteja tudo correto, aí você terá que apelar para .lua.