With this quest players can report players ingame.
All the reports are stored in the the database => log.log
you need to make a website tool to filter the reports and show them.
if you are a good php scripter, then you can add a ban function too.
This is only the server side.
PHP Code:
quest reporthack begin
state start begin
when login begin
set_state(report)
end
end
state report begin
when letter begin
send_letter("Report player")
end
when button or info begin
say_title("Report player")
say("IMPORTANT: abusing this system will lead into a ban!")
say("Here you can report hackers to the staff.")
say("You can report a player for:")
say("Damage hack")
say("Trade bug")
say("Bad language")
say("GM impersonation")
say("Player impersonation")
say("")
say_reward("Are you sure you want to report someone?")
local a = select("Yes","No")
if a == 2 then
return
end
say_title("Report player")
say("IMPORTANT: abusing this system will lead into a ban!")
say("What is the name off the player?")
say("")
say_reward("Try to spell the name correctly.")
local name = input()
if name == "" then
return
end
local u_vid = find_pc_by_name(name)
if u_vid == 0 then
say_title("Report player")
say("IMPORTANT: abusing this system will lead into a ban!")
say("This player is not online.")
return
end
say("What hack/ bug is used?")
local reporter = pc.get_name()
local b = select("Damage hack", "Trade bug", "Bad language", "GM impersonation", "Player impersonation","Don't report")
if b == 1 then
char_log(1, reporter, name)
elseif b == 2 then
char_log(2, reporter, name)
elseif b == 3 then
char_log(3, reporter, name)
elseif b == 4 then
char_log(4, reporter, name)
elseif b == 5 then
char_log(5, reporter, name)
else
return
end
say_title("Report player")
say("IMPORTANT: abusing this system will lead into a ban!")
say("IMPORTANT: your name has been registered too")
say("Thank you for the report")
say("The team will be investigation this person soon.")
say("")
say("Report another player? press 'n'")
end
end
end
Here is the databse entry layout:
1 = dmg hack
2 = trade bug
3 = bad language
4 = gm impersonation
5 = player impersonation
have fun