DE

Criando !help, Sem Copilar!

Por DeadKennedy, 05 de set. de 2007 em Tutoriais de Scripting

script
10
2.9k
DeadKennedyD
05 de setembro de 2007 às 19:31

Acha chato repetir a mesma coisa o tempo todo?

King CPI[320]:vai lah e pimba!

King CPI[320]:vai lah e pimba!

King CPI[320]:vai lah e pimba!

King CPI[320]:vai lah e pimba!

you are muted =/

 

detalhe: eu testei com NTS Starter Kit(todoas as versões até 0.4), mas acho que funciona em todas as

versões que possuem talkactions.

 

Faça assim ó:

1º Passo: vá na pasta data/talkaction/scripts.

copie qualquer script e renomeie "help.lua"

delete tudo e cole isso

-- Help system by KingCPI
function onSay(cid, words, param)
if string.lower(param) == '0' then
txtid = "0"
txt = "Option not found."
elseif string.lower(param) == '1' then
txtid = "1"
txt = "mto loko 1"
elseif string.lower(param) == '2' then
txtid = "2"
txt = "mto loko 2"
elseif string.lower(param) == '3' then
txtid = "3"
txt = "mto loko 3"
elseif string.lower(param) == '4' then
txtid = "4"
txt = "mto loko 4"
elseif string.lower(param) >= '5' then
txtid = "5"
txt = "Option not found."

end
if txtid < "5" and txtid > "0" then
doShowTextDialog(cid, 6087, txt)
elseif txtid >= "5" or txtid == "0" then
doPlayerSendCancel(cid,txt)
end
end

 

onde está o valor txt

coloque o o texto que o player vai ler.

o maximo de helps nesse script é 4!

 

Onde está

"elseif string.lower(param) >= 'número' then"

obs: onde está 'número' leia-se o número em si ,descrito no script(1,2,3)

onde está 'número' eh o que o player irá fala depois de "(aspas)

 

exemplo(como está no script):

lokinda BR says:!help "1

irá aparecer a lanela com o texto "mto loko 1"

 

2º Passo: vá na pasta data/talkactions/talkactions.xml

no final, antes de </talkactions> adicione:

<talkaction words="!help" script="help.lua" />-- Help sys by KingCPI

 

--------------------PERGUNTAS FREQUENTES------------------------

1º: pra que server isso?

pra facilitar, ao falar "!help '1" aparecerá a janela com o texto

"mto loko 1", isso vc pode mudar, claro.

 

2ºnão funfo no meu ot pq?

seu ot não deve ter a função

doShowTextDialog

abra o help.lua aperte ctrl+h

e digite na 1ª linha

doShowTextDialog

na 2ª linha:

doPlayerSendTextMessage

aperte em "substituir todos", espere terminar, salve e feche o arquivo.

 

3º Posso almentar o nº de helps???

CLARO, aki vc eh quem manda!!!

faça o seguinte:

copie isto(parte1)

elseif string.lower(param) == '?' then

txtid = "?"

txt = "texto!"

no lugar de "?" coloque um nº a mais que o

do "elseif""anterior.

 

coloque em baixo disto(parte2)

elseif string.lower(param) == '4' then

txtid = "4"

txt = "mto loko 4"

lembrando que 4 é o ultimo nº válido como help.

 

modifique isto(parte3)

elseif string.lower(param) >= '5' then

txtid = "5"

txt = "Option not found."

(parte4)

if txtid < "5" and txtid > "0" then

doShowTextDialog(cid, 6087, txt)

elseif txtid >= "5" or txtid == "0" then

doPlayerSendCancel(cid,txt)

end

end

o nº 5, deve ser substituido pelo ultimo nº válido de help

exemplo de script com 5 helps:

-- Help system by KingCPI

function onSay(cid, words, param)

if string.lower(param) == '0' then

txtid = "0"

txt = "Option not found."

elseif string.lower(param) == '1' then

txtid = "1"

txt = "mto loko 1"

elseif string.lower(param) == '2' then

txtid = "2"

txt = "mto loko 2"

elseif string.lower(param) == '3' then

txtid = "3"

txt = "mto loko 3"

elseif string.lower(param) == '4' then

txtid = "4"

txt = "mto loko 4"

elseif string.lower(param) == '5' then

txtid = "5"

txt = "mto loko 5"

elseif string.lower(param) >= '6' then

txtid = "6"

txt = "Option not found."

 

end

if txtid < "6" and txtid > "0" then

doShowTextDialog(cid, 6087, txt)

elseif txtid >= "6" or txtid == "0" then

doPlayerSendCancel(cid,txt)

end

end

 

 

Prontin, ajude os caras dizendo:

noob[1]: ajuda eu plx como viaja?

King CPI[320]:fala !help e já era.

 

Gostou? usa iso na sua assinatura:

kingcpifanth5.png

link: http://img107.imageshack.us/img107/207/kingcpifanth5.png

me faça feliz e ganhe mais tutoriais!

 

Bye

Editado Setembro 10 por KingCPI

upkingU
05 de setembro de 2007 às 20:10

mt bom

 

;)

 

Gostou? usa iso na sua assinatura:

kingcpifanth5.png

link: http://img107.imageshack.us/img107/207/kingcpifanth5.png

me faça feliz e ganhe mais tutoriais!

 

Bye

 

eu diria que nao se ganha fans por causa de 1 tutorial

DeadKennedyD
06 de setembro de 2007 às 08:57

@upking

eu diria que nao se ganha fans por causa de 1 tutorial

mas se ganha tutoriais sendo meu fan ;D

 

 

@capeta7

po cara, que nome ein ;D

quandi disse que se ganha tutoriais sendo meu fan, eu quis dizer que quanto mais gostarem

do meu trabalho, mais eu postarei, então quanto mais fans, mais trabalhos!

 

entendeu?

Editado Setembro 7 por KingCPI

capeta7C
06 de setembro de 2007 às 22:54

@king cpi

aseiuhasieuaseh boa essa =DD

mas me diga uma coisa,

como vc da um tutorial ?

 

@upking

n ganha fan por 1 tutorial, mas se fizer uns 5 tutoriais todos bem feitos e que t ajudem bastante ganha sim, e nao sendo puxa-sako dos que tem bastante post ¬¬

eu sou fan de quem eu sou pq me ajudaram e n pq teem bstante post...

quase todo mundo eh fan de quem tem 4000+ posts, LOL

 

@topic

mto bm elaborado se tuto kara

soh que n da pra entender mto bm a funçao...

oq eh pra ser essa script ?

mas o tuto tah bom.. posta versao ae ...

Conde SapoC
07 de setembro de 2007 às 00:47

Parabéns pela idéia

 

mas achei q faltou explicar mais

 

e encontrei alguns errinhos :

 

exemplo(como está no script):
lokinda BR says:!move "1
irá aparecer a lanela com o texto "mto loko 1"

!move ou !help ????

 

Onde está "elseif string.lower(param) >= 'número' then"

não tem isso

 

o maximo de helps é 4!

Não existe limite.

basta incluir + "elseif"

 

no lugar de

if txtid < "5" and txtid > "0" then
doShowTextDialog(cid, 6087, txt)
elseif txtid >= "5" or txtid == "0" then
doPlayerSendCancel(cid,txt)
end

usar

if txtid < "5" and txtid > "0" then
doShowTextDialog(cid, 6087, txt)
else
doPlayerSendCancel(cid,txt)
end

 

doShowTextDialog

Muitos server não tem esse comando

(o meu por exemplo)

substitua por :

doPlayerSendTextMessage ou outro seja aceito em qualquer versão.

Editado Setembro 7 por Conde Sapo

DeadKennedyD
07 de setembro de 2007 às 16:47
Parabéns pela idéia

valew =D

------------------------------------

exemplo(como está no script):

lokinda BR says:!move "1

irá aparecer a lanela com o texto "mto loko 1"

!move ou !help ????

realmente, pirei errado =D

------------------------------------

Onde está "elseif string.lower(param) >= 'número' then"

não tem isso

po cara, que falte de imaginação... 'número' representa os nºs expressos

no script, n precisa ser um genio para intender isso =/

------------------------------------

o maximo de helps é 4!

Não existe limite.

basta incluir + "elseif"

esse script tem o limite de 4 helps, claro pode ter mais, poré não será o msm script =/

------------------------------------

no lugar de

if txtid < "5" and txtid > "0" then

doShowTextDialog(cid, 6087, txt)

elseif txtid >= "5" or txtid == "0" then

doPlayerSendCancel(cid,txt)

end

 

usar

if txtid < "5" and txtid > "0" then

doShowTextDialog(cid, 6087, txt)

else

doPlayerSendCancel(cid,txt)

end

é msm coisa, porém terá que colocar um end a mais =S

faz diferença trocar 6 por ¹/2 duzia?

 

------------------------------------

doShowTextDialog

Muitos server não tem esse comando(o meu por exemplo)

substitua por :

doPlayerSendTextMessage ou outro seja aceito em qualquer versão.

quem sabe fazer scripts sabe disso, e além do mais, se o ot não suportar aparecerá

na janela do ot o erro, logo a pessoas entenderá que isso não eh reconhecido.

 

mas tudo bem... explicarei melhor =D

Editado Setembro 8 por KingCPI

Conde SapoC
08 de setembro de 2007 às 23:05
é msm coisa, porém terá que colocar um end a mais =S

faz diferença trocar 6 por ¹/2 duzia?

Desculpa mas não tem END a mais.

 

quem sabe fazer scripts sabe disso, e além do mais, se o ot não suportar aparecerá

na janela do ot o erro, logo a pessoas entenderá que isso não eh reconhecido.

Desculpa de novo. 99% das pessoas que leem TUTO não manjam NADA de script.

é só deixar avisado pros novatos.

isso enriquece seu tutorial.

 

Sugestão :

 

no lugar de

elseif string.lower(param) == '4' then

não use CODE... use QUOTE;

dá pra por COR em QUOTE

 

Obs.: Usei só uma linha pra não ficar grande.

ponha o seu HELP.LUA com QUOTE

 

fica assim

elseif string.lower(param) == '4' then

ae na explicação você põe :

Os numero em vermelho representam o numero do parametro do !help

 

Exemplo :

!help "4

vai executar o help 4

 

Ps.: Só pra deixar bem claro

ADOREI seu topico... minha intenção é deixa-lo + facil de entender

DeadKennedyD
09 de setembro de 2007 às 23:15

@conde sapo

eh cara, nem vejo cores ake no meu pc.

eu buguei os styles do win inteiro ateh o wmp11 n funfa cores, então

eles não possuem cores, pra melhor separar nada.

Postei na area de ajuda do xtibia, mas só uma pessoa respondeu

que por sinal, foi o upking(o 1º postador)

e não resolveu meu problema, então continuou assim.

 

Se vc olha o topico de formaçao da equipe Mundi Ot, verá que sou caprichoso com meus

trabalhos(em relaçao ao topico), só não sou mais, por falta de recursos.

-----

Pronto doutor, agora já coloquei também como aumentar o nº de helps!

td ok???

 

Bye

Editado Setembro 10 por KingCPI

Conde SapoC
10 de setembro de 2007 às 03:53

Meu amiguinho KingCPI

 

sempre gostei dos seus trabalhos

sempre elogiei

sempre te dei apoio

sempre corrijo alguns "errinhos"

 

mas este aki podia ficar melhor

adorei sua idéia

vou mandar PM npra não ficar muito comprido o topico.

 

Critica engrandece o trabalho dos inteligentes.
Os negligentes simplesmente as ignoram.
(By Conde Sapo)

Ponho isso em alguns do meus tutos.

JvchequerJ
12 de setembro de 2007 às 14:10

Olá Xtibiano,

 

Parabéns, seu tutorial foi aprovado.

 

Estarei movendo ele para a área de tutoriais.

 

Obrigado por trazer conteúdo para o Xtibia.com e espero que continue com o ótimo trabalho.

 

 

Atenciosamente,

JV Chequer *Diretor de Fórum Xtibia.com*