Ir para conteúdo

Demonbholder

Membro
  • Registro em

  • Última visita

Tudo que Demonbholder postou

  1. Pra primeiro script ta bom, foi bem simples o meu script, vocês fariam tranquilo também.
  2. Hmmm, olha como eu fiz function onUse(cid, item) if getPlayerStorageValue(cid, 35000) ~= -1 then return doPlayerSendCancel(cid, "Você já fez esta quest.") end local bps = getPlayerLevel(cid) > 20*100 and math.ceil(getPlayerLevel(cid)/(20*100)) or 1 count = (bps -1)*(20*100) + getPlayerLevel(cid) - (bps -1)*(20*100) for i = 1, bps do local add = count > 20*100 and 20*100 or getPlayerLevel(cid) - (bps -1)*(20*100) doAddContainerItem(doPlayerAddItem(cid, 1988), 2160, add) count = count - add end setPlayerStorageValue(cid, 35000, 1) return TRUE end Ele adiciona tanto de bps que precisa pra adicionar as crystal do teu level. Exemplo, se tu for level 3000, ele adiciona um bp cheia com 2000 crystal e depois outra com 1000 crystal. EDIT Desculpa pelo double-post, não tinha visto.
  3. Demonbholder postou uma resposta no tópico em Playground (Off-topic)
    KKKKKKKKKKKKKKKKKKKKKKKKKKKKK
  4. Demonbholder postou uma resposta no tópico em Playground (Off-topic)
    Nope, minha frase foi perfeita. Não explicarei, vá estudar e passar de ano no colégio.
  5. Demonbholder postou uma resposta no tópico em Playground (Off-topic)
    Não tem o que discutir. Até hoje é apoiada a caça aos nazistas. Se não fosse errado, na segunda guerra, os EUA, Reino Unido e União Soviética não teriam destruído completamente a Alemanha. Logo, nazismo e facismo é falho.
  6. Demonbholder postou uma resposta no tópico em Playground (Off-topic)
    Eu li a merda que o renato falou. Vou compartilhar com vocês: AHUAHUHAUHUAHUAHUAHUAHUAHUAHUAUIAHHAUAHUUHAAU MATO A LÍNGUA PORTUGUESA
  7. Os "locais" são variáveis, ele deve ter colocado porque não faz sentido escrever mil vezes uma função.
  8. ta bem simples isso ai, tenta fazer com que adicione bp também, lembrando que cada bp cabe 20x100 crystal coins
  9. Tem dois erros no script do Matheus. if getPlayerLevel(cid) <= config.level then return doPlayerSendCancel(cid, "You do not have level for do this quest.") end if getPlayerStorageValue(cid, storage) == 1 then Onde o certo seria: if getPlayerLevel(cid) < config.level then return doPlayerSendCancel(cid, "You do not have level for do this quest.") end if getPlayerStorageValue(cid, storage) == -1 then Também seria melhor para prevenir bugs usar uma variável local quando possível. Nesse caso, era. Até.
  10. -- Script by: thalia. local randomizar = { [1] = {name="demon armor", id = 2494, qnt = 1}, [2] = {name="demon legs", id = 2495, qnt = 1}, [3] = {name="demon helmet", id = 2493, qnt = 1}, [4] = {name="infernal bolt", id = 6529, qnt = 100}, } function onUse(cid, item, item2, topos, frompos) local config = { level = 100, -- Level minimo para fazer a quest storage = 14571, -- Não Altere Isso efeito = 28, -- Efeito que fara qndo a quest for feita } if getPlayerLevel(cid) <= config.level then return doPlayerSendCancel(cid, "Você não tem level para fazer esta quest.") end if getPlayerStorageValue(cid, config.storage) == 1 then return doPlayerSendCancel(cid, "Você já fez essa quest.") end pos = getThingPos(cid) a = randomizar[math.random(1,#randomizar)] doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ganhou "..a.name..".") doSendMagicEffect(pos, config.efeito) setPlayerStorageValue(cid, config.storage, 1) if isItemStackable(a.id) then doPlayerAddItem(cid, a.id,a.qnt) else for i = 1, a.qnt do doPlayerAddItem(cid, a.id, 1) end end return TRUE end Se tu não te importa eu editei porque a função doPlayerAddItem não adiciona itens não agrupáveis mais de uma vez. Não testei, testa ai e se quiser substitui.
  11. Demonbholder postou uma resposta no tópico em Playground (Off-topic)
    Errado, no entanto é uma conjunção adversativa assim como mas, porém, todavia, entretanto, no entanto, senão, não obstante, contudo. As conjunções para conclusão, ou seja, as conjunções conclusivas são logo, portanto, então, por isso, por conseguinte, por isto, assim e outras, logo, minha frase estava perfeita como sempre rsrs. No segundo ano do ensino médio irás estudar isso. Falei que o manifesto é forte mas não suficiente, isso mesmo.
  12. AHAUHUAHAUHAUHAUHAUHAUHAU
  13. Demonbholder postou uma resposta no tópico em Playground (Off-topic)
    A idéia é boa, é um manifesto forte. No entanto, não é pressão suficiente no governo, prevejo que esse manifesto resultará em frustrações.
  14. Demonbholder postou uma resposta no tópico em Ouvidoria
    Estou me referindo a funções, não a actions/talks/move. Como não há uma seção para isso, as vezes as funções vão ser postadas em locais diferentes, desorganizando o fórum. Acho que aconteceria isso, não sei. Valeu, até.
  15. Demonbholder postou uma resposta no tópico em Ouvidoria
    Quero ser bem rápido, não vou tomar muito o tempo de vocês. Tava pensando se teria como colocar uma seção de bibliotecas e funções em scripting. Assim não precisaria fazer uma confusão em actions/talks/move. Até mais.
  16. Fala galera, uma talk que eu fiz esses tempos e vou postar aqui. Como funciona: Você deve criar os monstros e depois adiciona-los ao script para poderem ser comprados. Palavras: !summon - Sumona o seu summon por certo tempo gastando uma certa quantidade de soul, caso você tenha comprado ele já.. !buysummon - Compra o summon por um preço. !sellsummon - Vende o summon por metade do preço que você comprou ele. !offer - Checa as ofertas de summons a venda. Talkaction: function onSay(cid, words, param) local buyprice = { ['rat'] = {price = 1000, message = "Parabéns, você comprou o Rat, cuide bem dele.", seconds = 10, soul = 30}, ['skeleton'] = {price = 10000, message = "Parabéns, você comprou o Skeleton, cuide bem dele.", seconds = 30, soul = 40}, ['demon'] = {price = 100000, message = "Parabéns, você comprou o Demon, cuide bem dele.", seconds = 60, soul = 50}, } local offert = "" if words == "!summon" then if getPlayerStorageValue(cid, 22000) ~= -1 then if #getCreatureSummons(cid) == 0 then if getPlayerSoul(cid) >= buyprice[getPlayerStorageValue(cid, 22000)].soul then doSummonPet(cid, getPlayerStorageValue(cid, 22000), buyprice[getPlayerStorageValue(cid, 22000)].seconds) doPlayerSendTextMessage(cid, 4, "Você usou seu summon, dentro de ".. buyprice[getPlayerStorageValue(cid, 22000)].seconds .." ele irá ser removido.") doPlayerAddSoul(cid, - (buyprice[getPlayerStorageValue(cid, 22000)].soul)) else doPlayerSendCancel(cid, "Você não tem soul suficiente.") doSendMagicEffect(getCreaturePosition(cid), 2) end else doPlayerSendCancel(cid, "Você não pode mais sumonar.") doSendMagicEffect(getCreaturePosition(cid), 2) end else doPlayerSendCancel(cid, "Você ainda não possui um summon.") doSendMagicEffect(getCreaturePosition(cid), 2) end end if words == "!buysummon" then if param ~= "" then if getPlayerStorageValue(cid, 22000) == -1 then if getPlayerMoney(cid) >= buyprice[string.lower(param)].price then setPlayerStorageValue(cid, 22000, string.lower(param)) doPlayerSendTextMessage(cid, 4, buyprice[string.lower(param)].message) doPlayerRemoveMoney(cid, buyprice[string.lower(param)].price) else doPlayerSendCancel(cid, "Você não tem dinheiro suficiente para comprar este summon.") doSendMagicEffect(getCreaturePosition(cid), 2) end else doPlayerSendCancel(cid, "Você já possui um summon.") doSendMagicEffect(getCreaturePosition(cid), 2) end else doPlayerSendCancel(cid, "Escolha o summon a ser comprado.") doSendMagicEffect(getCreaturePosition(cid), 2) end end if words == "!sellsummon" then if getPlayerStorageValue(cid, 22000) ~= -1 then doPlayerAddMoney(cid, (buyprice[getPlayerStorageValue(cid, 22000)].price)*5/10) doPlayerSendTextMessage(cid, 4, "Summon vendido com sucesso.") setPlayerStorageValue(cid, 22000, -1) else doPlayerSendCancel(cid, "Você não possui um summon.") doSendMagicEffect(getCreaturePosition(cid), 2) end end if words == "!offer" then for name, _ in pairs(buyprice) do offert = offert == "" and "Summons: \n\n" .. name .. " " .. buyprice[name].price or offert .. "\n" .. name .. " " .. buyprice[name].price end doShowTextDialog(cid, 2160, offert) end return TRUE end Adicione o script acima em data/talkactions/scripts. Tag: <talkaction words="!summon;!buysummon;!sellsummon;!offer" script="NomeDoArquivo.lua" /> Como adicionar mais monstros ao comando: function doSummonPet(cid, name, time) if isMonster(getCreatureByName(name)) then local sum = doSummonMonster(cid, name) if type(time) == "number" then addEvent(doRemovePet, time*1000, cid, name) end else return error("Creature not found!") end end function doRemovePet(cid, name) for y, x in ipairs(getCreatureSummons(cid)) do if isCreature(x) then if string.lower(getCreatureName(x)) == name then doRemoveCreature(x) break end end end end Adicione isso em data/lib/functions para que funcione. É isso, até mais. Funções:
  17. Pelo que eu lembro quando itens não são agrupáveis não é possível usar a quantidade do doPlayerAddItem para adicionar mais de 1, acho que tem que usar o for mesmo. Não sei, posso ter me confundido. Ótimo sistema, rep+, até.
  18. Demonbholder postou uma resposta no tópico em Playground (Off-topic)
    Faala, me cadastrei hoje no fórum pra ver como que é, to gostando bastante até agora. Espero que continue evoluindo, vou tentar ajudar o máximo possível. Sou scripter modinha, quem precisar to aqui. Já reconheci vários amigos putos aqui do fórum ahauhauau. Até mais.
  19. Valeu, eu fiz esse script faz um tempo já. Poderia ter feito assim: if param == "" then return doPlayerSendCancel(cid, "blablabla") end Ao invés de colocar nos dois. Agora deixa assim.
  20. Aeee viciadão auahuahuahh. Parabéns, ótimo npc, rep +. Atéee.
  21. Claro que sim, créditos 100% meus. Você deve estar se confundindo porque eu postei em outro fórum. Até.
  22. E ai, primeiro post aqui. Vou postar um sistema que eu fiz um tempo atrás, como o título já diz é um twitter no OtServer, não tem nada a ver com o site. Como funciona: É tipo um twitter, eu nunca usei o twitter ai não sei como funciona ele direito, mas eu fiz algo do tipo. Você fala !twitt Blablabla e é adicionada ao seu Twitter no Ot, ai para ver os Twitts dos outros é só falar !follow NomeDoJogador e ver seus twitts. function onSay(cid, words, param) if words == "!twitt" then if getGlobalStorageValue(30070) == -1 then db.executeQuery("ALTER TABLE `players` ADD twits TEXT NOT NULL DEFAULT twitter;") setGlobalStorageValue(30070, 1) end if param == "" then doPlayerSendCancel(cid, "Param required.") doSendMagicEffect(getCreaturePosition(cid), 2) else local datas = db.getResult("SELECT `twits` FROM `players` WHERE `id` = ".. getPlayerGUID(cid) .. ";") local sentense = datas:getDataString("twits") .. "\n" .. tostring(param) .. " " .. os.date("%c") db.executeQuery("UPDATE `players` SET `twits` = '".. sentense .. "' WHERE `id` = ".. getPlayerGUID(cid) .. ";") return TRUE end end if words == "!follow" then if param == "" then doPlayerSendCancel(cid, "Param required.") doSendMagicEffect(getCreaturePosition(cid), 2) else local id = playerExists(tostring(param)) and getPlayerGUIDByName(tostring(param)) or getPlayerGUID(cid) local datas = db.getResult("SELECT `twits` FROM `players` WHERE `id` = ".. id .. ";") local name = id == getPlayerGUID(cid) and getCreatureName(cid) or param doShowTextDialog(cid, 2160, name .. " " .. datas:getDataString("twits")) end end return TRUE end Lembrando que é um Twitter no OtServer, não tem nada a ver com o site. Tag: <talkaction words="!twitt;!follow" script="NomeDoArquivo.lua" /> Servidor Testado: New Styller Yourots 0.7.5 É isso, até mais.

Informação Importante

Confirmação de Termo