Postado Julho 3, 2016 8 anos Olá pessoas do TK. Venho aqui lhes pedir uma talkaction para players poderem mandar broadcast no servidor com um exhausted de 10 minutos. Oque eu quero com isso é que o player mande o broadcast semelhantemente ao broadcast mandado por GM's e GOD's e tals, com a finalidade de procurar outras guilds para WAR, então nesse script eu gostaria que somente players que são líderes de guild consiga mandar esse Broadcast, mas que esse broadcast tenha um um cooldown de 10 minutos e que todos os players participem de alguma guild consiga vizualizar a mensagem, não só players que são líderes de guild ...
Postado Julho 5, 2016 8 anos Em 03/07/2016 at 11:41, Dragonas disse: Olá pessoas do TK. Venho aqui lhes pedir uma talkaction para players poderem mandar broadcast no servidor com um exhausted de 10 minutos. Oque eu quero com isso é que o player mande o broadcast semelhantemente ao broadcast mandado por GM's e GOD's e tals, com a finalidade de procurar outras guilds para WAR, então nesse script eu gostaria que somente players que são líderes de guild consiga mandar esse Broadcast, mas que esse broadcast tenha um um cooldown de 10 minutos e que todos os players participem de alguma guild consiga vizualizar a mensagem, não só players que são líderes de guild ... data/talkactions/scripts/bcplayer.lua local storage = 6557 -- Storage eu registra os 10 minutos entre as mensagens local storage2 = 6558 -- Storage que proibe o player de falar fora do prazo local tempo = 600 -- Tempo em segundo entre uma mensagem e outra function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, storage2) < 1 and getPlayerGuildRank(cid) == "Leader" then if(param == '') then doPlayerSendTextMessage(cid, 19, "A mensagem nao pode ser vazia.") return true else doBroadcastMessage(param) setPlayerStorageValue(cid, storage, os.time() + tempo) setPlayerStorageValue(cid, storage2, 1) return true end elseif getPlayerStorageValue(cid, storage2) >= 1 then doPlayerSendTextMessage(cid, 19, "Voce tem que aguardar 10 minutos entre uma mensagem e outa!") return true else doPlayerSendTextMessage(cid, 19, "Somente lideres de guild podem usar esse comando!") return true end end data/talkactions/talkactions.xml <talkaction words="!bc" event="script" value="bcplayer.lua"/> data/globalevents/scripts/bccheck.lua local storage = 6557 -- Storage eu registra os 10 minutos entre as mensagens local storage2 = 6558 -- Storage que proibe o player de falar fora do prazo function onThink(interval, lastExecution, thinkInterval) if #getPlayersOnline() > 0 then for _, cid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(cid, storage2) == 1 and getPlayerStorageValue(cid, storage) - os.time() < 1 then setPlayerStorageValue(cid, storage2, 0) end end end return true end data/globalevents/globalevents.xml <globalevent name="bcplayer" interval="1000" event="script" value="bccheck.lua"/> 1000 == 1 segundo (tempo que executa o script para chegar o tempo entre uma mensagem e outra, se seu server for em segundos, use 1 para 1 segundo) Aguardo um retorno.
Postado Julho 7, 2016 8 anos Autor Muitooo obrigado Kemmlly Testarei mais tarde ... Funcionou perfeitamente, só não aparece o nome do player que está mandando a msg ... Editado Julho 7, 2016 8 anos por Dragonas (veja o histórico de edições)
Postado Julho 7, 2016 8 anos 12 horas atrás, Dragonas disse: Muitooo obrigado Kemmlly Testarei mais tarde ... Funcionou perfeitamente, só não aparece o nome do player que está mandando a msg ... local storage = 6557 -- Storage eu registra os 10 minutos entre as mensagens local storage2 = 6558 -- Storage que proibe o player de falar fora do prazo local tempo = 600 -- Tempo em segundo entre uma mensagem e outra function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, storage2) < 1 and getPlayerGuildRank(cid) == "Leader" then if(param == '') then doPlayerSendTextMessage(cid, 19, "A mensagem nao pode ser vazia.") return true else doBroadcastMessage(""..getCreatureName(cid)..": "..param.."") setPlayerStorageValue(cid, storage, os.time() + tempo) setPlayerStorageValue(cid, storage2, 1) return true end elseif getPlayerStorageValue(cid, storage2) >= 1 then doPlayerSendTextMessage(cid, 19, "Voce tem que aguardar 10 minutos entre uma mensagem e outa!") return true else doPlayerSendTextMessage(cid, 19, "Somente lideres de guild podem usar esse comando!") return true end end
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.