Ir para conteúdo

Kobrakt

Campones
  • Total de itens

    8
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    Kobrakt deu reputação a Poke X Ice em Erro com function IF   
    Boa noite, você colocou assim no if = corrreto seria assim ==
     
    segue correção:
     
  2. Upvote
    Kobrakt deu reputação a DuuhCarvalho em Tutorial Básico Actions   
    Actions, são scripts que são executado quando o Player * dar Use ou Use With * em algum item .
     
     
    Funções usadas para começar um script em Actions :
    function onUse(cid, item, frompos, item2, topos) -- Ao dar Use no item . function onUse(cid, item, fromPosition, itemEx, toPosition) -- ao dar Use with .. (Usar o item em algo) Valores de Armazenamento : (Você não tem que configurar)
    cid = Player que está usando o item. item = Item que está usando . fromPosition = Posição que to usando o item. toPosition = Para posição itemEx = Se o Personagem está usando o item em algo . (contém dados de "algo") Exemplo de Script : onUse .
    function onUse(cid, item, frompos, item2, topos) local level = 100 local pos = {x= 160, y= 54, z= 7} if getPlayerLevel(cid) >= level then doTeleportThing(cid, pos) else doPlayerSendTextMessage(cid, "Você precisa ter Level "..level.." ou mais.", 22) end return TRUE end Entendendo...
     
    Ao dar use no item. (definido em Action.Xml)
    Se o Player(cid) tiver level maior ou igual a 100 então o mesmo será teleportado para posicão X (no caso 160, 54, 7) .
     
    Tag em Actions.Xml :
    <action itemid="IDdoItem" script="NomedoArquivo.lua" /> Script com itemEx .
    function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = {x= 160,y= 54,z= 7} if itemEx.itemid == 7131 then doTeleportThing(cid, pos) else doPlayerSendCancel(cid, "Você está usando o item no Lugar Errado") end return TRUE end Entendendo ...
     
    O item com use with será definido em Actions.Xml .
    Ao usar o item (item com use with) em algo .
    Se "algo" (itemEx.itemid) for 7131.. Se o Player tiver usando o item(com use with) no item 7131 então , o Player será teleportado para posição X.
     
    Tag em Actions.Xml:
    <action itemid="IDdoItem" script="NomedoArquivo.lua" /> IDdoItem = Item com use With .
     

    Para criar um novo script vá em data / actions / scripts e crie um novo Arquivo.lua
    Depois é so colocar a tag em data / actions / Action.Xml.
     
     
    Algumas Funções get, set, do ... Você encontra Aqui ! .
  3. Upvote
    Kobrakt deu reputação a JuniorPavani em [Tutorial] Básico Sobre CreatureScripts   
    Tutorial Básico sobre CreatureScripts

    CreatureScripts = São scripts que serão ativados após uma determinada ação criada pelo monstro ou personagem. Essas ações são determinadas como funções. Existem varias funções utilizadas para a criação de creaturescripts e estas são:


    onDeath(cid, corpse, killer)-- que é executada ao morrer. onPrepareDeath(cid, lastHitKiller, mostDamageKiller) -- semelhante a onDeath. onAttack(cid, target) -- executa ao atacar. onCombat(cid, target) -- semelhante ao onAttack. onLogin(cid) -- executa ao logar. onLook(cid, thing, position, lookDistance) -- executa ao dar look. onAdvance(cid, skill, oldLevel, newLevel) -- executa ao upar skills/levels. onStatsChange(cid, attacker, type, combat, value) -- executa ao perder ou ganhar life/mana/condições. onLogout(cid) -- executa ao deslogar. onKill(cid, target, lastHit) -- executa ao matar. onThink(cid, interval) -- executa em determinado tempo. onJoinChannel(cid, channelId, users) -- executa ao entrar em um chat. onReceiveMail(cid, sender, item, openBox) -- executa ao receber um parcel/carta. onReportBug(cid, comment) -- executa ao reportar bug. Para criar esse tipo de script, primeiramente vai na pasta data/creaturescripts/scripts e duplica um arquivo e salve com "nomedesejado";
    Agora você vai determinar que função você vai precisar para criação do seu script. Para exemplo vou usar a função "onAdvance"(ao upar).
    Neste exemplo, quando o player upar level 100 ele irá ganhar 1kk:

    1 function onAdvance(cid, skill, oldLevel, newLevel) 2 if getPlayerLevel(cid) >= 100 and getPlayerStorageValue(cid, 1234) < 1 then -- checa level e storage 3 doPlayerAddItem(cid, 2160, 100) -- entraga a premiação 4 setPlayerStorageValue(cid, 1234, 1) -- define a storage para 1, para evitar entregar o premio mais de uma vez 5 doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabéns, você ganhou 1kk por atingir level 100!") 6 doSendMagicEffect(getCreaturePosition(cid), 30) 7 end 8 return true 9 end Numerei as linhas para melhor entendimento, nos seus scripts vocês não devem numerar.

    linha 1 = Inicio da função onAdvance, essa linha recebe algumas informações do player que upou, como seu cid, seus skills o velho level e o novo level. Obs: cid = creature id, numero de identificação do player/monstro. linha 2 = Inicia-se um if onde verifica se o level do player é igual a 100 e verifica a storage do player . Se for verdadeiro, o script executa as linhas 3,4 e 5, senão pula direto a linha 6. linha 3 = Adiciona 100 itens com o id 2160 ao player. linha 4 = define a storage do player para que não pegue o premio duas vezes linha 5 = Manda uma mensagem parabenizando o player linha 6 = Solta o efeito de numero 30, na posição em que o player esta. linha 7 = Finaliza a verificação do if. linha 8 = Retorna verdadeiro. Obs: sempre é necessario ela linha no final de seu código. linha 9 = Finaliza a função onAdvance. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Por fim para funcionamento do seu script é necessario adicionar 2 tags:
    1º- No "data/creaturescripts/creaturescripts.xml"
    2º- No arquivo "data/creaturescripts/scripts/login.lua", Obs: se o script que você for fazer for de função onLogin, não precisa adicionar a segunda tag.

    1º Tag: Vai em data/creaturescripts/creaturescripts.xml e cole a tag:

    <event type="advance" name="QualquerNome" event="script" value="nomedesejado.lua"/> O type="" , será o nome da função de seu script após a palavra "on" e sempre tudo em minusculo.
    O name="", use qualquer nome porem esse nome vai ser usado para registrar no script onLogin na tag2.
    O value="", é o nome com qual você salvou seu script.

    Agora em data/creaturescripts/scripts/login.lua, sempre antes do último return true:


    registerCreatureEvent(cid, "QualquerNome") QualquerNome é o name que você adicionou na tag1 do creaturescripts.xml.

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

    Acho que é isso aew, espero ter ajudado a galera que esta iniciando.

    Dica para criação de scripts:
    Para melhor edição e organização use Notepad++: http://www.baixaki.c...ad/notepad-.htm
    E sempre pesquise por scripts prontos e tutoriais para ter uma base.



    CREDITOS:
     
    JHON pelo tutorial completo!
  4. Upvote
    Kobrakt deu reputação a Refe em Central de Aprendizado LUA: Desvios condicionais!   
    Bom, eu vou tentar trazer semanalmente umas dicas de programação, começando com LUA de após fechar todas as dicas eu irei começar o central de aprendizado em c++.
     
    Hoje, sendo a primeira "aula" eu irei explicar os desvios condicionais, que são:
    If else elseif Como utilizar IF?
    Basicamente, o "if" se trata de uma condição, sendo utilizado da seguinte forma:
    if <condição> then Como exemplo, irei fazer um desvio caso o nível do jogador seja maior ou igual a 15:
    if player:getLevel() >= 15 then Após isto, deve se colocar oque o script irá realizar caso a condição seja satisfeita.
    No exemplo a seguir ele irá printar para o console o nível do jogador:
    if player:getLevel() >= 15 then print(player:getLevel()) end Else e Elseif: caso condição não seja satisfeita
    Digamos que no script anterior eu queria que caso a condição não seja satisfeita o console printe "no", eu posso fazer com ajuda do "else":
    if player:getLevel() >= 15 then print(player:getLevel()) else print('no') end O elseif é mais "complexo", por exemplo: ele nega a condição anterior e adiciona uma nova condição.
    Quero que de acordo com o nome do jogador ele printe uma informação como exemplo:
    if player:getName() =="Refe" then print('feio') elseif player:getName() == "Sone" then print('lindo') elseif player:getName() == "Frenvius" then print('feio') end Resumo das dicas:
     
    If: Usado para adicionar uma condição
    Else: Nega a condição anterior, ou caso ela não seja satisfeita
    Elseif: Nega a condição anterior e adiciona uma nova condição.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...