German vote lua

11 replies
Goto Page
To the start Previous 1 Next To the start
14.04.19 11:48:18 pm
Up
haha1955
User
Offline Off
suche einen lua script:
wo man f2 drückt und voten kann, und dazu noch einen report system, das wenn ein spieler scheiße baut und die leute ihn dann reporten so das ich das mitbekommen kann.

MfG.
15.04.19 09:18:27 am
Up
zyLva okteLon
User
Offline Off
sie werden es nie bekommen ;]
What the F.A.Q.?| zyLva okteLon ∗
15.04.19 04:26:03 pm
Up
haha1955
User
Offline Off
@user zyLva okteLon: wieso? bei california jail gibt es sowas^^
15.04.19 06:07:55 pm
Up
Bowlinghead
User
Offline Off
Wenn du schon jemanden bittest, ein Code zu erstellen dann mach ihn das Leben doch einfach mit genauen Informationen

Hier, ein Script "wo man f2 drückt und voten kann"
Spoiler >

Und wie sollen die Leute den Griefer reporten? Per Chat mit !report? Per F3 Menü?
Share time limited free games here
15.04.19 06:20:04 pm
Up
haha1955
User
Offline Off
@user Bowlinghead: ah endlich mal jemand der mich kapiert hat danke lieber Gott...

mit per chat ist es besser also !report
15.04.19 06:43:55 pm
Up
panteon00
User
Offline Off
naja, mehr info wäre immernoch hilfreich, zB wie willst du informiert werden?

Spoiler >
loading...
15.04.19 06:48:50 pm
Up
haha1955
User
Offline Off
@user panteon00: das wenn andere spieler jemanden reporten,
das der eintrag dann in eine text datei gespeichert wird
15.04.19 07:24:59 pm
Up
panteon00
User
Offline Off
der code ist ungestestet

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
yourUsgn = 129720

function stringSplit(inputstr, sep)
     if sep == nil then
          sep = "%s"
     end
     local t={} ; i=1
     for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
          t[i] = str
          i = i + 1
     end
     return t
end

addhook("say","_say")
function _say(id,txt)
     newTxt = stringSplit(txt) -- newTxt ist ein Array, mit den einzelnen Komponenten, also z.B. = {"!pun","1"}
     if newTxt ~= null and #newTxt == 2 then
               if newTxt[1] == "!report" and player(newTxt[2],"exists") then -- wenn befehl gefunden 
                    local file=io.open("sys/lua/report.txt","a+")
                    file:write(os.time()..": "..player(newTxt[2],"name").." with USGN-ID "..player(newTxt[2],"usgn").."\n")
                    file:close()
                    return 1
               end
     end
end


edit: code korrigiert (logik fehler)
edited 1×, last 16.04.19 11:01:52 pm
loading...
16.04.19 02:25:57 am
Up
haha1955
User
Offline Off
@user panteon00: Danke für die Codes, aber wie füge ich das jetzt ein? Also muss ich mir jetzt einen eigenen Text dokument erstellen und es als lua bearbeiten oder wie?
16.04.19 11:42:59 am
Up
panteon00
User
Offline Off
ja, füge den code in einen text editor deiner wahl ein und speichere die Datei dann als .lua im ordner (relativ zu deinem cs2d verzeichnis) /sys/lua/autorun
loading...
16.04.19 02:38:43 pm
Up
haha1955
User
Offline Off
@user panteon00: so das problem ist, hab das so wie du gesagt hast gemacht aber ging ned. kann das sein das das mit meinem hc admin script was zu tun hat?
16.04.19 10:59:12 pm
Up
panteon00
User
Offline Off
Ja, hab grad mal ein bisschen damit rumgetestet.
In Kombination mit dem HC Admin Script werden die autorun scripts zwar ausgeführt, aber die addhook-function tut's nicht ordnungsgemäß

anstatt es mit einem eigenen script zu versuchen, benutze das hier:

user Happy Camper has written:
Adding new say commands

Here is an example of how to add a new moderation command. Open sys/lua/hc/modules/moderation.lua in a text editor. Look for the function hc.moderation.init(). Add this line to that function (before end):
Code:
1
hc.add_say_command("kick", hc.moderation.kick_say_command, hc.MODERATOR1, "<id>", "Kick a player.")

This adds a new say command, !kick. Players that are moderator level 1 or higher will be able to use it. When a player triggers it, the function hc.moderation.kick_say_command will be invoked. Now add that function below the init function (after end):
Code:
1
2
3
function hc.moderation.kick_say_command(p, id)
     hc.exec(p, "kick " .. id)
end

hc.exec will parse the command and log it. Now you can test the command by saying (if you are authorized):

!kick 5


für deine anforderungen sähe das dann in etwa so aus:
Code:
1
hc.add_say_command("report", hc.moderation.report_say_command, hc.USER, "<id>", "Report a player")

und
Code:
1
2
3
4
5
function hc.moderation.report_say_command(p, id)
     local file=io.open("sys/lua/report.txt","a+")
     file:write(os.time()..": "..player(id,"name").." with USGN-ID "..player(id,"usgn").."\n")
     file:close()
end


(ungetesteter code)
loading...
To the start Previous 1 Next To the start