Dark 3 #1 Postado 28 Setembro, 2007 ....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 #2 Postado 29 Setembro, 2007 Nossa, excelente script D@rk. Movido; Compartilhar este post Link para o post Compartilhar em outros sites
caiOHawk 0 #3 Postado 29 Setembro, 2007 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 #4 Postado 30 Setembro, 2007 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 #5 Postado 30 Setembro, 2007 /vocation "Darking rsrsr entendeu /\ ? muito bom, parabéns. Compartilhar este post Link para o post Compartilhar em outros sites
Toddy 0 #6 Postado 3 Outubro, 2007 p-a-g-u-e-i u-m p-a-u Compartilhar este post Link para o post Compartilhar em outros sites
_Leen_ 0 #7 Postado 4 Outubro, 2007 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 #8 Postado 7 Outubro, 2007 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 #9 Postado 20 Outubro, 2007 como sempre seus tutorias com criatividade teu trabalho é bom continua assim e sempre postando aqui na otnet parabéns ae (Y) Compartilhar este post Link para o post Compartilhar em outros sites
mendess 0 #10 Postado 20 Outubro, 2007 XD munto bom esse tutorial parabens Compartilhar este post Link para o post Compartilhar em outros sites
Fixthow 33 #11 Postado 20 Outubro, 2007 Ae mt baum Tuto.. Aprovado^^:style: Compartilhar este post Link para o post Compartilhar em outros sites
Devorador de Corpos 0 #12 Postado 20 Outubro, 2007 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 #13 Postado 25 Outubro, 2007 Kraca Esse DArk REpreSenta Belo Tutorial! Vlw Brother =D Compartilhar este post Link para o post Compartilhar em outros sites
Fenix Negra 0 #14 Postado 26 Outubro, 2007 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 #15 Postado 30 Outubro, 2007 oO nossa muito massa top aprovado Compartilhar este post Link para o post Compartilhar em outros sites
Manous K 0 #16 Postado 30 Outubro, 2007 Em ot zorzin n funfa =/ mas vlw MTO BOM! Compartilhar este post Link para o post Compartilhar em outros sites
Reibnitz 0 #17 Postado 31 Outubro, 2007 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 #18 Postado 31 Outubro, 2007 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 #19 Postado 1 Novembro, 2007 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 #20 Postado 5 Novembro, 2007 Porque não botam de fixo ?? Compartilhar este post Link para o post Compartilhar em outros sites