Ir para conteúdo

Night Wolf

Herói
  • Total de itens

    341
  • Registro em

  • Última visita

  • Dias Ganhos

    18

Histórico de Reputação

  1. Thanks
    Night Wolf recebeu reputação de manoellouro em skill fist ter influência no dano de certa magia   
    vou fazer algo melhor do que simplesmente te dar a resposta, vou te ensinar como fazer isso pra qualquer spell que vc queira;

    Primeiramente vc tem que extrair as informações que você tem na sua spell, isso significa essas 3 coisinhas aqui (pro seu caso):

    TIPO DE DAMAGE: local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)

    EFEITO: setCombatParam(combat, COMBAT_PARAM_EFFECT, 30)


    AREA: arr = {
    {0, 0, 0, 0, 0},
    {0, 1, 1, 1, 0},
    {0, 1, 3, 1, 0},
    {0, 1, 1, 1, 0},
    {0, 0, 0, 0, 0},
    }

    local area = createCombatArea(arr)


    --------- COM ESSAS INFORMAÇÕES, VAMOS COMEÇAR NOSSO CÓDIGO ------
    Agora vá em data/lib/constant.lua e vc primeiramente irá procurar uma tabela parecida com essa daqui:




    Se você olhar o último item dessa tabela podemos ver COMBAT_DEATHDAMAGE = 2048 agora olhando praquela primeira informação que nós temos "tipo de damage" iremos ver que esse COMBAT_DEATHDAMAGE também está presente:

    Certo, agora precisamos definir nosso efeito.. os efeitos ficam convenientemente no mesmo arquivo constant.lua, vimos ali no seu código que vc usa o efeito de número 30


    Certo, a área iremos usar a mesma.. agora vamos ao chamado "CORE" do script, também conhecido como corpo ou escopo principal, vou utilizar um aqui que ja foi criado pensando em spells que utilizem skills/mana/vida para tirar dano:




    Certo, agora vamos por partes:
    Por enquanto tudo que sabemos é que o "EFEITO" é 30, o "TIPO DE DAMAGE" é o 2048 e a "AREA DA SPELL" é igual aquela área desenhada.

    Substituindo oque a gente sabe fica assim:



    Perceba que a única coisa que falta na nossa função são as fórmulas..
    Você pode literalmente definir QUALQUER coisa como fórmula, se eu colocar apenas 50 ali no min e no max minha magia sempre vai tirar 50. Se eu colocar 50 no min e 100 no max ela sempre vai tirar algo entre esses dois números... mas nós não queremos que a magia hite um numero constante, nós queremos que ela dependa da skill da pessoa, do nível dela, do ml. Do contrário, ela ia ser extremamente podre pois não possui uma evolução junto com o player.
    "tá lobo, mas como vou saber que fórmula usar?"
    Essa é uma pergunta muito delicada, temos sempre que considerar os casos extremos, se uma magia pode ser usada no nv 10 por exemplo, e a formula dela é level * ml temos que checar os dois casos abaixo:
    - Caso 1 Player nivel 10, ml 1 irá arrancar 10 de life na magia.. parece justo - Caso 2 Player nivel 300, ml 90 irá arrancar 27.000 de life na magia.. não parece tão justo hahaha Existe uma dica que o próprio tibia nos dá de como montar fórmulas justas, que é usar constantes de proporcionalidade. "Meu deus, Lobo, que caralhas é isso?" bem, o nome é bem mais complicado do que a coisa em si.




    Finalizando as fórmulas, temos
    min = (150 + (skill /2)) e max = (200 + (3 * (skill/2))) Tá, mas como ensinar pro nosso script oque é "skill" e que ela representa o fist fighting? bem, é nessa hr que olhamos pra aquele pequeno espaço no script dizendo "SKILLS QUE SERÃO USADAS".
    Ali você deve criar uma variável skill que irá ler a skill do player, através da função getPlayerSkillLevel(cid, "código da skill")
    "Mas como eu sei o código da skill?", muito simples meu caro.. lembra que eu falei pra você ir em data/lib/constant? Esse documento tem todas as informações que você precisa pra fazer qualquer código, e é justamente nele que iremos procurar qual é o código da skill fist.

    Depois de uma rápida procura eu me deparei com esta tabela>



    e nela podemos ver que o código para a skill fist é 0. Declaro ali naquele espaço do script
    local fist = getPlayerSkillLevel(cid, 0) e a partir de agora no lugar de skill nas minhas fórmulas eu só escreverei fist e o server irá entender o que eu quero.


    O script final fica:



    Aquele factor que eu coloquei é uma coisinha (fator de correção de erro) que é sempre bom colocar pois nem sempre as formulas na prática tiram oque elas tiram na teoria, o dano varia de acordo com o combat que nós escolhemos e as vezes é bom adicionar esse factor para podermos ajustar a fórmula mais facilmente.

    Espero que não tenha preguiça de ler tudo, se você entender como isso funciona garanto que conseguirá fazer magias que se baseiam em somas de skills e criar fórmulas ultra realistas para magias não só baseadas em skills como baseadas em cap, mana, vida, velocidade e qualquer outra coisa que você conseguir pensar..
  2. Upvote
    Night Wolf recebeu reputação de RimuruMuaw em Alterar Script Porta Automática.   
    Assim vai funcionar pra 2, 3, 4, 5, 800 portas, só q sugiro vc mudar o delay pra ser a quantidade de tempo q vc quer q demore dividido pelo numero de ids q vai trocar, assim independente de ser 3 ou 500 o tempo pra abrir fechar será o mesmo.

    script:

    -- Do not remove the credits -- -- [MOVEMENT] Porta que abre automáticamente -- -- Developed by Rigby (João Vitor) -- -- Xtibia.com -- local porta = {13680, 13679, ID DA POUCO ABERTA, 13677} -- porta fechada, porta pouco aberta, porta meio aberta, porta aberta local pos = {x = 1056, y = 1054, z = 7} -- local onde vai fica a porta local delay = 150 -- ela vai demorar 0.1 segundos para fica totalmente aberta ou totalmente fechada local action = 2701 -- action que ta no .xml, se muda la vai ter que muda aqui também function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getTileItemById(pos, porta[1]).uid > 0 then for i = 1, (#porta - 1) do addEvent(function() doTransformItem(getTileItemById(pos, porta[i]).uid, porta[i + 1]) end, i * delay) end end return true end function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor) local tab = {} for _, pid in ipairs(getPlayersOnline()) do if getTileInfo(getCreaturePosition(pid)).actionid == action then table.insert(tab, pid) end end if #tab == 0 then if getTileItemById(pos, porta[#porta]).uid > 0 then for i = 1, (#porta - 1) do addEvent(function() doTransformItem(getTileItemById(pos, porta[(#porta - i) + 1]).uid, porta[(#porta - i)]) end, i * delay) end end end return true end dava pra fazer mais simples mas não quis mudar os fors pra vc não perder a lógica e aquele action ali era desnecessário já que vc podia usar item.actionid pra pegar o actionid do movements.xml
  3. Upvote
    Night Wolf recebeu reputação de otomeuhugo em O poder é seu, o que desenvolver?   
    O que desenvolver?
     
    Olá caros membros do nosso lindíssimo fórum, hoje vim falar pra vocês um pouquinho dos nossos projetos...
    Nós da equipe do xtibia iremos começar a desenvolver um servidor em parceria com a comunidade, vocês dirão o tema e nós iremos correr atrás de desenvolver todo o resto e montar o servidor da forma que vocês desejarem. Claro que todos aqui terão acesso e poderão ajudar através do github, isso é uma forma de haver uma maior interação entre os membros da equipe (euzinho, por exemplo) e você caro membro que está lendo isso agora. Sempre teve o sonho de montar uma equipe mas não conseguia achar gente pra isso? Não desista desse sonho!! Agora os melhores de cada área aqui desse fórum poderão se juntar pra virar uma equipe fantástica. Emocionante? Já quer começar??
     
    É só votar na enquete e comentar aqui nesse tópico, a nossa equipe irá se encarregar de divulgar e hostear o servidor oficial assim que o tema for definido; Paralelamente teremos sempre a pasta do servidor pública e aberta pra vocês poderem estudar os sistemas que fazemos e sugerir modificações e melhoras. Espero que vocês se engajem. Abraços do Lobo.
  4. Upvote
    Night Wolf recebeu reputação de Supot em Training Idle Tile não para de mudar de visão após sair do piso   
    Olha rapaz, esse código quem fez foi um rapazinho lá de outro fórum baseado num sistema que eu criei pro meu global.

    Se você quiser só que eu arrume o erro que ele cometeu, troca o seu script por esse daqui:



    Agora se você quiser um script mais completinho usa esse daqui que é o do meu servidor:

     
     
  5. Upvote
    Night Wolf recebeu reputação de Ayron5 em Alterar Script Porta Automática.   
    Assim vai funcionar pra 2, 3, 4, 5, 800 portas, só q sugiro vc mudar o delay pra ser a quantidade de tempo q vc quer q demore dividido pelo numero de ids q vai trocar, assim independente de ser 3 ou 500 o tempo pra abrir fechar será o mesmo.

    script:

    -- Do not remove the credits -- -- [MOVEMENT] Porta que abre automáticamente -- -- Developed by Rigby (João Vitor) -- -- Xtibia.com -- local porta = {13680, 13679, ID DA POUCO ABERTA, 13677} -- porta fechada, porta pouco aberta, porta meio aberta, porta aberta local pos = {x = 1056, y = 1054, z = 7} -- local onde vai fica a porta local delay = 150 -- ela vai demorar 0.1 segundos para fica totalmente aberta ou totalmente fechada local action = 2701 -- action que ta no .xml, se muda la vai ter que muda aqui também function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getTileItemById(pos, porta[1]).uid > 0 then for i = 1, (#porta - 1) do addEvent(function() doTransformItem(getTileItemById(pos, porta[i]).uid, porta[i + 1]) end, i * delay) end end return true end function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor) local tab = {} for _, pid in ipairs(getPlayersOnline()) do if getTileInfo(getCreaturePosition(pid)).actionid == action then table.insert(tab, pid) end end if #tab == 0 then if getTileItemById(pos, porta[#porta]).uid > 0 then for i = 1, (#porta - 1) do addEvent(function() doTransformItem(getTileItemById(pos, porta[(#porta - i) + 1]).uid, porta[(#porta - i)]) end, i * delay) end end end return true end dava pra fazer mais simples mas não quis mudar os fors pra vc não perder a lógica e aquele action ali era desnecessário já que vc podia usar item.actionid pra pegar o actionid do movements.xml
  6. Upvote
    Night Wolf recebeu reputação de lekomooooon em skill fist ter influência no dano de certa magia   
    vou fazer algo melhor do que simplesmente te dar a resposta, vou te ensinar como fazer isso pra qualquer spell que vc queira;

    Primeiramente vc tem que extrair as informações que você tem na sua spell, isso significa essas 3 coisinhas aqui (pro seu caso):

    TIPO DE DAMAGE: local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)

    EFEITO: setCombatParam(combat, COMBAT_PARAM_EFFECT, 30)


    AREA: arr = {
    {0, 0, 0, 0, 0},
    {0, 1, 1, 1, 0},
    {0, 1, 3, 1, 0},
    {0, 1, 1, 1, 0},
    {0, 0, 0, 0, 0},
    }

    local area = createCombatArea(arr)


    --------- COM ESSAS INFORMAÇÕES, VAMOS COMEÇAR NOSSO CÓDIGO ------
    Agora vá em data/lib/constant.lua e vc primeiramente irá procurar uma tabela parecida com essa daqui:




    Se você olhar o último item dessa tabela podemos ver COMBAT_DEATHDAMAGE = 2048 agora olhando praquela primeira informação que nós temos "tipo de damage" iremos ver que esse COMBAT_DEATHDAMAGE também está presente:

    Certo, agora precisamos definir nosso efeito.. os efeitos ficam convenientemente no mesmo arquivo constant.lua, vimos ali no seu código que vc usa o efeito de número 30


    Certo, a área iremos usar a mesma.. agora vamos ao chamado "CORE" do script, também conhecido como corpo ou escopo principal, vou utilizar um aqui que ja foi criado pensando em spells que utilizem skills/mana/vida para tirar dano:




    Certo, agora vamos por partes:
    Por enquanto tudo que sabemos é que o "EFEITO" é 30, o "TIPO DE DAMAGE" é o 2048 e a "AREA DA SPELL" é igual aquela área desenhada.

    Substituindo oque a gente sabe fica assim:



    Perceba que a única coisa que falta na nossa função são as fórmulas..
    Você pode literalmente definir QUALQUER coisa como fórmula, se eu colocar apenas 50 ali no min e no max minha magia sempre vai tirar 50. Se eu colocar 50 no min e 100 no max ela sempre vai tirar algo entre esses dois números... mas nós não queremos que a magia hite um numero constante, nós queremos que ela dependa da skill da pessoa, do nível dela, do ml. Do contrário, ela ia ser extremamente podre pois não possui uma evolução junto com o player.
    "tá lobo, mas como vou saber que fórmula usar?"
    Essa é uma pergunta muito delicada, temos sempre que considerar os casos extremos, se uma magia pode ser usada no nv 10 por exemplo, e a formula dela é level * ml temos que checar os dois casos abaixo:
    - Caso 1 Player nivel 10, ml 1 irá arrancar 10 de life na magia.. parece justo - Caso 2 Player nivel 300, ml 90 irá arrancar 27.000 de life na magia.. não parece tão justo hahaha Existe uma dica que o próprio tibia nos dá de como montar fórmulas justas, que é usar constantes de proporcionalidade. "Meu deus, Lobo, que caralhas é isso?" bem, o nome é bem mais complicado do que a coisa em si.




    Finalizando as fórmulas, temos
    min = (150 + (skill /2)) e max = (200 + (3 * (skill/2))) Tá, mas como ensinar pro nosso script oque é "skill" e que ela representa o fist fighting? bem, é nessa hr que olhamos pra aquele pequeno espaço no script dizendo "SKILLS QUE SERÃO USADAS".
    Ali você deve criar uma variável skill que irá ler a skill do player, através da função getPlayerSkillLevel(cid, "código da skill")
    "Mas como eu sei o código da skill?", muito simples meu caro.. lembra que eu falei pra você ir em data/lib/constant? Esse documento tem todas as informações que você precisa pra fazer qualquer código, e é justamente nele que iremos procurar qual é o código da skill fist.

    Depois de uma rápida procura eu me deparei com esta tabela>



    e nela podemos ver que o código para a skill fist é 0. Declaro ali naquele espaço do script
    local fist = getPlayerSkillLevel(cid, 0) e a partir de agora no lugar de skill nas minhas fórmulas eu só escreverei fist e o server irá entender o que eu quero.


    O script final fica:



    Aquele factor que eu coloquei é uma coisinha (fator de correção de erro) que é sempre bom colocar pois nem sempre as formulas na prática tiram oque elas tiram na teoria, o dano varia de acordo com o combat que nós escolhemos e as vezes é bom adicionar esse factor para podermos ajustar a fórmula mais facilmente.

    Espero que não tenha preguiça de ler tudo, se você entender como isso funciona garanto que conseguirá fazer magias que se baseiam em somas de skills e criar fórmulas ultra realistas para magias não só baseadas em skills como baseadas em cap, mana, vida, velocidade e qualquer outra coisa que você conseguir pensar..
  7. Upvote
    Night Wolf recebeu reputação de VaizardX em skill fist ter influência no dano de certa magia   
    vou fazer algo melhor do que simplesmente te dar a resposta, vou te ensinar como fazer isso pra qualquer spell que vc queira;

    Primeiramente vc tem que extrair as informações que você tem na sua spell, isso significa essas 3 coisinhas aqui (pro seu caso):

    TIPO DE DAMAGE: local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)

    EFEITO: setCombatParam(combat, COMBAT_PARAM_EFFECT, 30)


    AREA: arr = {
    {0, 0, 0, 0, 0},
    {0, 1, 1, 1, 0},
    {0, 1, 3, 1, 0},
    {0, 1, 1, 1, 0},
    {0, 0, 0, 0, 0},
    }

    local area = createCombatArea(arr)


    --------- COM ESSAS INFORMAÇÕES, VAMOS COMEÇAR NOSSO CÓDIGO ------
    Agora vá em data/lib/constant.lua e vc primeiramente irá procurar uma tabela parecida com essa daqui:




    Se você olhar o último item dessa tabela podemos ver COMBAT_DEATHDAMAGE = 2048 agora olhando praquela primeira informação que nós temos "tipo de damage" iremos ver que esse COMBAT_DEATHDAMAGE também está presente:

    Certo, agora precisamos definir nosso efeito.. os efeitos ficam convenientemente no mesmo arquivo constant.lua, vimos ali no seu código que vc usa o efeito de número 30


    Certo, a área iremos usar a mesma.. agora vamos ao chamado "CORE" do script, também conhecido como corpo ou escopo principal, vou utilizar um aqui que ja foi criado pensando em spells que utilizem skills/mana/vida para tirar dano:




    Certo, agora vamos por partes:
    Por enquanto tudo que sabemos é que o "EFEITO" é 30, o "TIPO DE DAMAGE" é o 2048 e a "AREA DA SPELL" é igual aquela área desenhada.

    Substituindo oque a gente sabe fica assim:



    Perceba que a única coisa que falta na nossa função são as fórmulas..
    Você pode literalmente definir QUALQUER coisa como fórmula, se eu colocar apenas 50 ali no min e no max minha magia sempre vai tirar 50. Se eu colocar 50 no min e 100 no max ela sempre vai tirar algo entre esses dois números... mas nós não queremos que a magia hite um numero constante, nós queremos que ela dependa da skill da pessoa, do nível dela, do ml. Do contrário, ela ia ser extremamente podre pois não possui uma evolução junto com o player.
    "tá lobo, mas como vou saber que fórmula usar?"
    Essa é uma pergunta muito delicada, temos sempre que considerar os casos extremos, se uma magia pode ser usada no nv 10 por exemplo, e a formula dela é level * ml temos que checar os dois casos abaixo:
    - Caso 1 Player nivel 10, ml 1 irá arrancar 10 de life na magia.. parece justo - Caso 2 Player nivel 300, ml 90 irá arrancar 27.000 de life na magia.. não parece tão justo hahaha Existe uma dica que o próprio tibia nos dá de como montar fórmulas justas, que é usar constantes de proporcionalidade. "Meu deus, Lobo, que caralhas é isso?" bem, o nome é bem mais complicado do que a coisa em si.




    Finalizando as fórmulas, temos
    min = (150 + (skill /2)) e max = (200 + (3 * (skill/2))) Tá, mas como ensinar pro nosso script oque é "skill" e que ela representa o fist fighting? bem, é nessa hr que olhamos pra aquele pequeno espaço no script dizendo "SKILLS QUE SERÃO USADAS".
    Ali você deve criar uma variável skill que irá ler a skill do player, através da função getPlayerSkillLevel(cid, "código da skill")
    "Mas como eu sei o código da skill?", muito simples meu caro.. lembra que eu falei pra você ir em data/lib/constant? Esse documento tem todas as informações que você precisa pra fazer qualquer código, e é justamente nele que iremos procurar qual é o código da skill fist.

    Depois de uma rápida procura eu me deparei com esta tabela>



    e nela podemos ver que o código para a skill fist é 0. Declaro ali naquele espaço do script
    local fist = getPlayerSkillLevel(cid, 0) e a partir de agora no lugar de skill nas minhas fórmulas eu só escreverei fist e o server irá entender o que eu quero.


    O script final fica:



    Aquele factor que eu coloquei é uma coisinha (fator de correção de erro) que é sempre bom colocar pois nem sempre as formulas na prática tiram oque elas tiram na teoria, o dano varia de acordo com o combat que nós escolhemos e as vezes é bom adicionar esse factor para podermos ajustar a fórmula mais facilmente.

    Espero que não tenha preguiça de ler tudo, se você entender como isso funciona garanto que conseguirá fazer magias que se baseiam em somas de skills e criar fórmulas ultra realistas para magias não só baseadas em skills como baseadas em cap, mana, vida, velocidade e qualquer outra coisa que você conseguir pensar..
  8. Upvote
    Night Wolf recebeu reputação de Gabrielkss em skill fist ter influência no dano de certa magia   
    vou fazer algo melhor do que simplesmente te dar a resposta, vou te ensinar como fazer isso pra qualquer spell que vc queira;

    Primeiramente vc tem que extrair as informações que você tem na sua spell, isso significa essas 3 coisinhas aqui (pro seu caso):

    TIPO DE DAMAGE: local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)

    EFEITO: setCombatParam(combat, COMBAT_PARAM_EFFECT, 30)


    AREA: arr = {
    {0, 0, 0, 0, 0},
    {0, 1, 1, 1, 0},
    {0, 1, 3, 1, 0},
    {0, 1, 1, 1, 0},
    {0, 0, 0, 0, 0},
    }

    local area = createCombatArea(arr)


    --------- COM ESSAS INFORMAÇÕES, VAMOS COMEÇAR NOSSO CÓDIGO ------
    Agora vá em data/lib/constant.lua e vc primeiramente irá procurar uma tabela parecida com essa daqui:




    Se você olhar o último item dessa tabela podemos ver COMBAT_DEATHDAMAGE = 2048 agora olhando praquela primeira informação que nós temos "tipo de damage" iremos ver que esse COMBAT_DEATHDAMAGE também está presente:

    Certo, agora precisamos definir nosso efeito.. os efeitos ficam convenientemente no mesmo arquivo constant.lua, vimos ali no seu código que vc usa o efeito de número 30


    Certo, a área iremos usar a mesma.. agora vamos ao chamado "CORE" do script, também conhecido como corpo ou escopo principal, vou utilizar um aqui que ja foi criado pensando em spells que utilizem skills/mana/vida para tirar dano:




    Certo, agora vamos por partes:
    Por enquanto tudo que sabemos é que o "EFEITO" é 30, o "TIPO DE DAMAGE" é o 2048 e a "AREA DA SPELL" é igual aquela área desenhada.

    Substituindo oque a gente sabe fica assim:



    Perceba que a única coisa que falta na nossa função são as fórmulas..
    Você pode literalmente definir QUALQUER coisa como fórmula, se eu colocar apenas 50 ali no min e no max minha magia sempre vai tirar 50. Se eu colocar 50 no min e 100 no max ela sempre vai tirar algo entre esses dois números... mas nós não queremos que a magia hite um numero constante, nós queremos que ela dependa da skill da pessoa, do nível dela, do ml. Do contrário, ela ia ser extremamente podre pois não possui uma evolução junto com o player.
    "tá lobo, mas como vou saber que fórmula usar?"
    Essa é uma pergunta muito delicada, temos sempre que considerar os casos extremos, se uma magia pode ser usada no nv 10 por exemplo, e a formula dela é level * ml temos que checar os dois casos abaixo:
    - Caso 1 Player nivel 10, ml 1 irá arrancar 10 de life na magia.. parece justo - Caso 2 Player nivel 300, ml 90 irá arrancar 27.000 de life na magia.. não parece tão justo hahaha Existe uma dica que o próprio tibia nos dá de como montar fórmulas justas, que é usar constantes de proporcionalidade. "Meu deus, Lobo, que caralhas é isso?" bem, o nome é bem mais complicado do que a coisa em si.




    Finalizando as fórmulas, temos
    min = (150 + (skill /2)) e max = (200 + (3 * (skill/2))) Tá, mas como ensinar pro nosso script oque é "skill" e que ela representa o fist fighting? bem, é nessa hr que olhamos pra aquele pequeno espaço no script dizendo "SKILLS QUE SERÃO USADAS".
    Ali você deve criar uma variável skill que irá ler a skill do player, através da função getPlayerSkillLevel(cid, "código da skill")
    "Mas como eu sei o código da skill?", muito simples meu caro.. lembra que eu falei pra você ir em data/lib/constant? Esse documento tem todas as informações que você precisa pra fazer qualquer código, e é justamente nele que iremos procurar qual é o código da skill fist.

    Depois de uma rápida procura eu me deparei com esta tabela>



    e nela podemos ver que o código para a skill fist é 0. Declaro ali naquele espaço do script
    local fist = getPlayerSkillLevel(cid, 0) e a partir de agora no lugar de skill nas minhas fórmulas eu só escreverei fist e o server irá entender o que eu quero.


    O script final fica:



    Aquele factor que eu coloquei é uma coisinha (fator de correção de erro) que é sempre bom colocar pois nem sempre as formulas na prática tiram oque elas tiram na teoria, o dano varia de acordo com o combat que nós escolhemos e as vezes é bom adicionar esse factor para podermos ajustar a fórmula mais facilmente.

    Espero que não tenha preguiça de ler tudo, se você entender como isso funciona garanto que conseguirá fazer magias que se baseiam em somas de skills e criar fórmulas ultra realistas para magias não só baseadas em skills como baseadas em cap, mana, vida, velocidade e qualquer outra coisa que você conseguir pensar..
  9. Upvote
    Night Wolf recebeu reputação de hitokiri em [0.36~0.4] Slot Cassino   
    Olá pessoas, hoje vim trazer pra vocês um script que inicialmente fiz prum trabalho mas acabei gostando muito dele e decidi postar.
    To meio que indo dormir porque daqui a pouquinho tenho aula então vai ser tudo bem rapido e se vcs tiverem alguma dúvida comentem aqui.
     
    Primeiramente façam uma sala parecida com essa aqui:

    Não precisa ser necessariamente assim, mas ela deve ter as 3 bolas, uma alavanca e um local pra botar o dinheiro pras apostas.

    O sistema é baseado naqueles jogos de slot nos cassinos onde você aposta uma quantidade de dinheiro e se tirar 3 peças iguais você recebe o dobro do dinheiro apostado.

    em actions/scripts crie um arquivo chamado cassino.lua e adicione o seguinte dentro dele:
     

    Agora em data/actions/actions.xml adicione:
    <action actionid="16541" script="cassino.lua"/>
    Agora só botar a actionid na lever e configurar tudo de acordo com seu sv (as posições ali em pieces são as posições de cada peça, ou cada bola, se preferir.)
    se quiser fazer várias salas é só copiar o código pra um cassino2.lua e registrar outra tag
    <action actionid="16542" script="cassino2.lua"/>;

    Tá tudo comentado no código então acho que dispensa uma explicação formal de como editar, espero que vocês gostem e se alguém quiser/puder grave um gif/video do sistema e me manda que eu edito o tópico. Abraços do Lobo!
     

  10. Upvote
    Night Wolf recebeu reputação de giots em [0.36~0.4] Slot Cassino   
    Olá pessoas, hoje vim trazer pra vocês um script que inicialmente fiz prum trabalho mas acabei gostando muito dele e decidi postar.
    To meio que indo dormir porque daqui a pouquinho tenho aula então vai ser tudo bem rapido e se vcs tiverem alguma dúvida comentem aqui.
     
    Primeiramente façam uma sala parecida com essa aqui:

    Não precisa ser necessariamente assim, mas ela deve ter as 3 bolas, uma alavanca e um local pra botar o dinheiro pras apostas.

    O sistema é baseado naqueles jogos de slot nos cassinos onde você aposta uma quantidade de dinheiro e se tirar 3 peças iguais você recebe o dobro do dinheiro apostado.

    em actions/scripts crie um arquivo chamado cassino.lua e adicione o seguinte dentro dele:
     

    Agora em data/actions/actions.xml adicione:
    <action actionid="16541" script="cassino.lua"/>
    Agora só botar a actionid na lever e configurar tudo de acordo com seu sv (as posições ali em pieces são as posições de cada peça, ou cada bola, se preferir.)
    se quiser fazer várias salas é só copiar o código pra um cassino2.lua e registrar outra tag
    <action actionid="16542" script="cassino2.lua"/>;

    Tá tudo comentado no código então acho que dispensa uma explicação formal de como editar, espero que vocês gostem e se alguém quiser/puder grave um gif/video do sistema e me manda que eu edito o tópico. Abraços do Lobo!
     

  11. Upvote
    Night Wolf deu reputação a Administrador em Maratona de Projetos - Resultado   
    RESULTADO  
     
    Olá caros amigos, após uma semana, analisamos as apresentações dos projetos e os votos. Não foi como esperávamos, os projetos estavam em total parte mais preocupados com a impressão das pessoas referente ao que já está pronto e não houve muita ênfase no principal, que era o desenvolvimento. Apesar disso, algumas apresentações chamaram muita atenção de membros. Sabemos que esta é a primeira edição e nas próximas haverá mudanças positivas, para trazer à comunidade apresentações cada vez melhores.
     
    Senti que muitos projetos não leram as recomendações publicadas dias antes do prazo para envio das apresentações, o que resultou, não só por este motivo em particular, no banimento de um membro da comunidade e na remoção de seu patrocínio. Gostaria de deixar claro que este membro quebrou várias normas do evento e infringiu pelo menos 3 regras importantes da nossa comunidade, uma delas é referente à ripping. Portanto, peço que dispensem acusações ao fórum, até porque esse mesmo membro tirou horas do seu dia para burlar a votação da maratona e criar provas fakes para atrapalhar os outros projetos, ou seja, não tem moral pra reclamar do evento. Isto serviu de exemplo para nós e para os próximos projetos que vierem a adquirir o nosso patrocínio. Pois pudemos enxergar de modo geral, através da maratona, a maturidade destes integrantes.
     
    O que foi avaliado?
    • Texto
    • Mídias
    • Impressão ao público
    • Presença administrativa (gerar e atender comentários de membros)
    • Contribuição
     
     
    O projeto vencedor da maratona é Pokemon Global, por @Tony Araujo, com a seguinte premiação:
    150 Otservlists.com Coins 
    150 Xtibia Coins 
    30 Pontos de Reputação, distribuídos entre os integrantes do time.
     
     
    Em segundo lugar, Pokemon Light, por @Drazyn, com a seguinte premiação:
    75 Otservlists.com Coins 
    75 Xtibia Coins
    20 Pontos de reputação, distribuídos entre os integrantes do time.
     
    Não faremos 3º lugar devido ao número de participantes. Esperávamos 7 projetos, 2 foram desclassificados por inatividade e 1 desclassificado por infringir regras.
    (Entrar em contato para retirar os prêmios)
     
    Agradecemos a participação de todos os projetos e aos membros que colaboraram comentando e divulgando o evento, esperamos que a próxima edição seja melhor ainda! Comente abaixo. 
     

  12. Upvote
    Night Wolf deu reputação a iury888 em [Encerrado]Projeto ainda sem nome (vale a pena olhar)   
    Informações:
    [*] Tenho muito conhecimento sobre
    [*] O projeto ainda não tem um nome 
    [*] Será focado no mais puro RPG
    [*] Comecei fazer á 3 dias e tenho muito tempo para me dedicar
    [*] Será feito na versão 8.6 com sprites no estilo TOP DOWN 
    [*] Preciso de Scripter e Programador
    [*] Caso tenha interesse deixe seu comentário ou fale comigo no privado
    [*] Uma foto com 3 dias de desenvolvimento:


  13. Upvote
    Night Wolf recebeu reputação de samlecter em Maratona de Projetos - Votação!   
    não necessariamente, as vezes você vê um app super foda aí vc vai ler o código fonte e é uma bagunça. Na vida real (fora do mundo perfeito do Tibia) vc vai encontrar muito programador que não sabe identar ou que não acha necessário, vai ter muita gambiarra com comentário:
     
    // Funciona, não mexer
     
    Player não se importa se o código é bem escrito ou uma bagunça, isso não influencia em nada. Se você é o programador e consegue entender a bagunça que você fez, ótimo pra você. Se não consegue, mas funciona.. ótimo também. O que importa é a experiencia que você vai proporcionar para os jogadores, os sistemas diferentes e a estória do seu jogo. 
  14. Upvote
    Night Wolf recebeu reputação de samlecter em Maratona de Projetos - Votação!   
    eu li todas as apresentações e confesso que estou bastante desapontado. Eu não ando com muito tempo pra apontar os erros individuais mas eu esperava mais pelo tempo que vocês tiveram pra criar os tópicos das apresentações. Muita pouca coisa foi explicada, era pra vocês destrincharem o projeto de vocês e contar tudo que vocês tem feito, as dificuldades e bugs que vocês foram encontrando: desde o passo que vocês tiveram a idéia, até os primeiros obstáculos e como vocês superaram isso. A sensação que passa é que são projetos abandonados e que vocês não trabalham neles à muito tempo.

    Pra finalizar, digo e repito: Ninguém liga se o código é bem escrito ou fácil de ler, player não lê código.. parem de divulgar isso como se fosse um ponto forte do server!!!!1
  15. Upvote
    Night Wolf recebeu reputação de Administrador em Maratona de Projetos - Votação!   
    eu li todas as apresentações e confesso que estou bastante desapontado. Eu não ando com muito tempo pra apontar os erros individuais mas eu esperava mais pelo tempo que vocês tiveram pra criar os tópicos das apresentações. Muita pouca coisa foi explicada, era pra vocês destrincharem o projeto de vocês e contar tudo que vocês tem feito, as dificuldades e bugs que vocês foram encontrando: desde o passo que vocês tiveram a idéia, até os primeiros obstáculos e como vocês superaram isso. A sensação que passa é que são projetos abandonados e que vocês não trabalham neles à muito tempo.

    Pra finalizar, digo e repito: Ninguém liga se o código é bem escrito ou fácil de ler, player não lê código.. parem de divulgar isso como se fosse um ponto forte do server!!!!1
  16. Upvote
    Night Wolf recebeu reputação de Josegvb em O poder é seu, o que desenvolver?   
    O que desenvolver?
     
    Olá caros membros do nosso lindíssimo fórum, hoje vim falar pra vocês um pouquinho dos nossos projetos...
    Nós da equipe do xtibia iremos começar a desenvolver um servidor em parceria com a comunidade, vocês dirão o tema e nós iremos correr atrás de desenvolver todo o resto e montar o servidor da forma que vocês desejarem. Claro que todos aqui terão acesso e poderão ajudar através do github, isso é uma forma de haver uma maior interação entre os membros da equipe (euzinho, por exemplo) e você caro membro que está lendo isso agora. Sempre teve o sonho de montar uma equipe mas não conseguia achar gente pra isso? Não desista desse sonho!! Agora os melhores de cada área aqui desse fórum poderão se juntar pra virar uma equipe fantástica. Emocionante? Já quer começar??
     
    É só votar na enquete e comentar aqui nesse tópico, a nossa equipe irá se encarregar de divulgar e hostear o servidor oficial assim que o tema for definido; Paralelamente teremos sempre a pasta do servidor pública e aberta pra vocês poderem estudar os sistemas que fazemos e sugerir modificações e melhoras. Espero que vocês se engajem. Abraços do Lobo.
  17. Upvote
    Night Wolf recebeu reputação de Aberos em Maratona de Projetos - Votação!   
    eu li todas as apresentações e confesso que estou bastante desapontado. Eu não ando com muito tempo pra apontar os erros individuais mas eu esperava mais pelo tempo que vocês tiveram pra criar os tópicos das apresentações. Muita pouca coisa foi explicada, era pra vocês destrincharem o projeto de vocês e contar tudo que vocês tem feito, as dificuldades e bugs que vocês foram encontrando: desde o passo que vocês tiveram a idéia, até os primeiros obstáculos e como vocês superaram isso. A sensação que passa é que são projetos abandonados e que vocês não trabalham neles à muito tempo.

    Pra finalizar, digo e repito: Ninguém liga se o código é bem escrito ou fácil de ler, player não lê código.. parem de divulgar isso como se fosse um ponto forte do server!!!!1
  18. Upvote
    Night Wolf recebeu reputação de LeirbagOtten em [0.36~0.4] Slot Cassino   
    ahahaha ainda nao consegui tirar tempo pra trazer todos meus tópicos de lá pra cá, ainda tenho mt conteúdo novo pra trazer ;~ enfim, se vc clicar exatamente aqui voce vai ser direcionado pro link da library, qlqer dúvida me chama pm (nesse fórum aqui) que o outro eu mal tenho entrado
  19. Upvote
    Night Wolf recebeu reputação de LeirbagOtten em [0.36~0.4] Slot Cassino   
    Olá pessoas, hoje vim trazer pra vocês um script que inicialmente fiz prum trabalho mas acabei gostando muito dele e decidi postar.
    To meio que indo dormir porque daqui a pouquinho tenho aula então vai ser tudo bem rapido e se vcs tiverem alguma dúvida comentem aqui.
     
    Primeiramente façam uma sala parecida com essa aqui:

    Não precisa ser necessariamente assim, mas ela deve ter as 3 bolas, uma alavanca e um local pra botar o dinheiro pras apostas.

    O sistema é baseado naqueles jogos de slot nos cassinos onde você aposta uma quantidade de dinheiro e se tirar 3 peças iguais você recebe o dobro do dinheiro apostado.

    em actions/scripts crie um arquivo chamado cassino.lua e adicione o seguinte dentro dele:
     

    Agora em data/actions/actions.xml adicione:
    <action actionid="16541" script="cassino.lua"/>
    Agora só botar a actionid na lever e configurar tudo de acordo com seu sv (as posições ali em pieces são as posições de cada peça, ou cada bola, se preferir.)
    se quiser fazer várias salas é só copiar o código pra um cassino2.lua e registrar outra tag
    <action actionid="16542" script="cassino2.lua"/>;

    Tá tudo comentado no código então acho que dispensa uma explicação formal de como editar, espero que vocês gostem e se alguém quiser/puder grave um gif/video do sistema e me manda que eu edito o tópico. Abraços do Lobo!
     

  20. Upvote
    Night Wolf recebeu reputação de Administrador em [0.36~0.4] Slot Cassino   
    a idéia não é dar dinheiro de graça e quebrar a economia do server. É ser um jogo de azar, sem falar que há diversas maneiras de lucrar em cassinos. Uma das técnicas é sempre apostar o dobro quando perder:

    aposto 100 gps - se eu ganho, ganho 200 gps (100 gps de lucro)
    se eu perco, aposto 200 gps  - se eu ganho ganho 400 gps (100 gps de lucro)
    se eu perco, aposto 400 gps - se eu ganho, ganho 800 gps (100 gps de lucro)
    .
    .
    .
    se eu perco, aposto 2 * a antiga aposta, se eu ganho, ganho 4 * a antiga aposta (4 * antiga aposta - todas as apostas anteriores de lucro).

    PS: Sem falar que sua conta tá errada, vc ganha com 3 X ou 3 O, logo não seria 12,5%.

    1 slot = qlqer coisa.
    2 slot = tem que ser igual ao primeiro (50%)
    3 slot = tem que ser igual ao primeiro (50%).
    A chance total é 0.5 * 0.5 que é 0.25, ou 25%.
  21. Upvote
    Night Wolf recebeu reputação de Bruno em [0.36~0.4] Slot Cassino   
    Olá pessoas, hoje vim trazer pra vocês um script que inicialmente fiz prum trabalho mas acabei gostando muito dele e decidi postar.
    To meio que indo dormir porque daqui a pouquinho tenho aula então vai ser tudo bem rapido e se vcs tiverem alguma dúvida comentem aqui.
     
    Primeiramente façam uma sala parecida com essa aqui:

    Não precisa ser necessariamente assim, mas ela deve ter as 3 bolas, uma alavanca e um local pra botar o dinheiro pras apostas.

    O sistema é baseado naqueles jogos de slot nos cassinos onde você aposta uma quantidade de dinheiro e se tirar 3 peças iguais você recebe o dobro do dinheiro apostado.

    em actions/scripts crie um arquivo chamado cassino.lua e adicione o seguinte dentro dele:
     

    Agora em data/actions/actions.xml adicione:
    <action actionid="16541" script="cassino.lua"/>
    Agora só botar a actionid na lever e configurar tudo de acordo com seu sv (as posições ali em pieces são as posições de cada peça, ou cada bola, se preferir.)
    se quiser fazer várias salas é só copiar o código pra um cassino2.lua e registrar outra tag
    <action actionid="16542" script="cassino2.lua"/>;

    Tá tudo comentado no código então acho que dispensa uma explicação formal de como editar, espero que vocês gostem e se alguém quiser/puder grave um gif/video do sistema e me manda que eu edito o tópico. Abraços do Lobo!
     

  22. Upvote
    Night Wolf recebeu reputação de Caronte em [0.36~0.4] Slot Cassino   
    Olá pessoas, hoje vim trazer pra vocês um script que inicialmente fiz prum trabalho mas acabei gostando muito dele e decidi postar.
    To meio que indo dormir porque daqui a pouquinho tenho aula então vai ser tudo bem rapido e se vcs tiverem alguma dúvida comentem aqui.
     
    Primeiramente façam uma sala parecida com essa aqui:

    Não precisa ser necessariamente assim, mas ela deve ter as 3 bolas, uma alavanca e um local pra botar o dinheiro pras apostas.

    O sistema é baseado naqueles jogos de slot nos cassinos onde você aposta uma quantidade de dinheiro e se tirar 3 peças iguais você recebe o dobro do dinheiro apostado.

    em actions/scripts crie um arquivo chamado cassino.lua e adicione o seguinte dentro dele:
     

    Agora em data/actions/actions.xml adicione:
    <action actionid="16541" script="cassino.lua"/>
    Agora só botar a actionid na lever e configurar tudo de acordo com seu sv (as posições ali em pieces são as posições de cada peça, ou cada bola, se preferir.)
    se quiser fazer várias salas é só copiar o código pra um cassino2.lua e registrar outra tag
    <action actionid="16542" script="cassino2.lua"/>;

    Tá tudo comentado no código então acho que dispensa uma explicação formal de como editar, espero que vocês gostem e se alguém quiser/puder grave um gif/video do sistema e me manda que eu edito o tópico. Abraços do Lobo!
     

  23. Upvote
    Night Wolf recebeu reputação de samlecter em [0.36~0.4] Slot Cassino   
    Olá pessoas, hoje vim trazer pra vocês um script que inicialmente fiz prum trabalho mas acabei gostando muito dele e decidi postar.
    To meio que indo dormir porque daqui a pouquinho tenho aula então vai ser tudo bem rapido e se vcs tiverem alguma dúvida comentem aqui.
     
    Primeiramente façam uma sala parecida com essa aqui:

    Não precisa ser necessariamente assim, mas ela deve ter as 3 bolas, uma alavanca e um local pra botar o dinheiro pras apostas.

    O sistema é baseado naqueles jogos de slot nos cassinos onde você aposta uma quantidade de dinheiro e se tirar 3 peças iguais você recebe o dobro do dinheiro apostado.

    em actions/scripts crie um arquivo chamado cassino.lua e adicione o seguinte dentro dele:
     

    Agora em data/actions/actions.xml adicione:
    <action actionid="16541" script="cassino.lua"/>
    Agora só botar a actionid na lever e configurar tudo de acordo com seu sv (as posições ali em pieces são as posições de cada peça, ou cada bola, se preferir.)
    se quiser fazer várias salas é só copiar o código pra um cassino2.lua e registrar outra tag
    <action actionid="16542" script="cassino2.lua"/>;

    Tá tudo comentado no código então acho que dispensa uma explicação formal de como editar, espero que vocês gostem e se alguém quiser/puder grave um gif/video do sistema e me manda que eu edito o tópico. Abraços do Lobo!
     

  24. Upvote
    Night Wolf recebeu reputação de SamueLGuedes em [0.36~0.4] Slot Cassino   
    Olá pessoas, hoje vim trazer pra vocês um script que inicialmente fiz prum trabalho mas acabei gostando muito dele e decidi postar.
    To meio que indo dormir porque daqui a pouquinho tenho aula então vai ser tudo bem rapido e se vcs tiverem alguma dúvida comentem aqui.
     
    Primeiramente façam uma sala parecida com essa aqui:

    Não precisa ser necessariamente assim, mas ela deve ter as 3 bolas, uma alavanca e um local pra botar o dinheiro pras apostas.

    O sistema é baseado naqueles jogos de slot nos cassinos onde você aposta uma quantidade de dinheiro e se tirar 3 peças iguais você recebe o dobro do dinheiro apostado.

    em actions/scripts crie um arquivo chamado cassino.lua e adicione o seguinte dentro dele:
     

    Agora em data/actions/actions.xml adicione:
    <action actionid="16541" script="cassino.lua"/>
    Agora só botar a actionid na lever e configurar tudo de acordo com seu sv (as posições ali em pieces são as posições de cada peça, ou cada bola, se preferir.)
    se quiser fazer várias salas é só copiar o código pra um cassino2.lua e registrar outra tag
    <action actionid="16542" script="cassino2.lua"/>;

    Tá tudo comentado no código então acho que dispensa uma explicação formal de como editar, espero que vocês gostem e se alguém quiser/puder grave um gif/video do sistema e me manda que eu edito o tópico. Abraços do Lobo!
     

  25. Upvote
    Night Wolf recebeu reputação de Administrador em [0.36~0.4] Slot Cassino   
    Olá pessoas, hoje vim trazer pra vocês um script que inicialmente fiz prum trabalho mas acabei gostando muito dele e decidi postar.
    To meio que indo dormir porque daqui a pouquinho tenho aula então vai ser tudo bem rapido e se vcs tiverem alguma dúvida comentem aqui.
     
    Primeiramente façam uma sala parecida com essa aqui:

    Não precisa ser necessariamente assim, mas ela deve ter as 3 bolas, uma alavanca e um local pra botar o dinheiro pras apostas.

    O sistema é baseado naqueles jogos de slot nos cassinos onde você aposta uma quantidade de dinheiro e se tirar 3 peças iguais você recebe o dobro do dinheiro apostado.

    em actions/scripts crie um arquivo chamado cassino.lua e adicione o seguinte dentro dele:
     

    Agora em data/actions/actions.xml adicione:
    <action actionid="16541" script="cassino.lua"/>
    Agora só botar a actionid na lever e configurar tudo de acordo com seu sv (as posições ali em pieces são as posições de cada peça, ou cada bola, se preferir.)
    se quiser fazer várias salas é só copiar o código pra um cassino2.lua e registrar outra tag
    <action actionid="16542" script="cassino2.lua"/>;

    Tá tudo comentado no código então acho que dispensa uma explicação formal de como editar, espero que vocês gostem e se alguém quiser/puder grave um gif/video do sistema e me manda que eu edito o tópico. Abraços do Lobo!
     

  • Quem Está Navegando   0 membros estão online

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