Ir para conteúdo

Tutorial Action Scripts


Darker

Posts Recomendados

Neste tutorial vou explicar como geralmente para trabalhar com os scripts de ação.



 

1 - Informações úteis (leia-se quando você é novo com isso)

2 - Comandos

3 - Fazer useables

4 - Fazer buscas

 

Todos id item é usado em 3 e 4 são 7,6 ids item!

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

 

---- 1 Informações Úteis

 

Ao editar o arquivo. LUA /. Xml o melhor editor de usar é simples bloco de notas. Você também pode utilizar outros editores como o Word. Mas funciona melhor bloco de notas comigo.

 

--- 1,1 Armazenar dados

 

Quando o script em ação ot arquivos que você vai ter que entender o que significa alguma coisa. Uma das coisas importantes são itens nos quais você pode armazenar dados. Aqui vou dar um exemplo:

 

Código:

= número 1now o item de armazenamento "número" contém "1". Assim, cada vez vamos chamar o valor de armazenamento "item", teremos a resposta "1".

Quando você gostaria de realizar cálculos matemáticos que você pode fazer assim:

 

Código:

= número + número 1Now não será adicionado um valor ao número de armazenamento. Você pode substituir com + -, / e alguns sinais mais matemática (havn't tentei todos eles).

Se quiser peça para ser um número aleatório, seria assim:

 

Código:

math.random número = (1,10) 1,10 é o min / max número aleatório que o init deve receber.

 

Também é possível armazenar texto dentro desses itens Starage. Um exemplo:

 

Código:

name = "oi, meu nome é Mindstorm" Agora, o armazenamento de itens "nome" conterá o texto "oi, meu nome é Mindstorm".

Nestes dois exemplos que usei o armazenamento de itens "número" e "nome". No entanto, você pode alterá-los para o que quiser!

 

--- 1.2 Se afirmações:

E se comunicado diz apenas que um pedaço de código entre o "se" eo "fim" só será realizada quando as linhas de código entre o "se" eo "depois" está correto.

Você sempre precisa para fechar um "if" e com "final".

Exemplo:

 

Código:

Se a Apple == 1 então

"Pedaço de código"

Código endThis vai realizar o "pedaço de código" somente se o valor de armazenamento "maçã" é 1. Olhe para o "==" parte. Ao usar uma instrução if e você quiser comparar dois fatores que você deve usar o "=" signe duas vezes em vez de uma só vez!

Se você deseja que o "if" para comparar múltiplos fatores, em um comunicado que será parecido com este:

 

Código:

Se maçã e pêra == 1 == 2 então

"Pedaço de código"

endNow o "pedaço de código" só será efectuada quando o armazenamento do valor da "maçã" é 1 e "pera" é 2. Claro que você pode colocar como muitos fatores em um if, contanto que você separe-os com um "e".

Se você gostaria de realizar "pedaço de código", quando o armazenamento do valor da "maçã" é 1 ou quando o armazenamento do valor "pêra" é simplesmente substituir os dois "e" por um "ou".

 

Digamos que você quer executar "pedaço de code1" quando o armazenamento do valor da "maçã" é 1 e "pedaço de code2" quando o valor de armazenamento "maçã" não é 1. Ela terá

para olhar como este:

 

Código:

Se a Apple == 1 então

"Pedaço de código"

mais

"Pedaço de code2"

endYou simplesmente colocar um "else" entre o "se ... então" e "fim" do. Tudo que está entre o "se .. então" eo "outro" será realizada se o valor de armazenamento de maçãs é 1, tudo que está entre o "outro" e "final" será feita quando e maçã valor de loja é NOT 1

 

Agora, o que se quiser "pedaço de code1" a ser realizado quando o armazenamento do valor da "maçã" é 1 e "pedaço de code2" quando o armazenamento do valor da "maçã" é 2. Quando a Apple não é nem 1 nem 2 "pedaço de Code3" será realizado.

 

Código:

Se a Apple == 1 então

"Pedaço de code1"

maçã elseif == 2 então

"Pedaço de code2"

mais

"Pedaço de Code3"

endNow se o valor de armazenamento "maçã" é um "pedaço de code1" será realizada, mas se o valor de armazenamento "maçã" é de 2 ONLY "pedaço de code2" será realizado!

Quando a maçã não é nem vermelho, nem verde "pedaço de código 3" será realizado.

Você pode colocar quantas "elseif ... então" 's entre o "se ... então" e do "outro" como você quiser.

Se você quiser que nada aconteça quando a maçã não é nem 1 ou 2 simples remover o

mais

"Pedaço de Code3"

 

Quando você estiver usando "==" entre a Apple e 1 (se a maçã == 1, então) que você está comparando. Então você diz, se o valor de armazenamento de "maçã é um" então ....

Quando você usa o "==" o sinal, a parte em frente ao "==" (maçã) na maioria das vezes representa um item de armazenamento.

Mas seria bom se pudéssemos fazer outras coisas, em seguida, comparar os fatores! Portanto, podemos colocar algumas coisas diferentes entre o valor de armazenamento e, em seguida, coisa que você quer comparar (ou qualquer outra coisa) que ele.

Exemplos:

- Se a Apple> 1, então (só será realizado se o valor de armazenamento "maçã" é maior que 1)

- Se a Apple <1 então (só será realizado se o valor de armazenamento "maçã" é menor que 1)

- Se a Apple ~ = 1 então (só será realizado se o valor de armazenamento "maçã" não é 1)

- Se> Apple = então (só será realizado se o valor de armazenamento "maçã" é 1, ou maior, então 1)

- Se <= maçã então (só será realizado se o valor de armazenamento "maçã" é 1 ou menor que 1)

 

--- 1.3 Para declarações

 

Para afirmações são completamente diferentes, em seguida, se as declarações. Aqui está um exemplo:

 

Código:

1,10 para a Apple fazer

doPlayerSendTextMessage (cid, 18, maçã)

"DoPlayerSendTextMessage (cid, 18, maçã)" final é uma função (mais sobre isso depois), que irá enviar uma mensagem para o jogador com um texto. Agora, o texto que será enviado é o contém da "maçã" de armazenamento de item. Neste código para declaração vai criar um loop. Ele irá repetir "doPlayerSendTextMessage (cid, 18, maçã)" até que a maçã valor de armazenamento é de 10.

[/ I] para a maçã nr1, nr2 fazer [/ i]. Aqui nr1 é o número inicial, NR2 é o número de acabamento. O laço for vai automaticamente aumentar o valor do depósito item "maçã" cada vez que repete o ciclo.

 

--- 1,4 demonstrações Repetir

 

Repetir declarações vai repetir um trecho de código até que alguma coisa atinge um valor. Exemplo:

 

Código:

Repita

"Pedaço de código"

Até NumberOfApples> NumberOfPearsNow o "pedaço de código" wil ser repetido unstill o valor de armazenamento NumberOfApples é maior que o valor NumberOfPears armazenamento. Claro que você pode mudar NumberOfPears em um número.

 

---- 2 Comandos

Quando a ação de script arquivos existem alguns comandos que são úteis para saber. Aqui vou explicar uma vez que você irá usar mais.

 

"Função onUse (cid, item, frompos, item2, topos)":

Isso é o que cada script de ação começa com. O onUse function () apenas significa que você está usando alguma coisa (um item ou outro qualquer). Existem alguns valores de armazenamento que são dadas no Action Script, que você não tem que configurar! Estes valores de armazenamento são:

-Cid: A pessoa que usa o item (informação sobre a pessoa que estiver usando).

-Item: Informações sobre o item que ele está usando. (Isso se você ctrl-clique sobre uma baga informações arbusto azul muito al sobre esse arbusto azul é armazenado dentro do valor de armazenamento de item).

-Frompos: De que posição ele vai usar o item.

-Item2: se ele está usando o item em alguma coisa, item2 contém dados desse item.

-Topos: a posição que ele está usando para o item.

Tenha em mente que onUse fuction () sempre termina com um "fim"

 

- Não funciona

 

"DoPlayerSay (cid," oi ", 2)":

Este tipo de função vai um recado para o jogador. Agora, o jogador seria automaticamente dizer oi.

 

"DoPlayerSendTextMessage (cid, 22," Hi .")":

Se você digitar isso no seu script de ação que irá enviar a mensagem para Oi Cid. Cid é o jogador que está usando um objeto. 22 é a cor que a mensagem deve ser mostrada dentro (1-22 de trabalho, com certeza, maior que aqueles que eu não sei). numberFor exemplo, se um jogador usa uma alavanca esse script ação será enviar.

 

Código:

onUse Função (cid, item, frompos, item2, topos)

doPlayerSendTextMessage (cid, 22, "oi")

EndNow cada vez que um jogador usa uma alavanca que ele vai receber uma mensagem dizendo "oi" dentro de sua barra de chat.

 

"DoPlayerSendCancel (cid," oi ")":

Esta função se parece muito com o doPlayerSendTextMessage () função. A diferença é que você não pode usar as cores ea mensagem não será mostrado dentro do chat bar, mas na parte inferior da tela. (Normalmente, o texto "está esgotado" ou "você não tem mana suficiente" aparecem lá).

 

"DoCreateItem (id, número, topos)":

Esta função irá criar um item sobre o título que você usa. Id é o ID do item que deve ser criado, o número é a quantidade do mesmo, topos é a posição onde deve ser criado. Lembra quando você usar um topos item já é o coords

 

"DoDecayItem (item.uid)":

Esta função irá decair um item. Isso significa que ele irá retornar ao seu original item.id. (Por exemplo buracos pá voltar a montes de pedra).

 

"DoPlayerAddHealth (cid, 100)":

Isso vai acrescentar 100 para a saúde do jogador (CID). Você pode substituir 100 ofcourse por qualquer número que você gostaria! Você também pode fazer o 100 um número negativo, este número será removido da saúde dos jogadores.

 

"DoPlayerAddMana (cid, 100)":

Isso vai acrescentar 100 mana para o jogador (CID). (Também pode ser números negativos).

 

"DoPlayerAddSkillTry (cid, 6,1)":

Esta função irá adicionar uma habilidade. 6 significa que o tipo de habilidade 1 significa que a quantidade de habilidade para ser adicionado (em% não, ou como um nível, apenas como um número de tentativas).

 

"DoPlayerSetMasterPos (cid, newpos)":

Esta função irá definir a posição do novo mestre do jogador. A posição do mestre é a posição onde o jogador irá se ele morrer.

 

"DoPlayerSetVocation (cid, COV)":

Esta função irá definir a vocação jogadores. Voc é a vocação como um dígito (0-4).

 

"DoPlayerRemoveMoney (cid, 100)":

Esta função irá recolher uma quantidade de dinheiro a partir de mochila do jogador. (Você pode mudar 100 para o que você quiser).

 

"DoPlayerAddItem (cid, quantidade, itemid)":

Esta função irá adicionar um item na mochila jogadores. 2400 é o número do item (você pode encontrar os números dos itens no item.xml. 1 representa a quantidade desses itens deve ser dado. Quando 2400 seria um item que você pode entrar em quantidade (moedas de ouro, platina, moedas, runas) será o montante do mesmo. Portanto, se você mandaria (cid, 2152,100), é necessário adicionar 100 moedas de ouro dentro da mochila jogadores. Ao dizer (cid, runeid, 100) você gostaria de acrescentar uma runa do tipo runeid com 100 cargas dentro da mochila jogadores.

Quando o ID do item que deseja enviar uma garrafa / caneca caneca de cerveja ou algo igualmente o número vai significar o contém da garrafa / mub / caneca de cerveja. (Para o que está dentro). Por exemplo: doPlayerAddItem (cid, bottleid, 0) daria uma garrafa com sangue no seu interior.

 

"DoPlayerRemoveItem (cid, quantidade, itemid)":

Esta função irá remover um item do inventário dos jogadores.

 

"DoRemoveItem (item.uid, item.type)":

Esta função seria remover o item que você está usando.

 

"DoSetItemActionId (item.uid, newactionid)":

Esta função irá alterar o itemid de um item em uma nova itemid.

 

"DoSetItemText (item.uid," Oi ")":

Esta função irá definir o texto de uma leitura (livros, cartas ...). Item.uid é a identificação do item original. "Oi" é o texto que você quer ser no interior do legível. (Vou dar mais explicações sobre isso no "4 - Fazer quests" parte).

 

"DoShowTextWindow (item.uid, 0,0)":

Esta função irá mostrar a caixa de texto na tela a partir de uma leitura (livros, cartas ....). Ele não pode colocar no texto que você vai ler! Item.uid é o item que deve ser mostrado pequena em cima. 0,0 é algumas coisas em geral (Você não deve usar essa função para tanto, a maioria dos itens lidos já estão definidos.

 

"DoSendAnimatedText (posição," texto ", 180)":

Esta função irá enviar um texto animado para a posição (dano, monstros gritando). A posição é a posição. "Texto" é o texto a ser mostrado (também pode ser um dígito). 180 é a cor. (180 é o vermelho, outros você terá que experimentar).

 

"DoTeleportThing (cid, posição)":

Esta função seria teleportar o jogador para uma nova posição. Exemplo

 

Código:

onUse Função (cid, item, frompos, item2, topos)

posição = {x = 273, y = 433, z = 9}

doTeleportThing (cid, posição) ":

EndThe valor de armazenamento posição tem multiplicar itens armazenados. Depois de ter definido uma posição de, por exemplo, "posição = {x = 273, y = 433, z = 9}" você sempre pode mudar apenas as coordenadas X assim:

Position.x 272 =

 

"DoSendMagicEffect (posição 2)":

Esta função simplesmente envia um efeito mágico para uma posição. Os valores de posição podem ser armazenados da mesma forma como no doTeleportThing () função. 2 significa que o efeito mágico. Eu acho que estes podem variar de 1-15 ou algo parecido. Eu não sei o que todos estes efeitos mágicos fazer (2 puf = 12 é bolha teletransporte).

 

"DoTransformItem (item.uid, 1945)":

Com esta função você pode alterar um item existente em um outro item. Ao utilizar esta função, o item que você clicou irá mudar para o 1945 itemid (a oeste da alavanca apontando, neste caso).

 

"DoSummonCreature (" guerreiro orc ", a posição)"

Esta função irá invocar uma criatura em uma posição que você definiu. (A posição é um valor de armazenamento).

 

"DoPlayerFeed (cid, alimentos)";

Esta função irá alimentar o jogador uma quantidade de alimentos. Eu não sei a quantidade comum para qualquer tipo de alimento embora. Você terá que experimentar com ela.

 

- Obter funções

 

"GetPlayerAcces (cid)":

Essa função vai ter o acesso do leitor. Por exemplo:

= Acesso getPlayerAcces (CID)

O valor de armazenamento de acesso passará a conter o número de acesso do leitor.

 

"GetPlayerGuildId (cid)":

Esta função irá fazer os jogadores da guilda id.

 

"GetPlayerHealth (cid)":

Essa função vai ficar a saúde dos jogadores.

 

"GetPlayerLevel (cid)":

Esta função terá a jogadores do nível atual.

 

"GetPlayerMagLevel (cid)":

Esta função irá fazer os jogadores magic level atual.

 

"GetPlayerMana (cid)":

Esta função terá a mana jogadores.

 

"GetPlayerMasterPos (cid)":

Esta função terá a posição de mestre jogadores (na maioria das vezes o templo spawn posição).

 

"GetPlayerName (cid)":

Esta função irá obter o nome dos jogadores.

 

"GetPlayerPosition (cid)":

Essa função vai ficar a situação jogadores.

 

"GetPlayerSkill (cid, 6)"

Esta função irá obter o nível de perícia dos jogadores. 6 significa que o tipo de habilidade (0 = magia, uma espada = 2 = clube, 3 = ax, 4 = distância, 5 = blindagem, 6 = pesca. Pelo menos se não me engano).

Este é o nível da habilidade, e não o número!

 

"GetTilePzInfo (posição)":

Essa função vai verificar se o título é uma zona de protecção ou não. Se o resultado for 0, o título vai ser uma zona de protecção.

 

"GetPlayerFood (cid)":

Essa função obtém a quantidade de comida que o jogador tem actualmente comido. (Diminui a cada segundo, ele está online ou na cama). A quantidade normal para um jogador estar "cheio" é de 1200.

 

"GetThingfromPos (posição)":

Essa função vai ficar tudo em uma posição. Por exemplo:

 

Código:

onUse Função (cid, item, frompos, item2, topos)

posição = {x = 273, y = 433, z = 9, stackpos = 0}

positioninfo = getThingfromPos (posição)

EndPositioninfo agora contém informações sobre o título que a posição é. (Porque é stackpos 0)

Positioninfo.itemid seria o item.id do título a partir da posição {x = 273, y = 433, z = 9}. Mais informações sobre o stackpos em "4 - Fazer Quests".

 

"GetPlayerStorageValue (cid, o número de armazenamento)":

Esta função seria obter um valor de conservação a partir da playersname.xml. Os valores de armazenamento são uma maneira de olhar se o jogador, por exemplo, já fez uma busca. Então, se você gostaria de obter um valor de armazenamento, provavelmente parecido com isto:

queststatus = getPlayerStorageValue (cid, 2000)

Queststatus que agora contêm um número (na maioria das vezes esse número é -1 se ele não fez a quest, e se ele tiver um).

 

- Outras funções

 

"SetPlayerStorageValue (número, armazenamento cid, 1)"

Com esta função você deve definir um valor de armazenamento. Por exemplo:

setPlayerStorageValue (cid, 20001)

 

"Print (" oi ", item)":

Uma função muito simples de imprimir um texto com um valor dentro da caixa de armazenamento do servidor. Portanto, este será impresso oi 5 (ou qualquer valor item contém).

 

---- Fazendo utilizáveis

 

 

A primeira coisa que você teria que fazer é editar o actions.xml. Você pode encontrar esse arquivo dentro do dados / ações / pasta.

Este arquivo contém uma grande quantidade de informações. A maioria das linhas se parecem muito com isso:

 

Existem dois tipos diferentes de coisas que você pode adicionar a este arquivo.

 

 

 

Quando você insere um itemid =. O script.lua será realizada quando você usa todos os itens com este ID! Ao utilizar o script.lua o uniqueid só será efectuada quando o item que você usa tem uma ID exclusiva "1000" (ou um outro tipo de identificação).

Script.lua é o script que será realizada ao usar o item. "Script" pode ser o que quiser. O local de onde o script deve ser-se de dados / ações / ações /.

 

Agora vamos dizer que queremos fazer um arbusto de mirtilo, que você pode realmente usar!

Primeiro teríamos que inserir uma linha dentro do actions.xml. Esta linha ficaria assim:

 

Não importa onde essa linha fica contanto que fica entre a ...

 

O roteiro, estamos nos referindo é bush.lua. Então vá para os dados / ações / pasta de ações e criar um novo arquivo chamado bush.lua (quando usando o notepad ser cuidado você não criar um bush.txt).

O bush.lua teria que ficar assim:

 

Código:

onUse function (cid, item, frompos, item2, topos)

se item.itemid == 2785, em seguida,

doPlayerFeed (cid, 5)

doCreateItem (2677,3, topos)

doTransformItem (item.uid, 2786)

doDecayItem (item.uid)

final

endThe if .. olha se o final item.id é igual ao item de id de um arbusto azul. (Na verdade, não necessariamente porque bush.lua só tem de realizar quando se utiliza um arbusto azul.

doPlayerFeed (cid, 5) alimentam o leitor

doCreateItem (2677,3, topos) cria três bagas azul em cima da bucha.

doTransformItem (item.uid, 2786) irá alterar o mato para um arbusto sem bagas azul.

 

Agora salve o arquivo novamente. Quando iniciar o seu servidor e usar um arbusto azul que você vai comer, e 3 bagas azul vai estar em cima da bucha!

Eu não descobri como deixar a decadência de Bush para que ele retorne a um arbusto com bagas novamente após algum tempo.

 

Este foi apenas um item simples utilizável. Agora vamos dizer que queremos criar uma alavanca que abriria um "natal" novo para a posição. Esta é uma ação legal quando você tem mais cidades.

Você vai para fora do curso precisa adicionar uma linha no actions.xml.

A primeira coisa que você tem a fazer é definir a ação id da alavanca que vai usar no editor. Isto é como eu fiz isso:

Esta imagem foi redimensionada. Clique nesta barra para ver a imagem completa. A imagem original é 1280x768 261KB de tamanho e pesos.

 

Agora a alavanca no templo tem a ação ID 2000. Teremos de colocar uma linha no actions.xml que dizer que cada vez que alguém usa o item com o ID de um roteiro original 2000 será realizada. Eu adicionei essa linha

 

Agora precisamos fazer uma changehometown.lua que será realizado quando alguém usa a alavanca com a Unique ID 2000. Eu fiz assim:

 

Código:

onUse function (cid, item, frompos, item2, topos)

se item.itemid == 1945, em seguida,

doTransformItem (item.uid, 1946)

newpos = {x = 100, y = 100, z = 7}

doPlayerSetMasterPos (cid, newpos)

mais

doTransformItem (item.uid, 1945)

final

endThe if ... else ... end vai verificar se a alavanca enfrenta o oeste ou leste. Quando caing oeste do id alavanca será 1945. Quando um jogador puxa a alavanca a sua posição de mestre será mudado para uma posição de novo mestre pus no valor de armazenamento newpos. Quando o ID de item não é 1945, a alavanca está voltada para o leste, e em seguida a alavanca só será mudado a face oeste.

 

Estes dois exemplos onde a calma scripts de ação mais fácil. Mas lembre-se que você pode fazer a maneira mais avançado ou maior uma vez e depois estes!

 

---- 4 Fazendo quests

 

Aqui vou dar uma aula rápida de como você pode fazer buscas avançadas agradável.

 

Na busca primeiro vou explicar algumas coisas em geral.

Primeiro: Elevadores (trabalhar com valores de armazenamento e teleports).

Isto é como olha no meu mapa:

Esta imagem foi redimensionada. Clique nesta barra para ver a imagem completa. A imagem original é 1280x768 184KB de tamanho e pesos.

 

Este é o 3 º andar. Com um elevador e de manutenção. Quando um jogador quer usar o elevador, mas ele ainda não usou qualquer uma das alavancas que não vai funcionar. Assim, ele terá que usar uma das alavancas, antes que ele será enviado para cima ou para baixo.

Esta imagem foi redimensionada. Clique nesta barra para ver a imagem completa. A imagem original é 1280x768 182kb de tamanho e pesos.

 

Este é o 2 º andar. Quando você usa a alavanca no 3 º andar será provável teleportado para o 2 º andar.

Esta imagem foi redimensionada. Clique nesta barra para ver a imagem completa. A imagem original é 1280x768 178kb de tamanho e pesos.

 

Este é o 1 º andar. Repare que isso parece um pouco mais "assustador" e depois os outros dois. Isso é porque ele é um chão onde você só será teleportado para se você tiver todas as 4 alavancas de manutenção (primeira imagem) em uma posição correta.

 

Aqui está o lever.lua que usei para este script. Os comentários serão iniciar a codificação com um "--comentário"

 

 

Código:

onUse function (cid, item, frompos, item2, topos)

Se a alavanca == 2000 then-Elevador item.uid (screen1)

queststatus = getPlayerStorageValue (cid, 2000) - - se ele já usou uma das alavancas na manutenção

se queststatus == -1 then - - se ele não tem usado

== 1945 se item.itemid texto então alguns simples e movimento da alavanca

doTransformItem (item.uid, 1946)

doPlayerSendCancel (cid, "happends Nada").

mais

doTransformItem (item.uid, 1945)

doPlayerSendCancel (cid, "A plataforma que está em pé sobre shakes por um segundo.")

final

outro - - se ele usou uma das alavancas

se item.itemid == 1945 then - - se a alavanca é puxada leste

doTransformItem (item.uid, 1946)

doPlayerSendCancel (cid, "Você ouve algo se mover ...")

outro - - se a alavanca é puxada oeste (happends algo)

doTransformItem (item.uid, 1945)

queststatus1 = getPlayerStorageValue (cid, 2005) - - valor de armazenamento das 4 alavancas na sala de manutenção. Eu não queria olhar para a posição da alavanca, porque senti que todos tinham de dar a tacada a alavanca na posição correta.

queststatus2 = getPlayerStorageValue (cid, 2006)

queststatus3 = getPlayerStorageValue (cid, 2007)

queststatus4 = getPlayerStorageValue (cid, 2008)

se queststatus1 == -1 e queststatus2 == -1 e queststatus3 == 1 e queststatus4 == -1 then - - se a posição das alavancas é assim que você será teleportado para o 1 º andar

nplayer1pos = {x = 273, y = 433, z = 11}

doSendMagicEffect (cid, 2)

doTeleportThing (cid, nplayer1pos)

outro - - Não se você será teleportado para o 2 º andar

nplayer1pos = {x = 273, y = 433, z = 10}

doSendMagicEffect (cid, 2)

doTeleportThing (cid, nplayer1pos)

final

final

final

elseif item.uid == == item.uid 2001 ou 2002, em seguida, - - o elevador para voltar ao terceiro andar

se item.itemid == 1945, em seguida,

doTransformItem (item.uid, 1946)

mais

doTransformItem (item.uid, 1945)

nplayer1pos = {x = 273, y = 433, z = 9}

doSendMagicEffect (nplayer1pos, 2)

doTeleportThing (cid, nplayer1pos)

final

elseif item.uid> 2004 e item.uid <2.009 então - chaves para o elevador na sala de manutenção

se item.uid == 2005, então

se item.itemid == 1945, em seguida,

doTransformItem (item.uid, 1946)

setPlayerStorageValue (cid, 2005,1)

setPlayerStorageValue (cid, 20001)

doPlayerSendCancel (cid, "Você trigered algo.")

mais

doTransformItem (item.uid, 1945)

setPlayerStorageValue (cid, 2005, -1)

final

elseif item.uid == 2006, em seguida,

se item.itemid == 1945, em seguida,

doTransformItem (item.uid, 1946)

setPlayerStorageValue (cid, 2006,1)

setPlayerStorageValue (cid, 20001)

doPlayerSendCancel (cid, "Você trigered algo.")

mais

doTransformItem (item.uid, 1945)

setPlayerStorageValue (cid, 2006, -1)

final

elseif item.uid == 2007, em seguida,

se item.itemid == 1945, em seguida,

doTransformItem (item.uid, 1946)

setPlayerStorageValue (cid, 2007,1)

setPlayerStorageValue (cid, 20001)

doPlayerSendCancel (cid, "Você trigered algo.")

mais

doTransformItem (item.uid, 1945)

setPlayerStorageValue (cid, 2007, -1)

final

mais

se item.itemid == 1945, em seguida,

doTransformItem (item.uid, 1946)

setPlayerStorageValue (cid, 2008,1)

setPlayerStorageValue (cid, 20001)

doPlayerSendCancel (cid, "Você trigered algo.")

mais

doTransformItem (item.uid, 1945)

setPlayerStorageValue (cid, 2008, -1)

final

final

retorno 1

endSo com este código que você fez um script elevador tranquila avançado que pode ser parte de uma missão. Agora, para um script segunda busca. Criando buracos escolher!

 

Se uma pessoa usa uma pick que eu fiz o servidor executar o script pick.lua. Este é o script pick.lua.

 

Código:

onUse function (cid, item, frompos, item2, topos)

se topos.y topos.x == == 209 e 456 e, em seguida, topos.z == 12 - - coordenadas

doTransformItem (item2.uid, 383) - - alteração buraco

mais

return 0 - - retorno 0 significa que você começa a mensagem. Isso não é possível. (Ou algo do mesmo modo)

final

return 1 - - retornar 1 significa que ele tem trabalhado

endThis é um código muito simples de usar buracos escolher! E se você quiser ter mais furos escolher simplesmente um anúncio topos.x elseif == ... e assim por diante.

No entanto, eu não descobri como fazer a decadência buraco, por isso vai voltar ao normal após um período de tempo.

 

Alguém me perguntou se é possível fazer legíveis. Sim, é. Eu trabalhei isso uma vez, mas perdi os dados de como. No entanto eu posso dar um bom palpite sobre como vai funcionar.

doSetItemText (uid, "texto")

Com esta função você pode definir o conteúdo de um livro, por exemplo, letras legíveis rola ou outro. uid é o ID único de um item do qual deseja alterar o texto. O texto é claro é o texto que você deseja colocar dentro Mas eu notei que algumas vezes você só pode colocar em cerca de 255 caracteres e não mais. Não sei se todos os servidores tem como aquele. Também acredito que se você colocar em "\ n" isso seria o mesmo que um Enter (linha seguinte).

:thumbsupsmiley2: Gostou +Rep

Creditos:Darker(Ediçao),(Traduçao),(e levar ao xtibia.com)

Mindstorm(Criador)

Editado por Darker
Link para o comentário
Compartilhar em outros sites

nooosssaa parabens eu não sou bom com script mais depois desse tutorial ja sou expert =D mt bom rep+ comcerteza parabens mesm

 

Obrigado Este e meu primeiro tutorial no xtibia espero que seja util para todos!...

Link para o comentário
Compartilhar em outros sites

Otimo, parabens.

Ajuda todos aqueles que querem ingressar na carreira de scripts, isso ajuda totalmente uma pessoa a intender a complexidade de um script, e assim podendo fazer seus propios scripts.

Claro que o processo de se aprender a ser um bom script demora, mais com um bom tutorial feito este, fica facil, pratico, e até um pouco mais rapido.

Amanha eu irei dar o REP+, porque hoje eu ja dei.

:button_ok:

Editado por SpeaksTuTor
Link para o comentário
Compartilhar em outros sites

Olá Darker

 

Já existe um tutorial de funções iguais a esse , porém vejo que o seu é mais atualizado.

 

Faça algumas modificações:

-Retire de


-Separe cada funções em spoiler , deixe-as explicações coloridas , e as funções em negrito.

 

Está ótimo , apenas algumas coisinhas que deve arrumar ;)

Link para o comentário
Compartilhar em outros sites

Nao esta ripado nao vc viu os creditos eu att o tutorial modifiquei quase tudo porem dei os creditos do autor e eu por editar e layout oq vc esta falando nao entedi sua respoda de layout????

se gostaram da um ++ wae PF

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

@Edited Sky Ja Mofiquei o Tutorial agora e so estou aguardando sua aprovaçao ou a de qualquer um outro MOD Vlws...

Editado por Darker
Link para o comentário
Compartilhar em outros sites

  • 1 month later...
×
×
  • Criar Novo...