

frerety
Artesão-
Total de itens
133 -
Registro em
-
Última visita
Tudo que frerety postou
-
porque vc ao invés de copiar e não colocar os créditos num tenta atualizar pra 7.92? (pq não funfa em 7.92 ) irei refazê-la pra 7.92 e depois posto... @rafaelcristian sim, embora eu tenha feito, eu achei esse script ruim também porém fiquei sabendo que muita gente gostou em um outro fórum... por isso falei que iria atualizar...
-
HiHo! esses dias tive um contratempo com essas coisas de alguém pegar coisas de um fórum e passar para outro faltando conteúdo... Portanto Eu não irei aceitar se alguém pegar esse npc e postá-lo em outro lugar sem minha autorização!!! (você tem que me mandar uma pm, não aceito por apenas créditos no outro fórum!!!) bom... Acho que comentei tanto o arquivo que estou sem mais nada pra escrever =x Bom... ele é um npc que canta a música que você quizer (não de uma vez, frase por frase, claaro :]) Acho que as configurações estão fáceis e tem alguma dose de teoria lua... Ah... jah ia me eskecendo, a música que vem configurada nesse npc é a música Happy Holidays, You Bastard - Blink 182 Ela é pequenininha x~] 42 segundos... -------------------- -- ! NPC cantor ! -- -- ! By Frerety ! -- -------------------- -- .: Help :. -- .:. cada linha e uma frase a ser falada -- .:. as vezes o cantor precisa parar para respirar, pra fazer sabe-se la o que, entao ele nao fica cantando o tempo inteiro da musica. -- :. Portanto voce pode utilizar pausas para fazer o npc ficar calado num espaco de tempo definido por voce :] -- .:. a frase so eh falada se tiver entre "" -- .:. caso a frase corresponda a um 0 sem estar entre "", eh uma pausa que tem duracao de tempo(procure mais abaixo por local tempo). -- .:. caso esse 0 seja seguido por 1 ou mais zeros(como ocorre nesse script*) o tempo eh aumentado em tempo(procure mais abaixo por local tempo) segundos a cada 0. -- :. Exemplo1 .: Caso tenhamos um tempo configurado como 2 e tivermos 2 zeros seguidos, a pausa do npc sera de 4(2+2) segundos -- :. Exemplo2 .: Caso tenhamos um tempo configurado como 2 e tivermos 3 zeros seguidos, teremos uma pausa de 6(2+2+2) segundos -- .:. separe cada linha com um; -- .:. se voce tiver que usar um ' na frase use \' -- .:. se voce precisar usar uma \ na frase use \\ -- .:. se voce precisar de " na frase use \" -------------------------- -- ! COMECO DO SCRIPT ! -- -------------------------- local tempo = 2 -- tempo que demora pro NPC falar a proxima frase em segundos (tempo entre as frases) local musica = { -- PELO AMOR DE DEUS, NAO REMOVA ESSE local musica = { "It\'s christmas eve and I\'ve only wrapped two fuckin\' presents"; "It\'s christmas eve and I\'ve only wrapped two fuckin\' presents"; "And I hate, hate, hate your guts"; "I really fuckin\', hate your guts"; "And I\'ll never talk to you again"; "unless your dad will suck me off"; "I\'ll never talk to you again"; "unless your mom will touch my cock"; "I\'ll never talk to you again"; "ejaculate into a sock"; "I\'ll never talk to you again"; "I\'ll never talk to you again"; 0; -- * pausa de tempo(opcao acima) segundos 0; -- * se vc quizer uma pausa maior que o tempo especificado acima crie outra pausa ate chegar no tempo de pausa que voce quer "It\'s Labor day and my grandpa just ate seven fuckin' hot dogs"; "It\'s Labor day and my grandpa just ate seven fuckin' hot dogs"; "and he shit shit shits his pants"; "He\'s alway\'s fuckin\' shittin his pants"; "And I\'ll never talk to you again"; "unless your dad will suck me off"; "I\'ll never talk to you again"; "unless your mom will touch my cock"; "ejaculate into a sock"; "I\'ll never talk to you again"; "I\'ll never talk to you again!"; } -- PELO AMOR DE DEUS DENOVO, NAO REMOVA ESSE } :] ----------------------------------------------------------------------------------- -- ! NAO ALTERAR DAQUI PRA BAIXO A NAO SER QUE VOCE SAIBA O QUE ESTEJA FAZENDO ! -- ----------------------------------------------------------------------------------- local start = 0 local step = 0 -- Funcoes "vazias", que num fazem nada (para ESSE Npc, para outros pode nao ser) : onThingMove, onCreatureAppear, onCreatureDisappear, onCreatureTurn, onCreatureChangeOutfit = function (creature, thing, oldpos, oldstackpos) end, function (creature) end, function (cid, pos) end, function (creature) end, function (creature) end -- Funcao auxiliar pra onCreatureSay msgcontains = function (txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end ----------------------------------------------------------------------- -- ! COMENTARIO TEORICO PARA PERFEITA COMPREENSAO DO ARQUIVO - LUA ! -- ----------------------------------------------------------------------- -- uma funcao pode ser definida assim: -- function nome_da_function(a1, a2, ..., an) CORPO_DA_FUNCAO end -- mas tambem pode ser definida assim: -- nome_da_function = function (a1, a2, ..., an) CORPO_DA_FUNCAO end -- ou seja: -- function onCreatureSay(cid, type, msg) -- e -- onCreatureSay = function (cid, type, msg) -- sao a mesma coisa ----------------------------------------- -- ! AQUI COMECA O "MOTOR" DO SCRIPT ! -- ----------------------------------------- onCreatureSay = function (cid, type, msg) -- ou function onCreatureSay(cid, type, msg) msg = string.lower(msg) if msgcontains(msg, 'hi') and step == 0 and getDistanceToCreature(cid) < 4 then selfSay('Oi ' .. creatureGetName(cid) .. '! Vou cantar uma musiquinha pra vc, ok?') start = os.clock() step = 1 end end onThink = function () -- ou function onThink() if step > 0 and os.clock() - start >= tempo then -- step > 0 evita execucoes desnecessários quando o npc esta ocioso, ou seja, quando ele nao estiver cantando start = os.clock() if musica[step] == nil then step = 0 return 1 elseif musica[step] ~= 0 then selfSay(musica[step]) end step = step + 1 end end Esse é o npc... Como jah disse o Help (como usar) tá dentro do npc mesmo então nem preciso colocar aqui Bom, não sei se alguém vai se interessar pelo npc pq ele é meio inútil... mas tem alguma teoria lua que não se vê todo dia... x~] Qualquer dúvida pm me :] FlW CyA!
-
HiHo! Wowwwwww... ~~~~~~ Criatividade a 1000, hein?!? Sugestão: Pq vc não faz com que o player só possa falar isso se ele tiver em cima do tile? De resto tah perfeito ---Suic por talkaction-by Sky Hunter--- function onSay(cid, words, param) tilepos = { x=156, y=192, z=7 } -- posição do tile que o player tem que estar em cima pra falar as palavras mágicas playerpos = getPlayerPosition(cid) if playerpos.x == tilepos.x and playerpos.y == tilepos.y and playerpos.z == tilepos.z then doPlayerAddHealth(cid,-getPlayerHealth(cid)) doPlayerSay(cid, "Adeus mundo cruél!", 16) return 0 end return 1 end ;* Vlw por compartilhar :]
-
talkaction Blank Runes Por Talkactions
tópico respondeu ao Sky Hunter de frerety em Actions e Talkactions
HiHo! belo script :] ótimo exemplo :] mas tpo você não precisaria disso na talkaction não, precisaria? Tente sem tirá-la :] ---Blank runes por talkaction-by Sky Hunter--- function onSay(cid, words, param) doPlayerAddItem(cid,2260,1) doSendMagicEffect(frompos,12) return 1 end ;* Continue criando e postando novos scripts lua FlW CyA! -
HiHo! obg por trazer o code para o xTibia :] irá ajudar muitas pessoas bom trabalho FlW CyA!
-
Zorzin [] que taaaaaaaaaaanto de features entrei no tópico feliz da vida pensando voh ler todas as features do otserv do zorzin ... num doh conta mais de ler feature e olha que nem cheguei na metade hein... pelo que eu vi tah perfeeeeito e tudo configurado pelo config.lua, dando mais liberdade pras pessoas configurarem o server... quanto à estabilidade axo que se não tiver estável vai ter no máximo um errinho ali e outro aqui (já está a 10 horas on com 4 players ;p)... e mesmo se tiver algum erro, um server com esse tanto de feature eh muita coisinha que passa despercebido :] WoW esse vale a pena baixar ;*
-
Servfull 0.7 Accmanager Mapa Global Confira!
tópico respondeu ao Natanael Beckman de frerety em OTServ Comum
HiHo! =p trabalhando duro, hein bek... se kizer ajuda pra tirar alguns bugs estou à disposição =p continue assim =p FlW CyA! -
ahahahaha MALdito LUA_NO_ERROR hein =p oKAFJokafJKoaFJKO fikoh bom pena q num tem função lua que dah pra conferir se o vial está vazio ou não antes de remover ele neh go go outro script ;p FlW CyA!
-
HiHo! @errata Corrigido a seção FUNÇÕES vs SCRIPTS (removida a função onStepOutField que existe mas é uma função que não faz nada - não implementada ainda) @todos obrigado pelos elogios @ta4e ofajofAJKoFA eu neim lembrava q tinha que dar use =p foi o único que eu pensei o/ depois penso em outra coisa pra alterar o exemplo =p FlW CyA!
-
HiHo! Como prometido, escrevi o tutorial de Movements =) Bom... demorei 5 horas pra escrever isso. Eu sei que o número de pessoas que vai ler isso com intusiasmo e interesse eh quase nulo mas se eu conseguir ajudar uma pessoa apenas já estou feliz =) Provavelmente você não vai intender tudo da primeira vez que você ler (talvez nem da segunda) pois eh muita coisa para aprender. Leia com atenção, com calma, com carinho ( =p ), analise vários scripts/movements (todos que ver na frente de preferência \o/) e o mais importante: tenha persistência Tentei facilitar ao máximo, tentei organizar mais porém se eu sintetizasse mais iria perder conteúdo =x... Se você ainda tiver alguma dúvida me mande uma pm ou poste aki mesmo =p Ficarei feliz em te ajudar a resolver seu problema. Se você não souber programar em lua ou não conhecer direito as funções do SVN(antigo CVS) dê uma olhadinha no tutorial de actions do colex primeiro. Olhar aqui antes de ter experiência com actions provavelmente não irá adiantar muita coisa =) PS .: Faço apenas um pedido, se você for postar esse tutorial em outro lugar me mande uma pm me contando onde que eu mando o tópico até com o BBC pra não precisar reformatar tudo =) Pergunta ~> Tá... Vou ler um tutorial de Movements, mais o que isso faz?!? Resposta ~> Toda vez que você movimentar alguma coisa (itens, você mesmo, outros players - enfim, todo tipo de movimento) ou criar itens em algum lugar (ex. criar firefields) poderá acontecer alguma coisa. Podemos configurar BoH, rings com movements, adicionar damage nos fields, configurar traps e muuuito mais =) Começaremos analizando o movements.xml (data/movements/) Vamos estudá-lo um pouco: Para cada event você vai usar um argumento < (...) >. Por isso vamos estudar movements divididos em seções - events. EVENTS: <movevent event="StepIn" (...) /> Usada quando o player mover para alguma coisa. Corresponde à antiga função de actions OnWalkIn Argumentos: itemid/uniqueid/actionid ~> use apenas um deles, nunca mais de um (se usar itemid não use uniqueid, se usar actionid não use itemid, etc). Quando o player andar em cima de um item com itemid/uniqueid/actionid X, executar o movement. script/function ~> use (também) apenas um deles (se usar script não usar function). Function vai ser explicado mais tarde, não se preocupe =). Script é o caminho do arquivo lua(onde ele está) a ser executado quando o player pisa em algum item de itemid/uniqueid/actionid X Exemplo: <movevent event="StepIn" itemid="1487" script="arquivo.lua" /> <movevent event="StepOut" (...) /> Usada quando o player mover para fora (sair de cima) de um item X. Corresponde à antiga função para actions OnWalkOut Argumentos: itemid/uniqueid/actionid ~> use apenas um deles, nunca mais de um (se usar itemid não use uniqueid, se usar actionid não use itemid, etc). Quando o player mover pra fora de um item com itemid/uniqueid/actionid X, executar o movement. script/function ~> use (também) apenas um deles (se usar script não usar function). Function vai ser explicado mais tarde, não se preocupe =). Script é o caminho do arquivo lua(onde ele está) a ser executado quando o player "sai" de cima de algum item de itemid/uniqueid/actionid X Exemplo: <movevent event="StepOut" itemid="1487" script="arquivo.lua" /> <movevent event="Equip" (...) /> Usada quando o player colocar um equipamento no corpo(pro corpo, não para a bp =p) em algum slot Argumentos: itemid/uniqueid/actionid ~> use apenas um deles (se usar itemid não use uniqueid ou actionid). Quando o player mover um item de itemid/uniqueid/actionid X para o corpo, executar o movement. script/function ~> use (também) apenas um deles (se usar script não usar function). Function vai ser explicado mais tarde, não se preocupe =). Script é o caminho do arquivo lua(onde ele está) a ser executado quando o player "veste" algum item de itemid/uniqueid/actionid X. slot ~> o slot (mão, pé, corpo, etc) que o item deverá ficar pra executar a ação. Pode ser: .: head ~> cabeça .: necklace ~> colar .: backpack ~> slot da backpack .: armor ~> armadura .: right-hand ~> mão direita .: left-hand ~> mão esquerda .: legs ~> calça .: feet ~> pé .: ring ~> rings (anéis) Exemplo: <movevent event="Equip" itemid="2168" slot="ring" script="arquivo.lua" /> <movevent event="deEquip" (...) /> Usada quando o player retirar um equipamento de um certo slot do corpo Argumentos: itemid/uniqueid/actionid ~> use apenas um deles (se usar itemid não use uniqueid ou actionid). Quando o player mover um item de itemid/uniqueid/actionid X para fora do corpo, executar o movement. script/function ~> use (também) apenas um deles (se usar script não usar function). Function vai ser explicado mais tarde. Script é o caminho do arquivo lua(onde ele está) a ser executado quando o player tira algum item de itemid/uniqueid/actionid X do corpo. slot ~> o slot (mão, pé, corpo, etc) que o item deverá ficar pra executar a ação. Pode ser: .: head ~> cabeça .: necklace ~> colar .: backpack ~> slot da backpack .: armor ~> armadura .: right-hand ~> mão direita .: left-hand ~> mão esquerda .: legs ~> calça .: feet ~> pé .: ring ~> rings (anéis) Exemplo: <movevent event="DeEquip" itemid="2168" slot="ring" script="arquivo.lua" /> <movevent event="AddItem" (...) /> Usada quando o player adicionar um item x em algum tile (mover de um tile pro outro, quando o player taca uma runa de field ofensiva em alguém) Argumentos: itemid/uniqueid/actionid ~> use apenas um deles (se usar itemid não use uniqueid ou actionid). Quando o player "criar" um item de itemid/uniqueid/actionid X, executar o movement. script/function ~> use (também) apenas um deles (se usar script não usar function). Function vai ser explicado mais tarde. Script é o caminho do arquivo lua(onde ele está) a ser executado quando o player adiciona/move alguma coisa pro tile. tileitem ~> pode ser 0(false - desativado) ou 1(true - ativado). Se for 0, o script é executado assim que você move/cria o item no chão. Se for 1, o script só é adicionado quando você taca outro item em cima do item de itemid/uniqueid/actionid X Exemplo: <movevent event="AddItem" tileitem="0" itemid="2424" script="script.lua" /> <movevent event="RemoveItem" (...) /> Usada quando o player remover um item x (mover de um tile pro outro, usar destroy field) Argumentos: itemid/uniqueid/actionid ~> use apenas um deles (se usar itemid não use uniqueid ou actionid). Quando o player "remover/tirar" um item de itemid/uniqueid/actionid X de um tile, executar o movement. script/function ~> use (também) apenas um deles (se usar script não usar function). Function vai ser explicado mais tarde. Script é o caminho do arquivo lua(onde ele está) a ser executado quando o player tira algum item de itemid/uniqueid/actionid X do corpo. tileitem ~> pode ser 0(false - desativado) ou 1(true - ativado). Se for 0, o script é executado assim que você move/cria o item no chão. Se for 1, o script só é adicionado quando você tira outro item de cima do item de itemid/uniqueid/actionid X Exemplo: <movevent event="RemoveItem" tileitem="0" itemid="2424" script="script.lua" /> ARQUIVOS.LUA: Nas actions o modelo básico é: Porém em movements o modelo depende do Event adicionado no xml. Cada event tem seu modelo básico... Irei explicar um por um. StepIn Seu modelo básico é: Argumentos: .: cid ~> o UID do player que andou em cima de item; .: item ~> o item que o player cid pisou. Possui: item.uid, item.itemid, item.type, item.actionid .: pos ~> a posição do item que o player cid pisou StepOut Seu modelo básico é: Argumentos: .: cid ~> o UID do player que saiu de cima de item; .: item ~> o item que o player cid saiu. Possui: item.uid, item.itemid, item.type, item.actionid .: pos ~> a posição do item que o player cid saiu Equip Seu modelo básico é: Argumentos: .: cid ~> o UID do player que "vestiu" o item; .: item ~> o item que o player cid "vestiu". Possui: item.uid, item.itemid, item.type, item.actionid .: slot ~> o lugar do corpo que o item foi colocado. Pode ser: .:. 1 ~> cabeça .:. 2 ~> colar .:. 3 ~> slot da backpack .:. 4 ~> armadura .:. 5 ~> mão direita .:. 6 ~> mão esquerda .:. 7 ~> calça .:. 8 ~> pé .:. 9 ~> anel DeEquip Seu modelo básico é: Argumentos: .: cid ~> o UID do player que tirou o item do corpo; .: item ~> o item que o player cid tirou do corpo. Possui: item.uid, item.itemid, item.type, item.actionid .: slot ~> o lugar do corpo que o item foi retirado. Pode ser: .:. 1 ~> cabeça .:. 2 ~> colar .:. 3 ~> slot da backpack .:. 4 ~> armadura .:. 5 ~> mão direita .:. 6 ~> mão esquerda .:. 7 ~> calça .:. 8 ~> pé .:. 9 ~> anel AddItem Seu modelo básico é: Argumentos: .: moveitem ~> O item que está sendo movido. Tem os seguintes atributos: moveitem.uid, moveitem.itemid, moveitem.type, moveitem.actionid. OBSERVAÇÃO: se você marcou tileitem="1" o item que está no xml não vai ser moveitem e sim tileitem. Moveitem será o item que você arrastou em cima do item que está no xml!!! (dêem outra olhada no xml do event AddItem na parte do tileitem para intenderem melhor. Se precisar olhem os exemplos mais em baixo .: tileitem ~> você irá usar isso apenas se marcou tileitem="1" no xml. tileitem é o item que você colocou no xml, o item que os players irão mover outros items em cima (se precisar dêem outra olhada no xml do event AddItem na parte do tileitem para intenderem melhor. Se precisar olhem os exemplos mais em baixo). OBSERVAÇÃO: Por mais que esteja escrito tileitem, o tileitem não precisa ser necessáriamente um tile =) pode ser qualquer item que você possa mover coisas em cima dele. .: pos ~> a posição que o o moveitem foi movido/criado. (posição depois de mover) RemoveItem Seu modelo básico é: Argumentos: .: moveitem ~> O item que está sendo movido. Tem os seguintes atributos: moveitem.uid, moveitem.itemid, moveitem.type, moveitem.actionid. OBSERVAÇÃO: se você marcou tileitem="1" o item que está no xml não vai ser moveitem e sim tileitem. Moveitem será o item que você arrastou de cima do item que está no xml!!! (dêem outra olhada no xml do event AddItem na parte do tileitem para intenderem melhor. Se precisar olhem os exemplos mais em baixo .: tileitem ~> você irá usar isso apenas se marcou tileitem="1" no xml. tileitem é o item que você colocou no xml, o item que os players irão mover outros items em cima (se precisar dêem outra olhada no xml do event AddItem na parte do tileitem para intenderem melhor. Se precisar olhem os exemplos mais em baixo). OBSERVAÇÃO: Por mais que esteja escrito tileitem, o tileitem não precisa ser necessáriamente um tile =) pode ser qualquer item que você possa mover coisas em cima dele. .: pos ~> a posição que o o moveitem foi removido (posição antes de mover). FUNCTIONS vs SCRIPTS: Bom... Quando eu estava explicando os xmls eu falei que você pode usar script ou function. Provavelmente você já está acostumado a usar script. script="arquivo.lua" etc etc =) Mas... pra que serve function e porque eu não uso script quando uso function?!? Em movements você tem algumas funções especiais para fazer seu trabalho "andar mais rápido". Você não precisa criar nenhum aruqivo.lua! Basta saber quais são as funções especiais e como/quando usá-las OBS: Os items que serão usados nas funções especiais precisam estar configurados em data/items/items.xml!!! 1ª função ~> onStepInField Como o próprio nome já diz ela deve ser usada com o event StepIn =p Serve para adicionar damage em fields... Você não precisa de um arquivo.lua, apenas coloque: <movevent event="StepIn" itemid="ID_DO_FIELD" function="onStepInField" /> e seu field já estará dando damage assim que alguém pisa em cima dele =p 2ª função ~> onAddField Usada com o event AddItem =p Serve para adicionar damage quando o player está em um tile e outro player taca um firefield em baixo do player. <movevent event="AddItem" tileitem="0" itemid="ID_DO_FIELD" function="onAddField" /> OBS: Aconselho sempre que você usar onStepInField (1ª função) adicionar onAddField com o mesmo id para dar um ar mais real ao server. 3ª função ~> onEquipItem Usada com o event Equip. Serve para configurar rings, amuletos, etc etc... <movevent event="Equip" itemid="ID_DO_ITEM" slot="ring" function="onEquipItem" /> OBS: é bom você colocar 2 tags, uma com o ID_DO_ITEM não usado e outra com o ID_DO_ITEM usando, gastando tempo. 4ª função ~> onDeEquipItem Usada com o event DeEquip. Serve para quando o player tirar o ekip especial cancelar os efeitos desse equipamento. <movevent event="DeEquip" itemid="ID_DO_ITEM_ATIVO" slot="ring" function="onDeEquipItem" /> OBS: ID_DO_ITEM_ATIVO é o id do item sendo usado... EXEMPLOS: Bom... depois de toooooda essa teoria vamos ao que interessa o/ exemplos =) (tem poucos - até mesmo porque existem vários exemplos na pasta scripts dos ots - mais se eu achar que precisa com o tempo vou adicionando novos exemplos) Exemplo 01 .:. Configurando Stealth Ring Exemplo 02 .:. Como usar tileitem ÚLTIMAS PALAVRAS: Difícil? Talvez =p Se você tiver chegado até aqui e intendido, o que está esperando? vá fazer seus próprios movements \o/ Se você não tiver intendido, levante do pc, dê uma andadinha básica pela casa de uns 10 minutinhos para assimilar as informações e volte para reler o/ Boa sorte =) FlW CyA!
-
HiHo! @leoziks lembre-se de que apenas players de acesso =) veja se o player que você usou tinha esse access =p FlW CyA!
-
talkaction Talkaction Abrindo Fechando.;..
tópico respondeu ao victor bacchi de frerety em Actions e Talkactions
HiHo! =0 por vc não ter experiência com actions essa talkaction ficou mto boa ^^ continue fazendo actions/talkactions e lembre-se... se precisar toh aki =) FlW CyA! -
wow ^^ good job okjodkAO kara vc eh animado hein... pega maioh dinherão com os amigo =x okjokADo se fosse eu eu dava o calote kAJDoKDJo zuera =) (ah eh okAJDkod) =) Vlwww... =) FlW CyA!
-
HiHo! wow... mt bom hein =) Só uma coisinha... na função function getNumber(txt) aqui teria que ser nil, não? eu não me lembro direito mais eh qse ctz q sim, dê uma olhadinhabtw a talkaction está muito boua =) parabéens =) FlW CyA!
-
HiHo! @soulblaster 3º exemplo adicionado ^^ vlw pla sugestão =) FlW CyA!
-
HiHo! Se você não souber programar em lua ou não conhecer direito as funções do SVN(ainda conhecida por muitos como CVS) dê uma olhadinha no tutorial de actions do colex primeiro PS .: Faço apenas um pedido, se você for postar esse tutorial em outro lugar me mande uma pm me contando onde plz que eu mando o tópico até com o BBC pra não precisar reformatar tudo =) Pergunta ~> Tá... Vou ler um tutorial de talkactions, mais o que isso faz?!? Resposta ~> Simples =) Quando o player falar as palavras mágicas vai acontecer alguma coisa. Começaremos analizando o talkactions.xml (data/talkactions/) Abra e vai ter alguma coisa parecida com isso: A parte que nos interessa agora é essa destacada.Vamos analizá-la: <talkaction words="open sesame" script="example.lua" /> words(vermelho) .: O que o player deve falar para acontecer alguma coisa script(verde) .: o arquivo.lua das coisas que irão acontecer qndo o player falar as palavras Até aqui não temos dúvidas... vamos agora aprender a programar uma talkaction... Abra a pasta data/talkactions/scripts e crie lá dentro um arquivo chamado base_talkactions.lua... Cole isso: function onSay(cid, words, param) return 1 end Essa é a base de toda talkaction, tudo o que você precisar fazer terá que ter isso =) Vamos "dissecar" essa função onSay... function onSay(cid, words, param) cid(vermelho) .: o famoso cid das actions... é o "UID" do player que disse a palavra mágica, para você usar nas funções words(verde) .: A palavra mágica =) param(azul) .: é tudo o que vem depois de "... Exemplo: exiva "frerety Nesse caso exiva é a words e frerety é param =) Simples assim =) TalkActions, assim como actions, podem ser recarregadas (qndo vc altera actions vc não precisa resetar o server para a alteração ter efeito, apenas recarregue elas) com o comando /reload... Apenas use /reload talk e não precisaremos ficar resetando o server toda hora =) Muito fácil, não? Agora só para vocês irem se acostumando, aqui vai alguns exemplos de como usar: Exemplo 01 .: Criar uma palavra mágica que remova uma pedra Exemplo 02 .: Criar uma palavra mágica que mostre o Ml de um player Exemplo 03 .: Remover uma parede com limite de distância Bom, termina aqui o tutorial... Espero que vocês tenham gostado e... sejam bem vindos à nova geração de OtServers =) FlW CyA!
-
[7.8 E 7.9] Comando /randomoutfit Versão 2.0
tópico respondeu ao Zorzin de frerety em Linguagens de Programação
ops... akabei de postar na versão 1.0... <ashamed> kara mais essa fikoh perfeita o/ continua atualizando aih o/ ^^ <baba o/> FlW CyA! -
[7.8] Comando - Troca De Outfits Randomica X)
tópico respondeu ao Zorzin de frerety em Linguagens de Programação
HiHo! kara *_* mto mto mto mto mto criativo *_* mt ##### o/ por isso q ti admiro o/ Um dos melhores códigos que ando vendo ultimamente ^^ FlW CyA! -
HiHo! o code eh meio antigo... voh procurar por erros aki e se eu encontrar algum eu posto... PS .: adicione if(player) antes de if(game->votacao == true){ e adicione um } no final do bool Commands::msgvote(Creature* c, const std::string &cmd, const std::string ¶m) em commands.cpp FlW CyA!
-
Colocando Outfit De Monster Por Command
tópico respondeu ao frerety de frerety em Linguagens de Programação
brenouns ty... mas como já dito acima existe uma versão mais atual do comando... http://www.xtibia.com/forum/index.php?showtopic=16391 FlW CyA! -
HiHo! ^^ tibiaa4e, brigadao por ter trazido pra k =p fikou mt boa essas traps =p depois se vc kizer eu te ajudo a fazer uma função para actions que mata o player tbm =p VlW =p FlW CyA!
-
HiHo! @Rodygo ué... pq eu tava com a palavra fum na cabeça? ? FlW CyA!
-
HiHo! @sindi tem ctz q eh por causa disso? se for vc colocou coisa no lugar errado ^^ @all ty pelos elogios FlW CyA!
-
HiHo! srry pela demora pra responder mas toh meio ocupado com o XoTS x-] @xikow vc tem ctz q colocou no lugar certo? não errou nada? @all obrigado pelos elogios x-] FlW CyA!
-
Tutorial-como Os Nukers Fazem
tópico respondeu ao GOD_EDUZIN de frerety em Tutoriais para Iniciantes
WoW! fazia muito tempo que eu não comentava nada pq estou ocupado com o xOts... mas kra... ... detonô, hein!!! nunk tinha visto um post tão bem escrito sobre esse assunto... Realmente merece um fixed... Parabéns e continue escrevendo tópicos assim... FlW CyA!
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.