Tudo que Demonbholder postou
-
[Action] Quest que ganha crystal coins equivalente ao level
Pra primeiro script ta bom, foi bem simples o meu script, vocês fariam tranquilo também.
-
[Action] Quest que ganha crystal coins equivalente ao level
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.
-
Chorei quando
KKKKKKKKKKKKKKKKKKKKKKKKKKKKK
-
Chorei quando
Nope, minha frase foi perfeita. Não explicarei, vá estudar e passar de ano no colégio.
-
Nazismo - It's true?
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.
-
Chorei quando
Eu li a merda que o renato falou. Vou compartilhar com vocês: AHUAHUHAUHUAHUAHUAHUAHUAHUAHUAUIAHHAUAHUUHAAU MATO A LÍNGUA PORTUGUESA
-
[Action] Quest que ganha crystal coins equivalente ao level
Os "locais" são variáveis, ele deve ter colocado porque não faz sentido escrever mil vezes uma função.
-
[Action] Quest que ganha crystal coins equivalente ao level
ta bem simples isso ai, tenta fazer com que adicione bp também, lembrando que cada bp cabe 20x100 crystal coins
-
[Action/Quest] Uma quest aleatória!
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é.
-
[Action/Quest] Uma quest aleatória!
-- 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.
-
#PrecoJusto
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.
-
Aprenda a trollar alguem em 10 minutos .
AHAUHUAHAUHAUHAUHAUHAUHAU
-
#PrecoJusto
A idéia é boa, é um manifesto forte. No entanto, não é pressão suficiente no governo, prevejo que esse manifesto resultará em frustrações.
-
[Sugestão] Seção em Scripting
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é.
-
[Sugestão] Seção em Scripting
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.
-
Comprando Summon
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:
-
[Talka/CS]Ganhe cash ao matar.
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é.
-
E ai
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.
-
[Talkaction] Twitter System
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.
-
[NPC] Apostador de Vegas
Aeee viciadão auahuahuahh. Parabéns, ótimo npc, rep +. Atéee.
-
[Talkaction] Twitter System
Claro que sim, créditos 100% meus. Você deve estar se confundindo porque eu postei em outro fórum. Até.
-
[Talkaction] Twitter System
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.