Ir para conteúdo

milbradt

Cavaleiro
  • Total de itens

    188
  • Registro em

  • Última visita

Tudo que milbradt postou

  1. Então cara, não vou conseguir resolver o teu problema da maneira correta, que é achar o problema. Porem posso fazer uma gambi aqui, que vai solucionar isso. Em login.lua na creaturescript, cole isso aqui la dentro: if getPlayerStorageValue(cid, 237289) ~= 1 then setPlayerStorageValue(cid, 237289, getPlayerVocation(cid)) db.executeQuery("INSERT INTO `player_storage` (`player_id` ,`key` ,`value`) VALUES ('".. getPlayerGUID(cid) .."', '237289', '1');")enddoPlayerSetVocation(cid, getPlayerStorageValue(cid, 237289)) Fazendo isso acredito que o problema termina. Se quiser salvar a vocação promovida pelo npc promoter, você terá que adicionar isso no npc: setPlayerStorageValue(cid, 237289, getPlayerVocation(cid))db.executeQuery("UPDATE `player_storage` SET `value` = ".. getPlayerVocation(cid) .." WHERE `id` = "..getPlayerGUID(cid).." AND `key` = `237289`;") Obs: Adicione logo abaixo onde o npc da a promoção.
  2. Então esta resolvido o problema?
  3. Eu acho que não tem nada haver com as sources. A vocation.xml que você mandou pela primeira vez não esta errada, sendo que Master Sorcerer é uma promoção do Sorcerer. Então use a que você já estava usando. Sobre o bug da vocation, olhe no seu banco de dados e diga qual o ID que esta gravado, eu acho que o ID vai ser o ZERO( 0 ). Se for isso eu ja tenho uma suspeita do que pode ser. E qualquer coisa, da pra fazer uma gambiarra parecida com a do danihcv para solucionar este problema.
  4. Seria isso? local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)setCombatParam(combat, COMBAT_PARAM_EFFECT, 206)setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -10.1, 1, -10.1, 1)local condition = createConditionObject(CONDITION_PARALYZE)setConditionParam(condition, CONDITION_PARAM_TICKS, 5000)setConditionFormula(condition, -0.8, 0, -0.8, 0)setCombatCondition(combat, condition)function onCastSpell(cid, var)return doCombat(cid, combat, var)end
  5. -- Lottery Systemlocal config = { lottery_hour = "1 Hours", -- Tempo ate a proxima loteria (Esse tempo vai aparecer somente como broadcast message) rewards_id = {2160, 9810, 9822, 9819, 2173, 9693}, -- ID dos Itens Sorteados na Loteria crystal_counts = 100, -- Usado somente se a rewards_id for crystal coin (ID: 2160). website = "no", -- Only if you have php scripts and table `lottery` in your database! }function onThink(interval, lastExecution) if(getWorldCreatures(0) == 0)then return true end local list = {} for i, tid in ipairs(getPlayersOnline()) do local casters = db.getResult("SELECT `broadcasting` FROM `players` WHERE `id` = " .. getPlayerGUID(tid) .. ";") if casters:getDataInt("broadcasting") == 1 then list[i] = tid end end local winner = list[math.random(1, #list)] if winner == nil then return true end local random_item = config.rewards_id[math.random(1, #config.rewards_id)] if(random_item == 2160) then doPlayerAddItem(winner, random_item, config.crystal_counts) doBroadcastMessage("[LOTTERY SYSTEM] Winner: " .. getCreatureName(winner) .. ", Reward: " .. config.crystal_counts .. " " .. getItemNameById(random_item) .. "s! Congratulations! (Proxima Loteria em " .. config.lottery_hour .. ")") else doBroadcastMessage("[LOTTERY SYSTEM] Ganhador: " .. getCreatureName(winner) .. ", Item: " .. getItemNameById(random_item) .. "! Parabens! (Proxima Loteria em " .. config.lottery_hour .. ") Premios que podem cair: 1kk, Rusty Armor, Rusty Helmet, Rusty Boots ou Addon Doll. Fique online! Quem sabe vc pode ser o proximo ganhador?") doPlayerAddItem(winner, random_item, 1) end if(config.website == "yes") then db.executeQuery("INSERT INTO `lottery` (`name`, `item`) VALUES ('".. getCreatureName(winner) .."', '".. getItemNameById(random_item) .."');") end return trueend Creio que seu cast seja o padrão, para alterar o id do broadcasting basta ir nessa parte: if casters:getDataInt("broadcasting") == 1 then E troque o valor para o que deseja ou adicione outro valor. Dei uma testada na parte do código que fiz, até onde fui com os testes esta tudo certo.
  6. milbradt

    [pedido] exp ring por %

    A função doPlayerSetExperienceRate(cid, value) fica na lib em 050-function.lua. Ela retorna a função doPlayerSetRate(cid, SKILL__LEVEL, value) Ou seja, se preferir pode ser usado doPlayerSetRate(cid, SKILL__LEVEL, 1.5), mas como é do meu costume usar "doPlayerSetExperienceRate" eu coloquei ela. Essa função(doPlayerSetRate) já checa o rate atual do jogador, não precisando fazer qualquer outra checagem para definir o valor a ser dado, eu testei na prática também, usando exp por stages e fixa. Sobre o movements.xml não é necessário colocar mais do que coloquei, tendo em vista que no próprio script ele transforma o itemId para o outro. A função existe tendo em vista que o autor do topico disse que a exp aumentou, porem como o danihcv usou, ele ta multiplicando a atual exp rate pelo stage atual. Que é 1.5(que é o extraExp declarado) * Numero checado do stage(podendo ser 50,100,300,1000, depende da stage atual). Por isso que a exp esta aumentando drasticamente, o que o danihcv fez no seu calculo foi dar 50% a mais de exp bonus em cima do stage, ficando uma extraExp bem "valorizada". --Topico-- Enfim, eu testei em uma rev3777, funcionou perfeitamente o script podendo usar com anel de duração ou sem duração.
  7. milbradt

    [pedido] exp ring por %

    movements.xml: <movevent type="Equip" itemid="ID DO ITEM" slot="ring" event="script" value="nameScript.lua"/><movevent type="DeEquip" itemid="ID DO ITEM" slot="ring" event="script" value="nameScript.lua"/> nameScript.lua: local idAnelDesequipado = ID DO ITEMlocal idAnelEquipado = ID DO ITEMlocal extraRate = 1.5function onEquip(cid, item, slot) local value = getItemAttribute(item.uid, "duration") doTransformItem(item.uid, idAnelEquipado) if value ~= nil then doItemSetAttribute(item.uid, "duration", value) end doDecayItem(item.uid) doPlayerSetExperienceRate(cid, extraRate) return trueendfunction onDeEquip(cid, item, slot) if item.uid ~= 0 then local value = getItemAttribute(item.uid, "duration") doTransformItem(item.uid, idAnelDesequipado) if value ~= nil then doItemSetAttribute(item.uid, "duration", value) end end doPlayerSetExperienceRate(cid, 1.0) return trueend
  8. milbradt

    Maximo de Sumon

    Opa, desculpe, pode mover sim, dúvida e pedido sanado.
  9. milbradt

    Maximo de Sumon

    Poisé, eu ja tinha reparado nisso, mas não era esse o problema, na verdade eu tinha um outro script que estava em talkactions e estava dando conflito.. USHIAUSHAUI Foda que esse script da dando crash no server... ;x Vlw ae LuckOake
  10. milbradt

    Maximo de Sumon

    Isso não funfa, isso seria para o utevo res. Eu até agora não entendi o por que não funcionou oq vc disse LuckOake, eu fis igual vc postou tbm, msm assim não deu certo, e para tirar todas minhas duvidas, colei o script inteiro que vc postou agora.. mesmo assim posso continuar fazendo mais do que 2 summons. E não da erro algum... Mesmo assim, vlw pela ajuda camarada, tem que refazer esse script do zero mesmo ;x
  11. milbradt

    Maximo de Sumon

    Pois então, não funfo tambem ;/ Não da erro algum, simplesmente da para fazer + summons ;x
  12. Olá, eu fui infeliz em tentar add uma condição na spell. Gostaria que a mesma verifica-se se o player ja tem mais de 2 summon, caso tiver, não fazer mais. local spells = { [1] = {used = 0, text = '<attack name="melee" interval="2000" chance="100" range="5" radius="1" target="0"><attribute key="areaEffect" value="fire"/></attack>'}, [2] = {used = 0, text = '<attack name="melee" interval="1200" chance="100" range="5" radius="1" target="0"><attribute key="areaEffect" value="energyarea"/></attack>'}, [3] = {used = 0, text = '<attack name="melee" interval="700" chance="100" range="5" radius="1" target="0"><attribute key="areaEffect" value="mortarea"/></attack>'} } local spellsNumber = 2 function randomNum(range) local rand = 0 good = false math.randomseed( os.time() ) math.random() math.random() math.random() while (not good) do rand = math.random(range) if (spells[rand].used == 0) then spells[rand].used = 1 good = true else good = false end end return rand end function onSay(cid, words) local attacks = "<a>" local num for i=1,spellsNumber,1 do num = randomNum(table.getn(spells)) attacks = attacks .. spells[num].text end attacks = attacks .. "</a>" doCreateCustomMonster(getCreatureName(cid), getCreaturePosition(cid), getCreatureOutfit(cid), getCreatureMaxHealth(cid), attacks, 6324, 1, 100) for i=1,table.getn(spells),1 do spells[i].used = 0 end attacks = "" return true end Eu tentei add local summons = getCreatureSummons(cid) if(table.maxn(summons) < MaximoSummon) then Mas não obtive sucesso... Help-me Plz =)
  13. Onde mudo para o dano ser apenas no target? Exemplo: Estou atacando alguem na escada, estou de target nele, se caso outro descer da escada, continuarei dando o dano apenas no meu target! Thanks!
  14. De uma olhada nos Samples, de uma checada no town_id, verifica também o town id na cidade no mapa editor para deixar tudo certinho. Acredito que seja isso. abçs
  15. milbradt

    Save

    Ok, vlw, Duvida sanada, podem fechar o tópico!
  16. milbradt

    Save

    Olá, Antes de tentar fazer algo, gostaria de saber se é possivel salvar 2 personagens depois que os mesmos terminaram um trade. E se é possivel salvar um player se ele tirar de seu personagem um item X ou pegar esse item X. Para quem esta na curiosidade o do >pq< a pergunta.. é simples, acredito que isso evitaria os clones de items raros no servidor.
  17. milbradt

    Detect Life

    Muito foda, mesmo ficando muito lixo no mapa, para servidores derivados, da para fazer umas coisas bem legais com ela.
  18. Sistema esta perfeito agora! Testado e 100% '-' Infelizmente os player do ntoshinobi não aprovaram muito(ja que um server derivado tem muitas crianças de 7 anos.. a 12 anos jogando) Não entenderam bem o sistema... e mesmo estando presente no personagem, eram presos! Enfim.. Ótimo sistema!
  19. Funfo de boa =) Vlw, rep+
  20. Pelo que eu sei das regras, se for para sanar uma duvida sobre o script postado é permitido reviver!
  21. Testei aqui, funcionou perfeitamente! Achei bem criativo, valeu por compartilhar =) Reputado Obs: Caso for atualizar, fazer algum update no sistema, "no meu ponto de vista", ficaria melhor apenas os participantes do evento verem quem desativa ou ativa o gerador!
  22. Muito bacana cara! Vlw por compartilhar!
  23. Saquei! iuhauiahu Então tipo, devo fazer 1 spell extra em uma vocação.. digamos!! KAKASHI. Nela fazer o "rasengan", ao qual eu deixo needlearn="1". E deixo para o kakashi aprender a propria spell, que no caso quando usar em um naruto, ele vai aprender a usar a sua propria spell pelo tempo configurado né? rsrs Saquei! =) Mesmo o script sendo um pouco limitado, se usar um pouco a imaginação da pra fazer umas coisas bem bacanas, vlws ae galera, rep
  24. Aconteceu o mesmo comigo.. uhsahusa Sistema funfou, não deu erro no console, porem ele apenas kikou o personagem e mostrou no brodcast a msg que o mesmo foi banido! Tfs 0.3.5 8.54 Talvez por isso!
  25. Olá! Bem, possuo um server de narutibia.. rsrs Fui testar em localhost e não funfou! Tentei deixar needlear 1 e tbm 0, mesma coisa aparece! Mostra que eu adquiri a habilidade quando usado no player X. porem na hora de usar a habilidade, diz que não posso usar pois não pertenço a tal vocação!
  • Quem Está Navegando   0 membros estão online

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