Muito Bom Nunca Vi Um Script Parecido Boa Ideia :smile_positivo:
- Fórum
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- [Talkaction] Calendário De Lembretes
[Talkaction] Calendário De Lembretes
Por Demonbholder, 10 de abr. de 2011 em Actions e Talkactions
info
Grupo: Colaborador
Registrado: 27/12/10
Posts: 271
Reputação: +87
Gênero: Masculino

info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Consegui remover um dos storages do script. Agora são necessários apenas dois storages para o funcionamento. Um para o calendário e outro para indicar o dia do calendário no !setday
Consegui fazer sem tabela o dateExists, porém totalizou mais linhas que utilizando a tabela, então não há porquê.
Comentem, até mais.
Editado Abril 11 por Demonbholder
Como o @Pinpao disse ... nunca vi script parecido ...
Ótimo script, seria uma boa fazer um script para Site para checar o que
tem nos dias, ( seria uma boa para Eventos )
Muito Bom Demon, Parabéns =)
REP+
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Sim, pode-se usar como um relatório de dia também, caso duas, ou mais pessoas, utilizem o mesmo char.
Até.
OBS: Se for ano bissexto, o dia 29 de fevereiro não existirá, depois eu faço umas edições para mudar.
Editado Abril 12 por Demonbholder



info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder
Faaaala galera, tudo tranquilo? Espero que sim, estou sem boas idéias esse dias, mas creio que essa será, no mínimo, útil para vocês. Caso tiverem idéias, deixem-as nos comentários e talvez eu as farei. Bom, como minha terceira colaboração do mês, vamos ao script.
Como funciona: É uma talkaction que permite que você coloque lembretes para si mesmo em qualquer dia válido.
Comandos:
!setday - Seleciona o dia que você irá colocar o lembrete. Ex: !setday 23/04/2011
!update - Adiciona o lembrete no dia. Ex: !update Prova de matemática
!checkday - Checa os lembretes do dia escolhido. Ex: !checkday 23/04/2011
Lembrando que !update só poderá ser usado após !setday.
Créditos:
Demonbholder - Script
Matheus Mkalo - Me ajudou em um certo problema que eu tive.
Talkaction:
function onSay(cid, words, param) local storage = 30923 local storage3 = 30603 if words == "!setday" then if param ~= "" then if not (string.find(tostring(getPlayerStorageValue(cid, storage)), param)) and dateExists(param) ~= FALSE then setPlayerStorageValue(cid, storage3, "Data: " ..param) doPlayerSendTextMessage(cid, 4, "Dia confimado.") else doPlayerSendCancel(cid, "Você já usou esta data ou ela esta incorreta.") end else doPlayerSendCancel(cid, "Parâmetro necessário.") end elseif words == "!update" then if param ~= "" then if getPlayerStorageValue(cid, storage3) ~= -1 then if not (string.find(param, "/")) then valor = getPlayerStorageValue(cid, storage) == -1 and getPlayerStorageValue(cid, storage3) .. "\n" .. param .. "\n\n" or getPlayerStorageValue(cid, storage) .. getPlayerStorageValue(cid, storage3) .. "\n" .. param .. "\n\n" setPlayerStorageValue(cid, storage, valor) setPlayerStorageValue(cid, storage3, -1) doPlayerSendTextMessage(cid, 4, "Informações atualizadas.") else doPlayerSendCancel(cid, "Caracteres Invalidos.") end else doPlayerSendCancel(cid, "Data não confirmada.") end else doPlayerSendCancel(cid, "Parâmetro necessário.") end elseif words == "!checkday" then if param ~= "" then if dateExists(param) ~= FALSE then if string.find(getPlayerStorageValue(cid, storage), param) ~= nil then doShowTextDialog(cid, 2160, getDay(getPlayerStorageValue(cid, storage), param)) else doPlayerSendCancel(cid, "Dia não confimado.") end else doPlayerSendCancel(cid, "Data não existente.") end else doPlayerSendCancel(cid, "Parâmetro necessário.") end end return TRUE end function dateExists(date) local rval = date local tabe = { [01] = 31, [02] = 28, [03] = 31, [04] = 30, [05] = 31, [06] = 30, [07] = 31, [08] = 30, [09] = 31, [10] = 30, [11] = 31, [12] = 30 } local data = string.explode(date, "/") if not (data[3]) or tabe[tonumber(data[2])] < tonumber(data[1]) or tonumber(data[1]) < 1 then rval = FALSE elseif #data[1] ~= 2 or #data[2] ~= 2 or #data[3] ~= 4 then rval = FALSE end return rval end function getDay(str, cas) return string.find(str, "/", string.find(str, cas) + 10) ~= nil and string.sub(str, string.find(str, cas), string.find(str, "/", string.find(str, cas) + 10)-9) or string.sub(str, string.find(str, cas), #str) endTag:
Bom pessoal, espero que gostem, demorei todo o domingo para fazer. Isso totaliza as minhas obrigações de colaborador por este mês, mas continuarei trazendo conteúdo extra. Até mais.
Editado Abril 11 por Demonbholder