Ir para conteúdo

digo1040

Campones
  • Total de itens

    59
  • Registro em

  • Última visita

  • Dias Ganhos

    6

Tudo que digo1040 postou

  1. digo1040

    Me Ajudem

    Isso se chama tp falante deve ter vários no forum.
  2. digo1040

    Corpses

    Não recordo se tem como configurar isso nas vocations, mas tenho quase certeza que não, o que daria para ser feito é um creature event que transforme o corpse do player conforme a vocation dele. Qual voltar da escola se ninguém ter feito eu faço. Em creaturescripts/scripts crie um arquivo e coloque nele: local config = { --[vocation id] = corpse id, [0] = 1212, [1] = 1213, } function onDeath(cid, corpse, deathList) local crp = config[getPlayerVocation(cid)] if crp and tonumber(crp) then doTransformItem(corpse, crp) end return true end No arquivo creaturescripts.xml coloque: <event type="death" name="vocationCorpse" event="script" value="nomedoarquivo.lua"/> E por último, coloque no arquivo scripts/login.lua isso: registerCreatureEvent(cid, "vocationCorpse") Bom com isso poderá ter um corpse para cada vocation.
  3. A talkaction. function onSay(cid, words, param, channel) local coin = 9971 --gold ingot local exp = 100000000 --quanta exp ganha local quant = 10 --quantos gold ingot precisa para ganhar a exp if getPlayerItemCount(cid, coin) >= quant and doPlayerRemoveItem(cid, coin, quant) then doSendMagicEffect(getCreaturePosition(cid), 14) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voca acaba de ganhar exp!") doPlayerAddExp(cid, exp) else doSendMagicEffect(getCreaturePosition(cid), 2) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce precisa de " .. quant .. " " .. getItemNameById(coin) .. " para ganhar a expericiencia!") end return true end
  4. Verifique a cidade do player e olhe no RME a posição da cidade.
  5. Pergunte pra quem editou o distro '-'
  6. -Bom, inicialmente não conheço ot fox, ela foi um pedido que me fizeram. -E true e false são operadores lógicos padrões da linguagem lua. -E os itens que voce modificou, conforme pode-se perceber no scripts, eles são comparados com os operadores lógicos true/false.
  7. Eai, No XML/channels.xml deve ter algo assim: <channel id="XXX" name="Help" logged="yes" /> Deixe assim: <channel id="XXX" name="Help" muted="XY" conditionId="4" conditionMessage="Voce so pode postar uma mensagem no help chanel a cada x tempo." logged="yes" /> muted => tempo em segundos que deve esperar para enviar uma nova mensagem conditionId => imagina como se fosse aonde fica salvo o tempo muted, como no trade ja eh usado e tem dois trade, use o 4 conditionMessage => Mensagem que aparece quando tenta enviar algo no help channel
  8. Não conheço essa magia, fale comigo por pm, talves eu faça
  9. Se não estou enganado em 8.40 eh a mesma maneira. Mas não tenho um ot 8.40 para confirmar agora.
  10. Provavelmente vocês não estão utilizando o tfs 0.4, que é o distro que oferece suporte a esse war system. A definição -D__WAR_SYSTEM você deve colocar no dev cpp, antes de compilar.
  11. O primeiro codigo eh o script em lua, voce deve salvá-lo dentro da pasta scripts. O segundo codigo é a tag xml, vc deve colocá-lo (ou colocá-los se voce for fazer por runa) dentro do arquivo spells.xml. Editando as informações em letras maiusculas e alterando o nome do arquivo.
  12. Bom math.random() é usada para gerar números aleatórios, entretanto um computador não consegue pegar um número qualquer (sem nenhum motivo), então ele utiliza um número como base e realiza uma equação com ele, por isso se diz que os computadores geram números pseudo-aleatórios (ou falso aleatório). Quando você utiliza o comando math.randomseed(x) você diz qual número ele deve utilizar como base. E assim ele sempre gerará a mesma sequência "aleatória". Um exemplo de script: crie um talkaction assim: function onSay(cid, words, param, channel) math.randomseed(1) local a = math.random() local b = math.random() local c = math.random() local d = math.random() doBroadcastMessage(a .. " - " .. b .. " - " .. c .. " - " .. d) return true end E em talkactions.xml coloque .. brincadeira ;P Toda vez que você utilizá-lo será gerada a mesma sequência de números. Bom, particularmente nunca utilizo esse comando, na minha perspectiva, ele somente é útil se por algum motivo você quer que ele gere sempre a mesma sequência (o que não é aleatório), ou para você mesmo definir alguma formula para determinar o número base. Bom, espero que tenha conseguido esplicar bem xP
  13. Quanto andar na água, você deve utilizar aquele tile de água andável, como não sou mapper não lembro o id dele.
  14. Essas falas são editadas no arquivo, player.cpp, no arquivo procure por isso: void Player::manageAccount(const std::string &text) As falas do account manager estão +/- entre as linhas 4300 e 4900
  15. Tente assim: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if (msgcontains(msg, "hello") or msgcontains(msg, "hi")) and not npcHandler:isFocused(cid) then if getCreatureHealth(cid) < 85 then npcHandler:say("Olá, "..getCreatureName(cid).."! Voce parece precisar de ajuda, deixe-me ajuda-lo. A Westwall Village precisa de guerreiros para proteger as ameaças por aqui, voce gostaria de se {alistar}?", cid) doCreatureAddHealth(cid, 500 - getCreatureHealth(cid)) doSendMagicEffect(getCreaturePosition(cid), 12) talkState[talkUser] = 1 else selfSay("Olá, "..getCreatureName(cid).."! Eu irei lhe {curar} caso você esteja machucado ou envenenado. Você também pode se {alistar} para as tarefas que a Westwall Village precisa.") npcHandler:addFocus(cid) talkState[talkUser] = 1 end return true end if(not npcHandler:isFocused(cid)) then return false elseif msgcontains(msg, "bye") or msgcontains(msg, "farewell") then selfSay("Que Deus lhe abençoe, " .. getCreatureName(cid) .. "!", cid, TRUE) npcHandler:releaseFocus(cid) elseif msgcontains(msg, "alistar") then if (getPlayerStorageValue(cid, 101) > 0) and talkState[talkUser] == 1 then selfSay('A Westwall Village tem enfrentado ameaças constantes e nós precisamos de jovens guerreiros dispostos à desafios. Você gostaria de ser recrutado?', cid) talkState[talkUser] = 2 else selfsay('Você já foi recrutado', cid) talkState[talkUser] = 0 end elseif msgcontains(msg, "yes") or msgcontains(msg, "sim") and talkState[talkUser] == 2 then setPlayerStorageValue(cid,101,1) doPlayerAddItem(cid,7491,1) selfSay('Leve esta Carta de Recrutamento para o Ferreiro Belben, ele irá prepará-lo para a batalha.', cid) elseif msgcontains(msg, "curar") then if getCreatureCondition(cid, CONDITION_FIRE) == TRUE then npcHandler:say("Você está queimando, deixe-me ajudá-lo.", cid) doRemoveCondition(cid, CONDITION_FIRE) doSendMagicEffect(getCreaturePosition(cid), 14) elseif getCreatureCondition(cid, CONDITION_POISON) == TRUE then npcHandler:say("Você está envenenado, deixe-me ajudá-lo.", cid) doRemoveCondition(cid, CONDITION_POISON) doSendMagicEffect(getCreaturePosition(cid), 13) elseif getCreatureHealth(cid) < 85 then npcHandler:say("Você parece estar machucado, deixe-me curá-lo.", cid) doCreatureAddHealth(cid, 65 - getCreatureHealth(cid)) doSendMagicEffect(getCreaturePosition(cid), 12) else npcHandler:say("Você não parece estar machucado, " .. getCreatureName(cid) .. ". Eu só ajudo em casos de verdadeiras emergencias, aumente sua vida comendo comida.", cid) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:setMessage(MESSAGE_WALKAWAY, "Que Deus lhe abençoe.")
  16. Bom, na verdade ele só verifica o o access quando for player, mudei essa parte do access, talves ela tenha dado conflito, se continuar o erro, poste ele. Não precisa editar o access dos players ;D Nesse delay é salvo em uma storage quando o player pode utilizar a magia novamente (os.time() + segundos), quando o player usar a magia ele verifica se já é essa data.
  17. Colocar a tag doPlayerSetExperienceRate(cid,0) como o @Jhon992 fez funciona, mas por padrão isso é definido nas flags no no arquivo XML/groups.xml, por padrão ele vem assim: <?xml version="1.0" encoding="UTF-8"?> <groups> <group id="1" name="Player"/> <group id="2" name="Tutor" flags="16809984" customFlags="2" access="1" violationReasons="4" nameViolationFlags="2"/> <group id="3" name="Senior Tutor" flags="68736352256" customFlags="14" access="2" violationReasons="10" nameViolationFlags="2" statementViolationFlags="63" maxVips="200"/> <group id="4" name="Gamemaster" flags="3808558964575" customFlags="257215" access="3" violationReasons="19" nameViolationFlags="10" statementViolationFlags="69" depotLimit="3000" maxVips="300" outfit="75"/> <group id="5" name="Community Manager" flags="3840774348794" customFlags="781823" access="4" violationReasons="23" nameViolationFlags="42" statementViolationFlags="213" depotLimit="4000" maxVips="400" outfit="266"/> <group id="6" name="God" flags="3845069447162" customFlags="50331647" access="5" violationReasons="23" nameViolationFlags="426" statementViolationFlags="469" depotLimit="5000" maxVips="500" outfit="302"/> </groups>
  18. Triste não é mudar de ideia, triste é não ter ideia para mudar '-'
  19. Hoje alguém já falou de sexo com você? Não?! Então vai se fuder!!!
    1. Mostrar comentários anteriores  %s mais
    2. alldakie

      alldakie

      Já mandaram vocês dois toma no ##?

    3. Secrets

      Secrets

      Fica ausente de novo, vai lá filhinho.

    4. digo1040

      digo1040

      Mandaram não, mas pra voce nem precisa mandar não é?

  20. Este script é nas sources, vi algum aqui no xtibia como ant divulgação, algo assim.
  21. Imagine assim: setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, minA, minB, maxA, maxB, minL, maxL, minM, maxM, minC, maxC) Na formula: setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.2, -40, -2.2, 0) minA = -2.2 minB = -40 maxA = -2.2 maxB = 0 como só tem esses 4 valores, os restantes (minL....) valem 1. E a formula que o distro usa para calcular eh: ataque minimo = (Level / minL + MagicLevel * minM) * minA + minB ataque maximo = (Level / maxL + MagicLevel * maxM) * maxA + maxB De modo geral é isso
  • Quem Está Navegando   0 membros estão online

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