Ir para conteúdo
Entre para seguir isso  
Dark

[N:Médio] ..:: Funções ::..

Recommended Posts

Dark    3
Dark

titulofunoae8.png

 

....Neste tutorial irei postar um script onde a varios comandos, alguns sem muita utilidade, mas te ajudara em deixar seu OtServ diferenciado.

 

Vou falar agora sobre as funções, e oque elas fazer:

 

 

 

~..Pos ~

 

....Nesta função, há 4 ações:

/pos "
save

/pos "
reset

/pos "
teleport

/pos "
(nome de uma criatura)

....Na função save você salvara a posição em que você se encontra naquele momento.

 

....Na função reset você apagara a posição que você havia salvo antes

 

....Na função teleport você sera teleportado para a posição que você havia salvo antes

 

....Na função (nome de uma criatura) você colocará no lugar de (nome de uma criatura), o nome de um monstros, essa função ira sumonar o monstro na posição salva com a função /pos "save

 

 

~..Criatura ~

 

....Nesta função, há 1 ações:

/criatura "
(nome de uma criatura)

....Na função (nome de uma criatura) você colocará no lugar de (nome de uma criatura), o nome de um monstros, essa função ira sumonar o monstro em sua volta. por exemplo:

 

M..M..M

M..P..M

M..M..M

(M=monstro e P=player)

 

 

~..Magic ~

 

....Nesta função, há 4 ações:

/magic "
rand

/magic "
(um numer de 01 até 34)

/magic "
rand full

/magic "
pos

....A função rand ira mostrar um efeito aleatorio em você

 

....Na função (um numer de 01 até 34)você ira trocar (um numer de 01 até 34), por um numero que deve ser no minimo 1 e no maximo 34, essa função ira mostrar em você o efeito magico conrespondente ao numero

 

....A função rand full ira mostrar em vouta de você um efeito aleatorio. por exemplo:

E..E..E

E..P..E

E..E..E

(E=efeito e P=player)

 

....A função pos ira mostrar um efeito aleatorio na posição que você salvou com o comando /pos "save

 

 

~..Say ~

 

....Nesta função, há 1 ações:

/say "
(palavra de até 9 letras)

....Na função(palavra de até 9 letras) você ira trocar (palavra de até 9 letras), por uma palavra que tenha no maximo 9 letras, a função ira exibir a palavra animada e com uma cor definida aleatoriamente.

 

 

~..Trash ~

 

....Nesta função, há 4 ações:

/trash "
mão

/trash "
all

/trash "
>

/trash "
<

....A função mão ira deletar os itens que estiverem na mão do player

....A função all ira deletar os itens das mãos do player, e todos os itens iguais a ele que o player tiver.

....A função > ira deletar o item que estiverem na mão do lado de la (>) do player (lado da Backpack)

 

....A função < ira deletar o item que estiverem na mão do lado de ca (<) do player (lado do Colar)

 

 

~..Item ~

 

....Nesta função, há 4 ações:

/item "
>

/item "
<

/item "
cont

/item "
pos

....A função > ira cria um item, com o mesmo ID, que estiver na mão direita

....A função > ira cria um item, com o mesmo ID, que estiver na mão esquerda

....A função cont ira contar quantos itens com Id igual do item que esta na sua mão esquerda você tem

 

....A função pos ira criar um item com o mesmo id do item que esta na mão esquerda, na posição que você salvo com o comando /pos “save

 

~..Field ~

 

....Nesta função, há 4 ações:

/field "
fire

/field "
poison

/field "
energy

/field "
pos

....A função fire ira cria fire fields em volta do player

....A função poison ira cria poison fields em volta do player

....A função energy ira cria energy fields em volta do player

 

 

....A função pos ira criar um field aleatorio na posição que você salvo com o comando /pos “save

 

~..Vocation ~

 

....Nesta função, há 1 ação:

/vocation "
(vocação)

....Na função (vocação)você ira trocar (vocação), por uma vocação (sorcerer, druid, paladin, knight, máster sorcerer, elder druid, royal paladin, elite knight), essa função ira mudar sua vocação

 

~..Function ~

 

....Esta função é para saber os comandos, é so falar /func e ele mostra os comandos e oque eles fazer

 

 

Agora que ja expliquei vamos para o script

 

 

Abra a pasta do seu Ot e vá até data/talkactions/script e copie qualquer arquivo de lá, agora renomei ele para home.lua, abra ele e apague tudo que estiver la dentro, agora cole isso:

 

------------ By D@rK ------------

-------------- OTNet --------------

 

function onSay(cid, words, param)

 

aceso = 4

 

aceso1 = getPlayerAccess(cid)

mao = getPlayerSlotItem(cid, 6)

mao2 = getPlayerSlotItem(cid, 5)

rand = math.random(1, 34)

rand2 = math.random(1, 1000)

rand3 = math.random(1, 3)

player = getPlayerPosition(cid)

pos1 = {x=player.x+1, y=player.y, z=player.z}

pos2 = {x=player.x-1, y=player.y, z=player.z}

pos3 = {x=player.x, y=player.y+1, z=player.z}

pos4 = {x=player.x, y=player.y-1, z=player.z}

pos5 = {x=player.x-1, y=player.y-1, z=player.z}

pos6 = {x=player.x+1, y=player.y+1, z=player.z}

pos7 = {x=player.x-1, y=player.y+1, z=player.z}

pos8 = {x=player.x+1, y=player.y-1, z=player.z}

post = getPlayerStorageValue(cid,telepor)

 

 

if aceso1 >= aceso then

if words == '/pos' then

if param == 'save' then

 

setPlayerStorageValue(cid,telepor,1)

pos = getPlayerPosition(cid)

doPlayerSendTextMessage(cid, 21,'Posição salva.')

 

elseif param == 'teleport' then

if post == 1 then

doTeleportThing(cid,pos)

doPlayerSendTextMessage(cid, 21,'Teleport')

doSendMagicEffect(pos,10)

 

elseif post == -1 then

doPlayerSendTextMessage(cid, 21,'Não há posição salva')

end

 

elseif param == 'reset' then

setPlayerStorageValue(cid,telepor,-1)

doPlayerSendTextMessage(cid, 21,'Posição apagada')

 

elseif param == '' then

doPlayerSendTextMessage(cid, 21,'Digite uma ação')

 

else

if post == 1 then

 

doSummonCreature(param,pos)

doPlayerSendTextMessage(cid, 21,'Foi sumonado um ' .. param .. ' na posição salva')

elseif post ~= -1 then

doPlayerSendTextMessage(cid, 21,'Não há posição salva')

end

end

 

 

elseif words == '/criatura' then

 

if param == '' then

doPlayerSendTextMessage(cid, 21,'Digite uma ação')

 

else

doSummonCreature(param,pos1)

doSummonCreature(param,pos2)

doSummonCreature(param,pos3)

doSummonCreature(param,pos4)

doSummonCreature(param,pos5)

doSummonCreature(param,pos6)

doSummonCreature(param,pos7)

doSummonCreature(param,pos8)

end

 

elseif words == '/magic' then

if param == 'rand' then

 

doSendMagicEffect(player,rand)

doPlayerSendTextMessage(cid, 21,'Foi mostrado o efeito de numero ' .. rand .. '')

 

elseif param == '' then

doPlayerSendTextMessage(cid, 21,'Digite uma ação')

 

elseif param == 'rand full' then

 

doSendMagicEffect(pos1,rand)

doSendMagicEffect(pos2,rand)

doSendMagicEffect(pos3,rand)

doSendMagicEffect(pos4,rand)

doSendMagicEffect(pos5,rand)

doSendMagicEffect(pos6,rand)

doSendMagicEffect(pos7,rand)

doSendMagicEffect(pos8,rand)

doPlayerSendTextMessage(cid, 21,'Foi mostrado o efeito de numero ' .. rand .. '')

 

elseif param == 'pos' then

if post == 1 then

doSendMagicEffect(pos,rand)

doPlayerSendTextMessage(cid, 21,'Foi mostrado o efeito de numero ' .. rand .. '')

elseif post ~= 1 then

doPlayerSendTextMessage(cid, 21,'Não há posição salva')

end

 

elseif param == '' then

doPlayerSendTextMessage(cid, 21,'Digite uma ação')

 

else

doSendMagicEffect(player,param)

 

end

 

elseif words == '/say' then

if param == '' then

doPlayerSendTextMessage(cid, 21,'Digite uma ação')

 

else

doSendAnimatedText(player, param, rand2)

end

 

elseif words == '/trash' then

if param == "" then

doPlayerSendTextMessage(cid, 21,'Digite uma ação')

 

elseif param == 'mão' then

 

doPlayerRemoveItem(cid,mao.itemid,1)

doPlayerRemoveItem(cid,mao2.itemid,1)

doPlayerSendTextMessage(cid, 21,'Foi removido os itens com ID ' .. mao.itemid .. ' e ' .. mao2.itemid .. '')

 

elseif param == 'all' then

 

doPlayerSendTextMessage(cid, 21,'Foi removido ' .. getPlayerItemCount(cid,mao.itemid) .. ' itens de ID ' .. mao.itemid .. ' e ' .. getPlayerItemCount(cid,mao2.itemid) .. ' itens de ID ' .. mao2.itemid .. '')

doPlayerRemoveItem(cid,mao.itemid,getPlayerItemCount(cid,mao.itemid))

doPlayerRemoveItem(cid,mao2.itemid,getPlayerItemCount(cid,mao2.itemid))

 

elseif param == '<' then

doPlayerRemoveItem(cid,mao.itemid,1)

doPlayerSendTextMessage(cid, 21,'Foi removido o item com ID ' .. mao.itemid .. '')

 

elseif param == '>' then

doPlayerRemoveItem(cid,mao2.itemid,1)

doPlayerSendTextMessage(cid, 21,'Foi removido o item com ID ' .. mao2.itemid .. '')

 

end

 

elseif words == '/item' then

if param == '<' then

doPlayerAddItem(cid,mao.itemid,1)

 

elseif param == '>' then

doPlayerAddItem(cid,mao2.itemid,1)

 

elseif param == '' then

doPlayerSendTextMessage(cid, 21,'Digite uma ação')

 

elseif param == 'cont' then

 

doPlayerSendTextMessage(cid, 21,'Você tem ' .. getPlayerItemCount(cid,mao.itemid) .. ' item(s) com o ID ' .. mao.itemid .. '.')

 

elseif param == 'pos' then

if post == 1 then

doCreateItem(mao.itemid,1,pos)

doPlayerSendTextMessage(cid, 21,'Foi criado um item de ID ' .. mao.itemid .. ' na posição salva')

elseif post ~= 1 then

doPlayerSendTextMessage(cid, 21,'Não há posição salva')

end

else

doPlayerAddItem(cid,mao.itemid,param)

doPlayerSendTextMessage(cid, 21,'Foi criado ' .. param .. ' itens de ID ' .. mao.itemid .. '')

 

end

 

elseif words == '/field' then

if getTilePzInfo(pos1) == 0 and getTilePzInfo(pos2) == 0 and getTilePzInfo(pos3) == 0 and getTilePzInfo(pos4) == 0 and getTilePzInfo(pos5) == 0 and getTilePzInfo(pos6) == 0 and getTilePzInfo(pos7) == 0 and getTilePzInfo(pos8) == 0 then

if param == 'fire' then

 

doDecayItem(doCreateItem(1492,1,pos1))

doDecayItem(doCreateItem(1492,1,pos2))

doDecayItem(doCreateItem(1492,1,pos3))

doDecayItem(doCreateItem(1492,1,pos4))

doDecayItem(doCreateItem(1492,1,pos5))

doDecayItem(doCreateItem(1492,1,pos6))

doDecayItem(doCreateItem(1492,1,pos7))

doDecayItem(doCreateItem(1492,1,pos8))

 

elseif param == 'energy' then

 

doDecayItem(doCreateItem(1495,1,pos1))

doDecayItem(doCreateItem(1495,1,pos2))

doDecayItem(doCreateItem(1495,1,pos3))

doDecayItem(doCreateItem(1495,1,pos4))

doDecayItem(doCreateItem(1495,1,pos5))

doDecayItem(doCreateItem(1495,1,pos6))

doDecayItem(doCreateItem(1495,1,pos7))

doDecayItem(doCreateItem(1495,1,pos8))

 

elseif param == 'poison' then

 

doDecayItem(doCreateItem(1496,1,pos1))

doDecayItem(doCreateItem(1496,1,pos2))

doDecayItem(doCreateItem(1496,1,pos3))

doDecayItem(doCreateItem(1496,1,pos4))

doDecayItem(doCreateItem(1496,1,pos5))

doDecayItem(doCreateItem(1496,1,pos6))

doDecayItem(doCreateItem(1496,1,pos7))

doDecayItem(doCreateItem(1496,1,pos8))

 

elseif param == '' then

doPlayerSendTextMessage(cid, 21,'Digite uma ação')

 

elseif param == 'pos' then

if post == 1 then

if getTilePzInfo(pos) == 0 then

if rand3 == 1 then

doDecayItem(doCreateItem(1496,1,pos))

elseif rand3 == 2 then

doDecayItem(doCreateItem(1495,1,pos))

elseif rand3 == 3 then

doDecayItem(doCreateItem(1492,1,pos))

end

else

doPlayerSendTextMessage(cid, 21,'Não é possivel criar field em Pz')

end

elseif post ~= 1 then

doPlayerSendTextMessage(cid, 21,'Não há posição salva')

end

end

else

doPlayerSendTextMessage(cid, 21,'Não é possivel criar field em Pz')

end

 

elseif words == '/vocation' then

if param == '' then

doPlayerSendTextMessage(cid, 21,'Digite uma ação')

 

elseif param == 'nenhuma' then

doPlayerSetVocation(cid,0)

doPlayerSendTextMessage(cid, 21,'Sua vocação foi trocada para nenhuma')

 

elseif param == 'sorcerer' then

doPlayerSetVocation(cid,1)

doPlayerSendTextMessage(cid, 21,'Sua vocação foi trocada para sorcerer')

 

elseif param == 'druid' then

doPlayerSetVocation(cid,2)

doPlayerSendTextMessage(cid, 21,'Sua vocação foi trocada para druid')

 

elseif param == 'paladin' then

doPlayerSetVocation(cid,3)

doPlayerSendTextMessage(cid, 21,'Sua vocação foi trocada para paladin')

 

elseif param == 'knight' then

doPlayerSetVocation(cid,4)

doPlayerSendTextMessage(cid, 21,'Sua vocação foi trocada para knight')

 

elseif param == 'master sorcerer' then

doPlayerSetVocation(cid,5)

doPlayerSendTextMessage(cid, 21,'Sua vocação foi trocada para master sorcerer')

 

elseif param == 'elder druid' then

doPlayerSetVocation(cid,6)

doPlayerSendTextMessage(cid, 21,'Sua vocação foi trocada para elder druid')

 

elseif param == 'royal paladin' then

doPlayerSetVocation(cid,7)

doPlayerSendTextMessage(cid, 21,'Sua vocação foi trocada para royal paladin')

 

elseif param == 'elite knight' then

doPlayerSetVocation(cid,8)

doPlayerSendTextMessage(cid, 21,'Sua vocação foi trocada para elite knight')

end

 

elseif words == '/func' then

doPlayerSendTextMessage(cid, 24,'/pos')

doPlayerSendTextMessage(cid, 21,'/pos "save = Salva a posição atual')

doPlayerSendTextMessage(cid, 21,'/pos "reset = Apaga a posição salva')

doPlayerSendTextMessage(cid, 21,'/pos "teleport = Teleporta para a posição salva')

doPlayerSendTextMessage(cid, 21,'/pos "(nome de uma criatura) = Sumona o monstro na posição salva')

doPlayerSendTextMessage(cid, 24,'/criatura')

doPlayerSendTextMessage(cid, 21,'/criatura "(nome de uma criatura) = Sumona o monstro em volta do player ')

doPlayerSendTextMessage(cid, 24,'/magic')

doPlayerSendTextMessage(cid, 21,'/magic "rand = Solta um efeito aleatorio no player ')

doPlayerSendTextMessage(cid, 21,'/magic "(Um numero de 01 até 34) = Solta o efeito conrespondente ao numero ')

doPlayerSendTextMessage(cid, 21,'/magic "rand full = Solta um efeito aleatorio em volta do player ')

doPlayerSendTextMessage(cid, 21,'/magic "pos = Solta um efeito aleatorio na posição salva ')

doPlayerSendTextMessage(cid, 24,'/say')

doPlayerSendTextMessage(cid, 21,'/say "(palavra de no maximo 9 letras) = Solta a palavra animada em uma cor aleatoria')

doPlayerSendTextMessage(cid, 24,'/trash')

doPlayerSendTextMessage(cid, 21,'/trash "mão = Remove os itens que estiver na mão')

doPlayerSendTextMessage(cid, 21,'/trash "all = Remove todos os itens iguais aos que estavam nas mãos')

doPlayerSendTextMessage(cid, 21,'/trash "> = Remove o item que estiver na mão direita (a mão do lado da Bp)')

doPlayerSendTextMessage(cid, 21,'/trash "< = Remove o item que estiver na mão esquerda (a mão do lado do colar)')

doPlayerSendTextMessage(cid, 24,'/item')

doPlayerSendTextMessage(cid, 21,'/item "> = Cria um item, com o mesmo ID, que estiver na mão direita')

doPlayerSendTextMessage(cid, 21,'/item "< = Cria um item, com o mesmo ID, que estiver na mão esquerda')

doPlayerSendTextMessage(cid, 21,'/item "cont = Mostra quantos itens com o ID, do item que esta na mão esquerda, você tem')

doPlayerSendTextMessage(cid, 21,'/item "pos = Cria um item, com o mesmo ID, que estiver na mão direita, na posição salva')

doPlayerSendTextMessage(cid, 24,'/field')

doPlayerSendTextMessage(cid, 21,'/field "fire = Cria fire fields em volta do player')

doPlayerSendTextMessage(cid, 21,'/field "poison = Cria poison fields em volta do player')

doPlayerSendTextMessage(cid, 21,'/field "energy = Cria energy fields em volta do player')

doPlayerSendTextMessage(cid, 21,'/field "pos = Cria ou um energy field, ou um fire field, ou um poison field, na posição salva')

doPlayerSendTextMessage(cid, 24,'/vocation')

doPlayerSendTextMessage(cid, 21,'/vocation "sorcerer = Muda sua vocação para sorcerer')

doPlayerSendTextMessage(cid, 21,'/vocation "druid = Muda sua vocação para druid')

doPlayerSendTextMessage(cid, 21,'/vocation "paladin = Muda sua vocação para paladin')

doPlayerSendTextMessage(cid, 21,'/vocation "knight = Muda sua vocação para knight')

doPlayerSendTextMessage(cid, 21,'/vocation "master sorcerer = Muda sua vocação para master sorcerer')

doPlayerSendTextMessage(cid, 21,'/vocation "elder druid = Muda sua vocação para elder druid')

doPlayerSendTextMessage(cid, 21,'/vocation "royal paladin = Muda sua vocação para royal paladin')

doPlayerSendTextMessage(cid, 21,'/vocation "elite knight = Muda sua vocação para elite knight')

end

else

doPlayerSendTextMessage(cid, 21,'Você não tem aceso suficiente para usar esta função')

end

end

Não se assuste pelo tamanho, você só ira presisar mudar isso:

  • 4 -- aqui é o aceso que o player terá que ter para poder usar as funções

Agora vá até data/talkactions/ e abra o arquivo talkactions.xml e cole isso nele:

 

<talkaction words="/func" script="home.lua" />

<talkaction words="/vocation" script="home.lua" />

<talkaction words="/field" script="home.lua" />

<talkaction words="/item" script="home.lua" />

<talkaction words="/trash" script="home.lua" />

<talkaction words="/say" script="home.lua" />

<talkaction words="/magic" script="home.lua" />

<talkaction words="/criatura" script="home.lua" />

<talkaction words="/pos" script="home.lua" />

  • home.lua -- aqui é o nome do arquivo que nós criamos

Pronto ja esta tudo feito, agora é so se divertir...

Postem duvidas, bugs, sugestões ou criticas construtivas...

 

 

D@rK~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Kevox    0
Kevox

Nossa, excelente script D@rk.

 

Movido;

Compartilhar este post


Link para o post
Compartilhar em outros sites
caiOHawk    0
caiOHawk

Concordo com o kevox, muito bom.

Parabéns e obrigado por disponibilizar...

Compartilhar este post


Link para o post
Compartilhar em outros sites
Conde2    0
Conde2

CARACA MUITO LOKO

quanto tempo voce demoro pa faze issu??

meu ta muito bom aprovado !!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Musicman    0
Musicman

/vocation "Darking

 

rsrsr entendeu /\ ?

 

muito bom, parabéns.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Toddy    0
Toddy

p-a-g-u-e-i u-m p-a-u

Compartilhar este post


Link para o post
Compartilhar em outros sites
_Leen_    0
_Leen_

Bom, muito legal esse script msm,:)

mas eu to com um problema, não consigo usa ele,

eu uso o forgoteenserver

Se alguem me ajudasse eu ficaria muito grato

Compartilhar este post


Link para o post
Compartilhar em outros sites
Bob Marley    0
Bob Marley

KRA VC E BRILHANTE MUITO GENIAL AGORA POW NO SEUS POTS AVISA QUE MAPA PEGA E QUE VERSAO ASSIM FICAMOS SEM SABER =/

 

--Aprovado--

Compartilhar este post


Link para o post
Compartilhar em outros sites
Johshy    0
Johshy

como sempre seus tutorias com criatividade

teu trabalho é bom :P

continua assim

e sempre postando aqui na otnet :P

parabéns ae (Y)

Compartilhar este post


Link para o post
Compartilhar em outros sites
mendess    0
mendess

XD munto bom esse tutorial parabens

Compartilhar este post


Link para o post
Compartilhar em outros sites
Fixthow    33
Fixthow

Ae mt baum Tuto.. Aprovado^^:style:

Compartilhar este post


Link para o post
Compartilhar em outros sites
Devorador de Corpos    0
Devorador de Corpos

interessante mas n conssegui entender oque voce quis passar o.o

Compartilhar este post


Link para o post
Compartilhar em outros sites
Muleke Doido    0
Muleke Doido

Kraca Esse DArk REpreSenta Belo Tutorial!

 

Vlw Brother

 

=D

Compartilhar este post


Link para o post
Compartilhar em outros sites
Fenix Negra    0
Fenix Negra

Dark diz que vc tem fan bar plz vei vc é muitpo bom venho acompanhando seus trabalhos otimos

Compartilhar este post


Link para o post
Compartilhar em outros sites
kleyner    0
kleyner

oO nossa muito massa top aprovado :D

Compartilhar este post


Link para o post
Compartilhar em outros sites
Manous K    0
Manous K

Em ot zorzin n funfa =/

mas vlw

MTO BOM!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Reibnitz    0
Reibnitz

Cacilda, tu és um anjo! Só o trabalho que tu não teve pra fazer isso e ainda por cima desponibilizar pra noobaiada!

 

Tu vai pro céu, com certeza.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Hug    0
Hug

o.o excelente cara nota 1000 pra vc funçoes certamente legais

e alem de estar mt bom esta tbm mt organizado o topico gratz pra vc flws

Compartilhar este post


Link para o post
Compartilhar em outros sites
LaB OrA    0
LaB OrA

Perfeito para OTServ zuado ou que tenham exp alta...

 

Quem ja viu em um OT serio o player mudar de Voc?

 

Imagina, começa sorc, dai pega ml 80 e vira kina, meu deus...

Compartilhar este post


Link para o post
Compartilhar em outros sites
Toddy    0
Toddy

Porque não botam de fixo ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×