[Encerrado] Aulas de .lua focado em NPC

peterson18
em Tópicos Sem Resposta

peterson18

Obscure Ot Server
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/06/12Posts: 18Gênero: Masculino

Boa Noite,


Gostaria de saber se alguém que entenda de script, poderia me dar umas aulas, já tentei ver vídeo aulas mas só consegui aprender o básico  do básico, e os códigos e funções do tíbia são diferentes (Bom, pelome nos ao meu ver).

Então sem mais,  gostaria de saber se alguém  que entenda possa me ajudar me auxiliando. 
Meu interesse é em NPC pois eles são a essência do jogo, eles dão sentido ao jogo, eles que vão carregar o mistério e as curiosidade do server.

 

Obs: A ajuda não seria via tópico e sim skype, discorde, PV, whats.... 

 

Desde já
Grato!

PoRaI

avatar
Administrador
Administrador

INFOS

Grupo: AdministradorRegistrado: 23/07/06Posts: 121Gênero: MasculinoChar no Tibia: Politico

Antes de tudo: Lua é Lua, ponto. A única coisa que pode mudar é a versão do Lua. Recomendo você estudar a linguagem.

https://www.lua.org/manual/5.2/pt/

Esse é o maior tutorial disponível na internet, rs. Se você quiser aprender a programar, é só ler isso e depois usar Lua com as funções do Tibia. Todas as funções que você pode usar estão no arquivo luascript.cpp da sua source. No caso do sistema de NPC, se você quiser entender ele a fundo, você precisa ler o código dele que foi parcialmente escrito em Lua na pasta data/npcs/lib.

peterson18

Obscure Ot Server
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/06/12Posts: 18Gênero: Masculino
3 horas atrás, PoRaI disse:

Antes de tudo: Lua é Lua, ponto. A única coisa que pode mudar é a versão do Lua. Recomendo você estudar a linguagem.

https://www.lua.org/manual/5.2/pt/

Esse é o maior tutorial disponível na internet, rs. Se você quiser aprender a programar, é só ler isso e depois usar Lua com as funções do Tibia. Todas as funções que você pode usar estão no arquivo luascript.cpp da sua source. No caso do sistema de NPC, se você quiser entender ele a fundo, você precisa ler o código dele que foi parcialmente escrito em Lua na pasta data/npcs/lib.

Entendi, eu andei pesquisando e vendo videos, pois não me dou muito bem com apenas "leitura" tenho que ver algo na pratica xD

Mas como eu disse gostaria de alguém que entendesse a linguagem para me dar um help pois tem horas que crio todo o script (para mim esta tudo ok e da erro kkkk) ou seja algo daquela função não deve ser usado daquela maneira, então estou a procura de um "Professor" para me tirar dúvidas e explicar a maneira correta de usar as funções.

Agradeço pela sua atenção.

PoRaI

avatar
Administrador
Administrador

INFOS

Grupo: AdministradorRegistrado: 23/07/06Posts: 121Gênero: MasculinoChar no Tibia: Politico

Você pelo visto nem abriu né? Você não precisa ler. Principalmente nesse manual, eu nunca o li. Ninguém aprende a programar lendo um livro (no máximo em linguagens de baixo nível), as pessoas aprendem com prática/experiência. É só você ir procurando oq você precisa. Você precisa no minimo entender: "COMO PROGRAMAR" o resto são apenas funções que você testa ou vai no manual que ele explica melhor oq cada uma faz, afinal, É UM MANUAL DE COMO PROGRAMAR EM LUA, não um livro de historinha. Os "LONGOS" textos desse manual são apenas explicações do que cada coisa faz na teoria, se você não entender na prática.

peterson18

Obscure Ot Server
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/06/12Posts: 18Gênero: Masculino
10 minutos atrás, PoRaI disse:

Você pelo visto nem abriu né? Você não precisa ler. Principalmente nesse manual, eu nunca o li. Ninguém aprende a programar lendo um livro (no máximo em linguagens de baixo nível), as pessoas aprendem com prática/experiência. É só você ir procurando oq você precisa. Você precisa no minimo entender: "COMO PROGRAMAR" o resto são apenas funções que você testa ou vai no manual que ele explica melhor oq cada uma faz.

Eu abri sim o site, ele é o dicionario do lua, eu assistia as aulas do Cria jogo do youtube ele explicou muito bem as funções básicas mas quando tento colocar em ação com os códigos do tibia acabo me enrolando 

Segue as aulas dele...

 

PoRaI

avatar
Administrador
Administrador

INFOS

Grupo: AdministradorRegistrado: 23/07/06Posts: 121Gênero: MasculinoChar no Tibia: Politico

E qual o problema? Copia um script pronto ou substitui ele e testa. De qualquer forma, um exemplo:

Crie um arquivo em actions/scripts/test.lua com isso:

function onUse(cid, item, fromPosition, itemEx, toPosition)
print("Hello World")
end

Em actions/actions.xml adicione a linha em algum lugar:

<action itemid="2402" event="script" value="test.lua" />

2402 é o Item, quando você der use nele, vai executar o código. Recomendo por um item que não seja multiuse (que não seja item de Use With).

Se deu tudo certo, quando você der use no item, vai aparecer no terminal do seu servidor a mensagem "Hello World".

peterson18

Obscure Ot Server
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/06/12Posts: 18Gênero: Masculino
14 minutos atrás, PoRaI disse:

E qual o problema? Copia um script pronto ou substitui ele e testa. De qualquer forma, um exemplo:

Crie um arquivo em actions/scripts/test.lua com isso:

function onUse(cid, item, fromPosition, itemEx, toPosition)
print("Hello World")
end

Em actions/actions.xml adicione a linha em algum lugar:

<action itemid="2402" event="script" value="test.lua" />

2402 é o Item, quando você der use nele, vai executar o código. Recomendo por um item que não seja multiuse (que não seja item de Use With).

Se deu tudo certo, quando você der use no item, vai aparecer no terminal do seu servidor a mensagem "Hello World".

Cara, que legal seriú eu achava que os comando print tonumber tostreang etc... que ele usava nos videos não funcionava no server 
image.thumb.png.bab51097f4e421175763e9d25b15099a.png

Eu pensava que a biblioteca de códigos era substitui pela do tibia mudando os códigos... (Vejo que fui muito ingenuo )

E a respeito de copiar scripts pronto existe um problema que é não saber como ele funciona, você só sabe o que te passando "Edita ali" "Coloca ali o ID"... Enfim, isso é bem complicado principalmente com NPC, e se eu quiser adicionar mais falas? Ou alguma outra função? So copiar o codigo e colar la não irá funcionar irá dar erro e bugar, pois não sabe como funciona a logica por traz.

PoRaI

avatar
Administrador
Administrador

INFOS

Grupo: AdministradorRegistrado: 23/07/06Posts: 121Gênero: MasculinoChar no Tibia: Politico

Vai testando ué, só testando que você vai descobrir se funciona ou não. Copia um NPC e testa. Teu pc não vai explodir tentando.

peterson18

Obscure Ot Server
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/06/12Posts: 18Gênero: Masculino
2 minutos atrás, PoRaI disse:

Vai testando ué, só testando que você vai descobrir se funciona ou não. Copia um NPC e testa. Teu pc não vai explodir tentando.

Bom, não expliquei direito, eu estou criando um servidor do 0, ou seja estou montando a lore do server, quero que alguns npc tenha algumas funções a mais do que "hi" "buy" "trade" "Travel" "task"... Quero que eles tenham personalidade, e que possam ser dinâmicos, então acho que não daria certo apenas copiar e colar um arquivo de um NPC que vende food e alterar as 2 falas que eles já tem configurado, e se eu quiser que esse npc dê uma quest e também que ele explique algo alem de vender itens...

Marshmello

Alone ~ [✖‿✖]
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/04/16Posts: 831Gênero: Masculino
A questão neste suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.

placa1.png.90a184502351cebe72cd7b69751e551d.png

Meu Facebook

INFOS:

Citar

CIDADE: Rio de janeiro

Idade: 22 anos
SOU: {"Scripter(lua)", "WebMaster", "ProgramadorC++"}
 

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end