Ir para conteúdo

Vinc

Conde
  • Total de itens

    625
  • Registro em

  • Última visita

  • Dias Ganhos

    4

Histórico de Reputação

  1. Upvote
    Vinc recebeu reputação de sprague em Spell Com Delay   
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 36) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 7, 14) local area = createCombatArea(AREA_BEAM7, AREADIAGONAL_BEAM7) setCombatArea(combat, area) function onCastSpell(cid, var) doSendMagicEffect(getPlayerPosition(cid),5) doSendAnimatedText(getPlayerPosition(cid), '500', 3) addEvent(doCombat,6000,cid, combat, var) return true end
     
    @Leoxtibia
    n fique postando coisas sem testar,se n possui conhecimentos em lua.
    isso que se fez no script ta completamante errado
  2. Upvote
    Vinc deu reputação a Poccnn em Nova livraria lua para xml   
    Resolvido e atualizado.
  3. Upvote
    Vinc deu reputação a Refe em creature:soltaMagia("name") PARA TFS 1.x   
    Olá, hoje eu vim postar a função
    creature:soltaMagia("nomedamagia")
    Para o TFS 1.X.
     
    Bom, eu estou fazendo um Poketibia com base no TFS 1.3 e vou postar essa função para quem quiser seguir o mesmo.
    Segue um exemplo de uso:
    Em LUASCRIPT.CPP
    Abaixo de
    registerMethod("Player", "addExperience", LuaScriptInterface::luaPlayerAddExperience); Adicione:
    registerMethod("Creature", "soltaMagia", LuaScriptInterface::luaSoltaMagia); Logo abaixo da função:
    int LuaScriptInterface::luaCreatureGetEvents(lua_State* L) Adicione:
    int LuaScriptInterface::luaSoltaMagia(lua_State* L) { //creature:soltaMagia("name") const std::string& spellName = getString(L, 2); if(Creature* creature = getUserdata<Creature>(L, 1)) { InstantSpell* spell = g_spells->getInstantSpellByName(spellName); if(!spell) { lua_pushboolean(L, false); return 1; } Creature* target = creature->getAttackedCreature(); if(target) spell->castSpell(creature, target); else spell->castSpell(creature, creature); lua_pushboolean(L, true); } else { lua_pushboolean(L, false); } return 1; } Em luascript.h registre:
            static int luaSoltaMagia(lua_State* L);
    static int luaSoltaMagia(lua_State* L); Agora é só compilar a proveitar
  4. Upvote
    Vinc recebeu reputação de RigBy em Dodge System   
    acho que ficaria melhor colocar um "return true" no fim do scopo do primeiro if depois do for,pra n continua o loop atoa.
    e tbm coloca o valor da storage numa varivel, n tem nessecidade usar varias veses a função pra pegar o valor.
     
    e pra que até 100 se so aumenta até o 11? trolagem com os player isso em.
  5. Upvote
    Vinc recebeu reputação de Aberos em Opcode Duvida   
    sim
    algo do tipo:
     
    buy = { [2160] = 10000, } function onExtendedOpcode(cid, opcode, buffer) if opcode == 30 then local item,quant = string.explode(buffer,":") item,quant = tonumber(item),tonumber(quant) if buy[item] and doPlayerRemoveMoney(cid, buy[item]*quant ) then doPlayerAddItem(cid, item, quant, false) else doPlayerSendCancel(cid, "Você não tem dinheiro suficiente para comprar "..quant.." "..getItemNameById(item)..". ") end end end e no cliente vc mandaria na forma "itemid:quantidade" por opcode
  6. Upvote
    Vinc recebeu reputação de Aberos em Opcode Duvida   
    lol,que pog
     
    é so manda vida dele direto por
    caso seja o cid do poke:
    doSendPlayerExtendedOpcode(getCreatureMaster(cid), 51, getCreatureHealth(cid))
     
    caso seja o cid do player:
    doSendPlayerExtendedOpcode(cid, 51, getCreatureHealth(getCreatureSummons(cid)[1]))
     
    vc pode mandar qualquer string que desejar por opcode
     
    tá ligado que isso so vai printa no console né?
    tem que usar algo do tipo
    ProtocolGame.registerExtendedOpcode(51, function (protocol, opcode, buffer) health = tonumber(buffer) end)
  7. Upvote
    Vinc recebeu reputação de Strogman em Opcode Duvida   
    lol,que pog
     
    é so manda vida dele direto por
    caso seja o cid do poke:
    doSendPlayerExtendedOpcode(getCreatureMaster(cid), 51, getCreatureHealth(cid))
     
    caso seja o cid do player:
    doSendPlayerExtendedOpcode(cid, 51, getCreatureHealth(getCreatureSummons(cid)[1]))
     
    vc pode mandar qualquer string que desejar por opcode
     
    tá ligado que isso so vai printa no console né?
    tem que usar algo do tipo
    ProtocolGame.registerExtendedOpcode(51, function (protocol, opcode, buffer) health = tonumber(buffer) end)
  8. Upvote
    Vinc recebeu reputação de Vills em [5 REP+] Ot client programas   
    o link da das sourcers para funcionar normalmente aki
     
    caso n funciona ai pode usar o repositorio das sourcers do otc(use um programa adequado para baixar o repositorio )
    https://github.com/edubart/otclient.git
    (n é link de download de navegador,como disse deve se usar um programa adequado como o proprio progama da da git ,eclipse,ect)
     
    link das libs
    mingW32
  9. Upvote
    Vinc recebeu reputação de Omega em getPrimes([range])   
    lol vcs tão checando se se numeros pares são primos e checando se numeros impares são divisiveis por pares...
     
    checa de 2 em dois a partir do 3.
  10. Upvote
    Vinc recebeu reputação de Omega em Patterns   
    como o dalvorsn falo fato a união de conjuntos.
    e tbm casos do tipo [1-9 ](numeros de 1 a 9), [a-d] (letras de "a" á "d"), [1-7a-cf-k] (numeros de 1 a 7 ou letras de "a" a "c" ou letras de "f" a"k"), ect
     
    e gfind n existe mais, é gmatch, troca que se n os cara usa e da erro.
  11. Upvote
    Vinc deu reputação a Omega em X-Weapons   
    Apresento-lhes as X-Weapons, uma pequena galeria com alguns scripts para armas especiais. O @Lucasmml me ajudou fazendo a primeira sprite pra incrementar a iniciativa.
    Magebane - o terror dos magos
    Uma arma lendária: ela tem o poder de, a cada golpe, retirar um pouco do poder mágico do alvo.

     
     
    Winter's Charm - o poder do inverno Esse poderoso cajado se adapta aos poderes do mago que o utiliza, disparando gelo e atrapalhando a movimentação do alvo.

     
     
    Maul of Doom - o martelo dos amaldiçoados Esse martelo foi submetido a rituais profanos, recebendo poderes sobrenaturais que afligem com dores contínuas quem tem o azar de receber seus golpes.
    -- Importante --
    Esse código foi feito pelo @brun123 para uma magia, só adaptei ele pra criar uma arma.

     
     
    Fury's Edge - no pain, no gain Essa espada se alimenta da raiva do seu usuário, causando maior dano conforme o percentual de vida decresce.

     
     
    The Blood Drinker Esse machado é capaz de se alimentar do sangue fresco de suas vítimas, absorvendo-o para aumentar sua força.

     
  12. Upvote
    Vinc recebeu reputação de Omega em X-Weapons   
    resolvi fazer uma arminha diferente tambem, só preciso arruma os effeitos(estão bem zuados,coloquei qualquer um so pra testa) ,fazer um video, e adiciona umas configurações de dano e outros detalhes
     
    postarei para o proximo oms.
  13. Upvote
    Vinc recebeu reputação de dalvorsn em Patterns   
    como o dalvorsn falo fato a união de conjuntos.
    e tbm casos do tipo [1-9 ](numeros de 1 a 9), [a-d] (letras de "a" á "d"), [1-7a-cf-k] (numeros de 1 a 7 ou letras de "a" a "c" ou letras de "f" a"k"), ect
     
    e gfind n existe mais, é gmatch, troca que se n os cara usa e da erro.
  14. Upvote
    Vinc recebeu reputação de dalvorsn em getPrimes([range])   
    lol vcs tão checando se se numeros pares são primos e checando se numeros impares são divisiveis por pares...
     
    checa de 2 em dois a partir do 3.
  15. Upvote
    Vinc deu reputação a MaXwEllDeN em Como funcionam os scripts?   
    Como funcionam os Scripts?


    Você já deve ter se perguntado como os scripts funcionam ou não. Por exemplo: Como o servidor sabe que quando eu apertar com o botão direito em um Health Potion ele terá que healar o player alvo?

    Em primeiro lugar devemos entender o que são callbacks. Do modo mais simples callback é algo que acontece devido a uma reação, é como a Terceira Lei de Newton que diz que toda ação gera uma reação, esse callback é a nossa reção, é uma função que vai ser executada assim que algo acontecer, no caso do Health Potion assim que ele for usado.


    Quando um item é usado ele provoca a chamada de um callback dessa função:




    – Max, que parâmetros são esses? :hum:
    – É simples.



    O Script do Health Potion ficaria +/- assim:

    local config = { min_heal = 100, -- Minimo que vai healar max_heal = 200, -- Máximo que vai healar empty = 7636, -- Id do Potion vazio } function onUse(cid, item, fromPosition, itemEx, toPosition) if isCreature(itemEx.uid) then doCreatureSay(cid, "Aaaah...", 19) doSendMagicEffect(toPosition, 12) doCreatureAddHealth(itemEx.uid, math.random(config.min_heal, config.max_heal)) doTransformItem(item.uid, config.empty) else doPlayerSendCancel(cid, "You cannot use this object.") end return true end
    Funções usadas:


    Bem, esse aí é o script, agora só é você salvar, colocar na sua pasta actions/scripts e pronto!

    – Max, se existem vários scripts na pasta actions/scripts, como meu OT sabe qual usar?
    – Por causa das chamadas TAGs.
    – TAGs?
    – Sim, é uma linha que é colocada no .xml para dizer ao seu servido que o Callback para um item x será a função daquele script.

    As Tags das actions seguem esse modelo:

    <action itemid = "7618" event = "script" value = "HealthPotion.lua" /> itemid - É o id do item, que ao ser usado o callback dele vai ser o script que está em value, no caso HealthPotion.lua
    event - Indica o que vai acontecer quando usar o item, no caso vai ler o script. Não precisa se preocupar com isso por enquanto.
    value - É o nome do script que tem o callback que você quer usar no item 7618

    Exercício: Crie uma Action que quando eu usar uma Warlord Sword em alguém essa pessoa diga "Aí, isso doi". Poste a TAG também!

    Resposta SÓ ABRA DEPOIS DE RESOLVER:



    É isso aí pessoal, essa foi a primeira aula de Scriptwriting que eu escreví, espero que gostem :3
  16. Upvote
    Vinc deu reputação a sailorv em Tic Tac Toe   
    Foi eu que fiz o importante e que funcione nao e ?
     
    LuckinhaSan obrigado por trazer aqui :]
     
    e pelo que eu to vendo xtibia e o unico forum de tibia que talvez ainda nao esta morto, ( prefiro receber critica do que nao receber nada )
     
    ou por que minha ideia nao interessa ninguem :[
  17. Upvote
    Vinc recebeu reputação de sailorv em Tic Tac Toe   
    mais da pra melhora bastante,acho que ficaraia melhor se fosse por action, dai o npc so dava um item(que seria como serviria com caneta pra marca).
  18. Upvote
    Vinc deu reputação a dalvorsn em System of Fire In Forests   
    • Autor: Dalvo
    • Versão testada: TFS 0.4_rev3884
    • Descrição: O script como o próprio nome diz, é um sistema de incêndio em florestas, você da use com um item que tem a caracteristica useable no items.otb(que tem with chross hair) numa arvore que esteja configurada para queimar, ela começa a queimar e o fogo vai se alastrando para todas as arvores ao redor, numa distancia de 1sqm, e as arvores que forem sendo queimadas também alastram o fogo nas mesmas condições, até que acabem todas as arvores "coladas". Graças a um bug do tfs não ficou muito bonito o código, tive que trabalhar com posições para pegar uid, isso não foi muito legal, mas está bem funcional. O código é livre para uso de qualquer um, só peço que mantenham os créditos.
    Obs.: Créditos a loManoMano(deragon) pela idéia do script.
     





     
     

    System Of Fire In Forests


     
    • Crie um arquivo lua em actions, defina a tag colocando o(s) itemid(s) dos item(s) que poderão iniciar incendios), e coloque isso no arquivo lua:
    7tkyCN79[/pastebin]
     

    Configuração


     
    local burningTrees = {
    [TreeId] = BurningTreeId,
    }
    TreeId -> Id de um item que pode ser queimado;
    BurningTreeId -> Id do item ao qual será o resultado do TreeId queimado;
     
    Bem, é isso, espero que gostem. No mais qualquer duvida, bugs ou sugestões postem no tópico.
  19. Upvote
    Vinc recebeu reputação de SkyLigh em Somente uma certa vocation passa pelo tile se não perde 10k   
    smartbox esse seus script macarronicos.
    fih, se testo esse treco, n funciona n .

    if getPlayerVocation(cid,vocation) then -- getPlayerVocation(cid) só recebe uma varivel a segunda n serve pra nada,ou seja qualquer vocação ... return true -- script acabo aki
  20. Upvote
    Vinc recebeu reputação de SkyLigh em Somente uma certa vocation passa pelo tile se não perde 10k   
    se tive usando otscriptlive,para de usa porque a indentação ta toda zuada.
     
    continua tendo um erro
     
    se muda o storage do cara pra 1 e depois checa se é 1,obvio que vai ser true
    coloca um return true depois do "setPlayerStorageValue(cid, config.storage , 1)",que arruma.
  21. Upvote
    Vinc recebeu reputação de Roksas em Como Criar A Pasta Mods?   
    usa uma potion de double xp que n seja por mod
    n sei se tem como simplesmente adiciona a pasta de mods
  22. Upvote
    Vinc recebeu reputação de Roksas em pessoas com deficiência geneticas   
    O que você acha da atitude que a sociedade tem sobre deficientes(os por causas genetica) atualmente?
     
    Os filhos de um deficiente genetico podem herdar o genes defeituos e passarema seus filhos, que passaram aos filhos dele e assim por diante, espalhando cada ves mais o genes defeituosos. O que pode causar serios problemas a humanidade no futuro.
     
    Deixa-los vivos, não é se por contra a seleção natural(afinal eles não sobreviveriam sem a tecnologia e ajuda de pessoas normais)?
     
    Antes de postar, lembre que aqui é o papo cabeça,se pretende chingar simplemente retirese.
    Espero ver resposta baseadas em argumentos científicos.
  23. Upvote
    Vinc recebeu reputação de Snowsz em Como usar Stats Change   
    wtf
    essa é uma função callback de C pra quando uma criatura ganha ou perde hp ou mana
    se n sabe n fala
    @topico
    vamo explica direito
    onStatsChange(cid, attacker, _type, combat, value)
     
    os argumentos(arg) podem ter qualquer nome que desejar,so importa a ordem dos mesmos
    1ºarg = cid esse n precisa de explicação
     
    2ºarg = attacker quem deu o dano(ou healo)
     
    3ºarg = _type(n use o nome type,pois type é uma função que pode ser bem util)
    o _type pode ser 4 tipos
    STATSCHANGE_HEALTHGAIN(quando ganha hp),
    STATSCHANGE_HEALTHLOSS(quando perde hp),
    STATSCHANGE_MANALOSS(quando perde mana),
    STATSCHANGE_MANAGAIN(quando ganha mana)
     
    como usa-los?
    coloque um if pra checalos
    se vc quer quando perder sangue use
    if _type == STATSCHANGE_HEALTHLOSS then
     
    4ºarg = combat o tipo de dano physical,fire,etc. caso queira que seja quan um tipo de dano em epecifico use um "if combat == NomeDoTipoDeDano then"
    os tipos de dano podem ser visto na lib 000-constant
     
    5ºarg = value o quando de hp ou mana ganho/perdeu
     
    exemplo de script
    torna player imunea danos fire enquanto tiver o storage

    function onStatsChange(cid, attacker, _type, combat, value) if _type == STATSCHANGE_HEALTHLOSS then --checa se foi uma perda de hp if getPlayerStorageValue(cid,666) == 1 then --checa o storage if combat == COMBAT_FIREDAMAGE then --checa se foi por dano de fogo return false --retorna falso(encerando o script) sendo assim n muda o hp do jogador end end end return true --retorna verdadeiro mudando o hp de player end
    agora ela compactada e sem comentarios

    function onStatsChange(cid, attacker, _type, combat, value) if _type == STATSCHANGE_HEALTHLOSS and getPlayerStorageValue(cid,666) == 1 and combat == COMBAT_FIREDAMAGE then return false end return true end
    lembrece de sempre indendar o script pra deixar organizado
  24. Upvote
    Vinc recebeu reputação de dwhfms em Quem ai curte bots?   
    meu deus até vc se odeia.
     
    ps:pra quem n sabe Newtonnotwen é a antiga conta dele,banida por bostiar no barzinho,no papo cabeça, em outras seções.
  25. Upvote
    Vinc recebeu reputação de Slicer em Como usar Stats Change   
    wtf
    essa é uma função callback de C pra quando uma criatura ganha ou perde hp ou mana
    se n sabe n fala
    @topico
    vamo explica direito
    onStatsChange(cid, attacker, _type, combat, value)
     
    os argumentos(arg) podem ter qualquer nome que desejar,so importa a ordem dos mesmos
    1ºarg = cid esse n precisa de explicação
     
    2ºarg = attacker quem deu o dano(ou healo)
     
    3ºarg = _type(n use o nome type,pois type é uma função que pode ser bem util)
    o _type pode ser 4 tipos
    STATSCHANGE_HEALTHGAIN(quando ganha hp),
    STATSCHANGE_HEALTHLOSS(quando perde hp),
    STATSCHANGE_MANALOSS(quando perde mana),
    STATSCHANGE_MANAGAIN(quando ganha mana)
     
    como usa-los?
    coloque um if pra checalos
    se vc quer quando perder sangue use
    if _type == STATSCHANGE_HEALTHLOSS then
     
    4ºarg = combat o tipo de dano physical,fire,etc. caso queira que seja quan um tipo de dano em epecifico use um "if combat == NomeDoTipoDeDano then"
    os tipos de dano podem ser visto na lib 000-constant
     
    5ºarg = value o quando de hp ou mana ganho/perdeu
     
    exemplo de script
    torna player imunea danos fire enquanto tiver o storage

    function onStatsChange(cid, attacker, _type, combat, value) if _type == STATSCHANGE_HEALTHLOSS then --checa se foi uma perda de hp if getPlayerStorageValue(cid,666) == 1 then --checa o storage if combat == COMBAT_FIREDAMAGE then --checa se foi por dano de fogo return false --retorna falso(encerando o script) sendo assim n muda o hp do jogador end end end return true --retorna verdadeiro mudando o hp de player end
    agora ela compactada e sem comentarios

    function onStatsChange(cid, attacker, _type, combat, value) if _type == STATSCHANGE_HEALTHLOSS and getPlayerStorageValue(cid,666) == 1 and combat == COMBAT_FIREDAMAGE then return false end return true end
    lembrece de sempre indendar o script pra deixar organizado
  • Quem Está Navegando   0 membros estão online

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