-
Total de itens
1347 -
Registro em
-
Última visita
-
Dias Ganhos
36
Tudo que Oneshot postou
-
dúvida Ajuda com sistema anti-bot feito pelo oneshot não está banindo.
pergunta respondeu ao KennyConrad de Oneshot em Scripts
Troca essa linha doAddPlayerBanishment(getPlayerGUID(cid), 3, (os.time() + (24 * 60 * 60)), 12, 2, "[sISTEMA ANTI-BOT]") Por essa doAddAccountBanishment(getAccountIdByName(getOnlinePlayers()[x])) No creaturescript e no globalevent. Abraços. -
esse caotic se acha o pica das galaxia
tópico respondeu ao Henrique Moura de Oneshot em Lixeira Pública
Porra, finalmente. -
Tô rindo disso aí, cara. Isso aí nem é uma função, está mais para uma piada sobre loops em Lua. Aquela raposa é louca mesmo.
-
@ManelksCouto Também gostei de te reportar @TkSamer local config = { premium = "yes", protectionLevel = 50, var = { [PLAYERLOSS_EXPERIENCE] = "yes", [PLAYERLOSS_MANA] = "no", [PLAYERLOSS_SKILLS] = "no", [PLAYERLOSS_CONTAINERS] = "no", [PLAYERLOSS_ITEMS] = "no" } } function onDeath(cid, corpse, deathList) if getPlayerLevel(cid) > config.protectionLevel then return true end if getBooleanFromString(config.premium) == true and not isPremium(cid) then return true end if getCreatureSkullType(cid) > 3 then return true end for type, enabled in pairs(config.var) do enabled = getBooleanFromString(enabled) if enabled == true then doPlayerSetLossPercent(cid, type, 0) end end return true end Ah, nem vi que o Vodkart postou. Eu gosto de refazer scripts, aí eu demoro.
-
Só executar querys, ué. Por exemplo: UPDATE `players` SET `maxhealth` = 100, `health` = 100 WHERE `vocation` = 2; Abraços.
-
É que eu coloquei para enviar apenas para os outros jogadores e não para o próprio jogador. local config = { storage = 66998, delay = 2 * 60, needMoney = 10000 } function onSay(cid, words, param, channel) if param == "" then doPlayerSendCancel(cid, words .." [message]") return true end if not doPlayerRemoveMoney(cid, config.needMoney) then doPlayerSendCancel(cid, "Sorry, you need ".. config.needMoney .." to use this command.") return true end if getCreatureStorage(cid, config.storage) > os.time() then doPlayerSendCancel(cid, "Sorry, you need to wait ".. getCreatureStorage(cid, config.storage) - os.time() .." seconds to use this command.") return true end local msg = getCreatureName(cid) .." [".. getPlayerLevel(cid) .."]".. param for _, pid in ipairs(getPlayersOnline()) do doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_ORANGE, msg) end doCreatureSetStorage(cid, config.storage, os.time() + config.delay) return true end Agora está tudo certo.
-
local config = { storage = 66998, delay = 2 * 60, needMoney = 10000 } function onSay(cid, words, param, channel) if param == "" then doPlayerSendCancel(cid, words .." [message]") return true end if not doPlayerRemoveMoney(cid, config.needMoney) then doPlayerSendCancel(cid, "Sorry, you need ".. config.needMoney .." to use this command.") return true end if getCreatureStorage(cid, config.storage) > os.time() then doPlayerSendCancel(cid, "Sorry, you need to wait ".. getCreatureStorage(cid, config.storage) - os.time() .." seconds to use this command.") return true end local msg = getCreatureName(cid) .." [".. getPlayerLevel(cid) .."]".. param for _, pid in ipairs(getPlayersOnline()) do if pid != cid then doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_ORANGE, msg) end end doCreatureSetStorage(cid, config.storage, os.time() + config.delay) return true end Toma.
-
dúvida Comando Adicionar Quant. Item Ao Player
pergunta respondeu ao piratadoidao de Oneshot em Scripts
@Slicer Não, não tem nada a ver com o que você disse. A função que eu usei é justamente o que o script estava precisando, se você usar a função desse jeito: doPlayerSendMailByName(cid, 2160, 1) Isso não vai funcionar, pois a função não use IDs de itens como parâmetros, mas sim UIDs. Pois seus parâmetros nas sources são esses. doPlayerSendMailByName(cid, item[, town]) Ou seja o certo é criar um UID com a função doCreateItemEx e então usar ele no doPlayerSendMailByName. No mais, deixo claro que testei o script no The Forgotten Server 0.4.0 rev4394 e ele funcionou perfeitamente. Abraços. -
dúvida [Encerrado] Erro ao ligar o servidor
tópico respondeu ao Wiiskhp de Oneshot em Tópicos Sem Resposta
Isso não é um erro, é simplesmente o aviso de que 6 mods (que é um tipo de script que fica na pasta /mods do seu servidor) foram carregados. Sobre o fato de demorar para carregar, depende muito do processador e da RAM do computador usado. -
pedido Script Para quando matar o player de mesmo ip perde level
pergunta respondeu ao knightkunn de Oneshot em Scripts
@knightkunn Em data/creaturescripts/scripts, crie um arquivo chamado sameipkill.lua e cole o conteúdo abaixo: function onKill(cid, target) if isPlayer(cid) and isPlayer(target) then local m = doConvertIntegerToIp(getPlayerIp(cid)) local n = doConvertIntegerToIp(getPlayerIp(target)) if m == n then local x, y = getPlayerExperience(cid), getExperienceForLevel(getPlayerLevel(cid) - 1) doPlayerAddExperience(cid, (y - x)) end end return true end No creaturescripts.xml, você deve colocar <event type="kill" name="SameIpKill" event="script" value="kill.lua"/> E no login.lua em data/creaturescripts/scripts, você deve colocar: registerCreatureEvent(cid, "SameIpKill") Antes de: return true O script faz com que o trapaceiro perca um nível toda vez que matar alguém de mesmo IP. Abraços. -
@SmiX O dono do tópico quer que quando o monstro use uma magia, ele fale algo, como se fosse um jogador invocando uma magia qualquer? Entendeu agora? @juliok80 Então, rapaz, não existe um método possível em Lua e nem opções no arquivo XML do monstro. Mas algumas edições nas sources podem simular algo parecido. Talvez eu faça algo e crie um tópico. Abraços.
-
A função loadstring carrega a string fornecida na memória e executa ela como se fosse um script Lua.
-
Sobre o tópico, acho que é a mesma coisa que aconteceu comigo, eu via muita gente sendo promovida a Moderação e Coordenação, enquanto eu criava teia no cargo de Colaboração. A diferença é que eu pedi a demissão. Tenho nada contra o Anyur, nem o conheço, mas se Critical, Vilden e até uma pessoa aí não gostavam dele, é algo que não dá para simplesmente relevar. Engraçado mesmo como ele sai e sempre volta para o cargo de Coordenação. Mas belê galera, aqui era um tópico de desabafo e não uma reunião de haters. Então chega rsrs.
-
É a mesma que eu te passei por PM, lembra? /calc 2+2 /calc 2-2 /calc 2*2 /calc 2/2 /calc 2^2 /calc 2² /calc (2 + 2)² E por aí vai.
-
dúvida Comando Adicionar Quant. Item Ao Player
pergunta respondeu ao piratadoidao de Oneshot em Scripts
Vou testar o script aqui e ver qual o erro. Abraços. @Edit Aqui funcionou perfeitamente -
function getInAOrder(t) table.sort(t, function(a, b) return string.byte(string.sub(a, 0, 1)) < string.byte(string.sub(b, 0, 1)) end) return t end Hehehe... No mais, ótima função mesmo, Max. Abração.
-
dúvida Comando Adicionar Quant. Item Ao Player
pergunta respondeu ao piratadoidao de Oneshot em Scripts
Seu servidor não é The Forgotten Server 0.4, uma vez que essa versão não possui a função doSendMailByName, e possui a função getPlayerByNameWildcard, que achei estranho o seu servidor não ter. E quem disse que é para digitar os parâmetros sem vírgula? -
Reportado: O pedido ou dúvida do tópico foi atendido.
-
Infelizmente não há como. Atributos como magic level, skills, dentre outros que precisam do movements.xml, não podem ser editados pelos comandos usados no sistema.
-
function onSay(cid, words, param, channel) local ret = param .." = #return ".. param .."#" doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, string.gsub(ret, "%#(.-)%#", function(str) return loadstring(str) () end)) return true end Tá aí uma calculadora que faz todas as mesmas operações que a sua.
-
dúvida Comando Adicionar Quant. Item Ao Player
pergunta respondeu ao piratadoidao de Oneshot em Scripts
function isValidName(name) return db.getResult("SELECT `id` FROM `players` WHERE `name` = ".. db.escapeString(name) ..";"):getID() ~= -1 end function onSay(cid, words, param, channel) if param == "" then doPlayerSendCancel(cid, "Parameters missing. ".. words .." [name], [item_name], [amount].") return true end local t = string.explode(param, ",") local depot = false local pid = getPlayerByName(t[1]) if not pid then pid = t[1] depot = true if not isValidName(t[1]) then doPlayerSendCancel("A player with this name doesn't exists.") return true end end local itemid = getItemIdByName(t[2], false) if not itemid then doPlayerSendCancel(cid, "A item with this name doesn't exists.") return true end local amount = tonumber(t[3]) or 1 if depot == true then local item = doCreateItemEx(itemid, amount) doPlayerSendMailByName(pid, item) else doPlayerAddItem(pid, itemid, amount) end doPlayerSendTextMessage(cid, 20, "Item delivered to the player: ".. t[1] ..".") return true end -
dúvida Comando Adicionar Quant. Item Ao Player
pergunta respondeu ao piratadoidao de Oneshot em Scripts
function isValidName(name) return db.getResult("SELECT `id` FROM `players` WHERE `name` = ".. db.escapeString(name) ..";"):getID() ~= -1 end function onSay(cid, words, param, channel) if param == "" then doPlayerSendCancel(cid, "Parameters missing. ".. words .." [name], [id], [amount].") return true end local t = string.explode(param, ",") local depot = false local pid = getPlayerByNameWilcard(t[1]) if not pid then pid = t[1] depot = true if not isValidName(t[1]) then doPlayerSendCancel("A player with this name doesn't exists.") return true end end local itemid = getItemIdByName(t[2], false) if not itemid then doPlayerSendCancel(cid, "A item with this name doesn't exists.") return true end local amount = tonumber(t[3]) or 1 if depot == true then local item = doCreateItemEx(itemid, amount) doPlayerSendMailByName(pid, item) else doPlayerAddItem(pid, itemid, amount) end doPlayerSendTextMessage(cid, 20, "Item delivered to the player: ".. t[1] ..".") return true end -
Consegui reduzir só 26 linhas da função do Dokmos. Preciso treinar mais x__x
-
Nossa, essa função do Dokmos dá para reduzir MUITO. haha
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.