
masterowl
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
masterowl deu reputação a Shawii em AutoComplete e Highlight TFS para Notepad++Edit: não sei se estou na sessão certa, sou novo por aqui, se não estiver por favor me mova
E ae!
Fazia um bom tempo que não mexia com OT scripting,
então para me ajudar, fiz um autocomplete e Highlight (marca as funções com cores diferentes) das funções que achei no tópico Lista de Funções LUA
Não é uma coisa que se diga "NOOOSSA QUE FODA MALUCO DO CÉU", mas pode ajudar algumas pessoas que assim como eu não estão acostumadas com o nome das funções do TFS.
Parte 1 - Adicionar o Autocomplete:
Para adicionar o autocomplete basta pegar esse código:
- Vá até o diretório Notepad++\plugins\APIs na pasta onde foi instalado o notepad++
- Copie qualquer arquivo
- Renomeie o novo arquivo para lua
- Substitua seu conteúdo pelo código acima
Pronto, agora é só ativar o autocomplete no notepad++ (caso ainda não esteja ativado, vem off por padrão)
Com o programa aberto entre em Configurações > Preferências > Auto Completar
- Marque a opção "Habilitar Auto Completar para cada entrada"
- Marque a opção "Function and word completion"
e PRONTO autocomplete adicionado com sucesso!
Parte 2 - Adicionar o highlight (marcar as funções com cores diferentes)
- Copie o conteúdo desse spoiler
- Abra o notepad++ e entre em Configurações > Configurador de estilos
- Observe a screenshot e acompanhe os passos:
No menu Linguagem selecione a opção: LUA No menu Local do Estilo selecione a opção: FUNC1 Cole o conteúdo do spoiler no campo "Palavras chave definidas pelo usuário" que está em Branco. Altere a cor se desejar
Clique em salvar & fechar e PRONTO, você adicionou cor ao seu código tornando seu dia como scripter muito mais bonito organizado e gay.
Conforme eu for descobrindo o que cada função faz e seus parâmetros (obrigatórios e opcionais) vou ir documentando pra depois fazer um autocomplete com descrições das funções, quando tiver um bom conteudo nesse sentido volto a postar pra vcs, abraço!
-
masterowl deu reputação a lordzetros em Alavanca que troca itensOlá 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.