Unk3n0w7 1,321 Posted September 14, 2013 Com isto é possível mandar mensagens para quem esteja offline.QUEST : --[[ -- Offline Message System -- New Version -- by HaveBeen™]]--quest offlinemessage begin state start begin function sendmessage(myname,sname,message) if(myname == "" or tostring(myname) == nil or sname == "" or tostring(sname) == nil or message == "" or tostring(message) == nil) then return 0 end mysql_query("insert into player.offlinemessage values ('"..sname.."','"..myname.."','"..message.."') ") end function showmymessage() local m = mysql_query("select * from player.offlinemessage where sname = '"..pc.get_name().."'") if(table.getn(m) == 0) then return 0 end local by,message = {},{} table.foreachi(m, function(n,p) by[n],message[n] = m.myname[1],m.message[1] end) return by,message end when 9003.chat."Offline Message Manager" with pc.is_gm() begin say_title(mob_name(npc.get_race())..":") say("") --- say("Hello,"..pc.name) say("") say_reward("What do you do? ") say("") local s = select("Credit Uploaded","Close") if(s == 1) then say_title(mob_name(npc.get_race())..":") say("") --- say("Write the name of the person. ") say("") local sname = input() local search = find_pc_by_name(sname) say_title(mob_name(npc.get_race())..":") say("") if(sname == "" or tostring(sname) == nil) then say_reward("Please enter a valid name. ") say_reward("") return elseif(search == 0) then say_reward("This person is offline. ") say_reward("Are you kidding me! ") return end say("How much credit will be uploaded. ") say("") local credit = input() say_title(mob_name(npc.get_race())..":") say("") -- if(credit == "" or tonumber(credit) == nil) then say_reward("Please enter a valid credit. ") say_reward("") return end say("Credit is uploaded. ") say("Thanks! ") local found = pc.select(search) pc.setf("offlinemessage","Credit",pc.getf("offlinemessage","Credit")+credit) pc.select(found) end end when 9003.chat."Offline Message System" begin say_title(mob_name(npc.get_race())..":") say("") --- if(pc.getf("offlinemessage","Credit") == 0) then pc.setf("offlinemessage","Credit",10) end say("Hello,"..pc.name) say("") say("Welcome to the Offline Message System. ") say("") say_reward("What do you do? ") say("") local s = select("Write Message","My Inbox","Credit Uploaded","Close") if(s == 1) then say_title(mob_name(npc.get_race())..":") say("") --- if(pc.getf("offlinemessage","Credit") < 0) then say_reward("No credit.. ") return end say("Write the name of the person you are sending offline messages.. ") say("") local sname = input() local search = find_pc_by_name(sname) say_title(mob_name(npc.get_race())..":") say("") --- if(sname == "" or tostring(sname) == nil) then say_reward("Please enter a valid name. ") say_reward("") return elseif(search == 1) then say_reward("This person is really offline? ") say_reward("Are you kidding me? ") return elseif(sname == pc.name) then say_reward("Send your message to yourself. ") say_reward("Hahahaha.. ") return end say("Okay, please tell him what you want to write ") say("") local message = input() say_title(mob_name(npc.get_race())..":") say("") if(message == "" or tostring(message) == nil) then say_reward("Don't have nothing to say to him? ") say_reward("Well.. ") return end say("Message has been sent. ") say("Thanks") offlinemessage.sendmessage(pc.get_name(),sname,message) pc.setf("offlinemessage","Credit",pc.getf("offlinemessage","Credit")-1) elseif(s == 3) then say_title(mob_name(npc.get_race())..":") say("") -- say("The amount of your first credit : "..pc.getf("offlinemessage","Credit")) say("") say("Credit deals; ") say("") say("100 Credit => 10 Euro") say("250 Credit => 15 Euro") say("400 Credit => 25 Euro") say("") elseif(s == 2) then say_title(mob_name(npc.get_race())..":") say("") --- local by,message = offlinemessage.showmymessage() table.insert(message,"Close") local s = select_table(message) if(table.getn(message) == s) then return else say_title(by[s]) say("") --- say_reward(message[s]) say("") say("This message is really remove? ") say("") local a = select(locale.yes,locale.no) if(a == 2) then return end say_title(mob_name(npc.get_race())..":") say("") -- mysql_query("delete from player.offlinemessage where myname = '"..by[s].."' and message = '"..message[s].."' ") say(by[s].." is removed from the message. ") say("Thanks! ") say("") end end end endend SQL : CREATE TABLE `offlinemessage` ( `sname` varchar(16) NOT NULL, `myname` varchar(16) NOT NULL, `message` varchar(30) NOT NULL, PRIMARY KEY (`sname`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 Créditos : GN Cumprimentos 2 Joao537 and Valenza reacted to this Share this post Link to post Share on other sites
KlepY 1,995 Posted September 14, 2013 Gostei muito! Obrigado por partilhares +1 Cumprimentos. Share this post Link to post Share on other sites
TitaniiuMwOw 17 Posted April 28, 2014 É possível meter isto a dar em um item em vez de npc?? Share this post Link to post Share on other sites
Unk3n0w7 1,321 Posted April 28, 2014 when iddoitem.use."Offline Message Manager" with pc.is_gm() begin Share this post Link to post Share on other sites
Karbust 1,143 Posted April 28, 2014 há mais 1, o dos players, e e só when item.use with pc.is_gm begin e when item.use beginn se mete isso em itens (a parte só offline message) 1 TitaniiuMwOw reacted to this Share this post Link to post Share on other sites
OceanusMT2 110 Posted May 9, 2014 Nao faz mada. Envia a mensagem mas quando a vamos abrir com o outro char nao esta la nada. Ou seja, nao faz nada! Share this post Link to post Share on other sites
Valenza 855 Posted May 16, 2014 esta quest funciona mesmo? tipo, quando a pessoa envia a mensagem com o outro offline, o cara que tava offline recebe esta mensagem sem perda de dados? func 100%? vou deixar meu +1 pela partilha... Share this post Link to post Share on other sites
.тιαgσ 624 Posted May 16, 2014 esta quest funciona mesmo? tipo, quando a pessoa envia a mensagem com o outro offline, o cara que tava offline recebe esta mensagem sem perda de dados? func 100%? vou deixar meu +1 pela partilha... Supostamente funciona Share this post Link to post Share on other sites
OceanusMT2 110 Posted May 16, 2014 Eu crio a table com a query em player. Não da qualquer erro... ingame funciona tudo 100%, mas o player que esta off quando liga a conta não tem la nada. E no Navicat tambem não aparece nada depois de enviar a mensagem. Alguma ideia para resolver isto? Share this post Link to post Share on other sites