Danke für eure mühen!
Die Methode von Bonus finde ich am besten. Danke.
Beiträge von Shingekuro
-
-
Ich liste hier mal auf was passieren soll
Alle ergebnisse aus der Tabelle aus MySQL auslesen > In Lua Tabelle speichern > Random Ergebnis auswählen > in Variablen die ID, Mapname, Spawn bsp speichern.
-
Du hast nun ein Random Ergebnis per MySQL rausgesucht. Das bringt mir nichts. Dieses Script hier soll für den Start gedacht sein. Bedeutet er soll die Maps erstmal in einer Tabelle speichern, damit sie die ganze Zeit verfügbar sind.
-
Servus,
Ich bin derzeit dabei ein kleines Racescript zu scripten.
Da ich in Tabellen und MySQL noch nicht wirklich fit bin, bräuchte ich Hilfe.Ich habe bereits gesehen, dass dbPoll eine Tabelle ausgibt.
Wie kann ich diese beispielsweise in eine bereits existierende Tabelle eintragen lassen und ein Eintrag random auswählen lassen?
Ich möchte, dass die Einträge von dem Random Ergebnis in mehreren localen Variable gespeichert wird. wie z.B ID, map1, spawnExterner Inhalt i.epvpimg.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Mein Code sähe bis jetzt soweit aus, dass eine Tabelle von dbPoll ausgegeben wird. -
Danke Bonus,
Funktioniert -
Dann komm ich leider nichtmehr auf meinen Server Gibt es eine möglich per Script dem Server zu sagen, dass er zum Beispiel auch die Version 1.5.2 nimmt?
-
Ebenfalls. Dachte schon ich bin alleine :c
-
Lua
function accname (player) local accname = getPlayerAccount(player) local pname = getPlayerName(accname) if pname == "ItzzSirius" then outputChatBox("Hello TYPOGANG your Account "..accname.." has been Suspended from this Server by ItzzSirius. [Suspend Warning 1/2]", player, 255, 0, 0) end end addEventHandler("onPlayerLogin", getRootElement(), accname)
Jetzt müsste es gehen.
-
Lua
function accname (player) local pname = getPlayerName(player) local accname = getPlayerAccount(player) if getPlayerName(player) == "ItzzSirius" then outputChatBox("Hello TYPOGANG your Account "..accname.." has been Suspended from this Server by ItzzSirius. [Suspend Warning 1/2]", player, 255, 0, 0) end end addEventHandler("onPlayerLogin", getRootElement(), accname)
Versuch es mal so.
-
-
Servus, ich mache mir grade einen Kopf darum wie es möglich mehrere Einträge, die Anzahl auszulesen.
Sprich wenn beispielsweise 5x "map1" eingetragen ist und 6x "map2" eingetragen ist, dass ein Script abfragt, welche davon die höhere Zahl hat? -
Da ich selbst noch in der Lernphase bin sag ich dir mal meinen Weg.
Ich habe mit einem Blanken Script angefangen und habe mir das meiste von dem MTA Wiki / Tutorials gelernt.
Sobald du den Grundaufbau verstanden hast, geht das meiste einfach -
Danke Ich denke damit hilfst du Anfängern sehr
-
Danke für den Tipp. Welche Verschlüsselung ist denn am besten? SHA512?
-
Jute Frage. Kam warscheinlich bei raus weil ich verzweifelt war das zu fixen
-
Bei dem Serverscript in der checkforacc Funktion die player in source umgeändert.
in der login funktion die player und source zu client.Lua
Alles anzeigenfunction checkforacc() local name = getPlayerName(source) local query = dbQuery(handler, "SELECT * FROM account WHERE name = ?", name) local result, num_rows, last_insert_id = dbPoll(query, -1) if(num_rows == 0) then --Er ist net in der Tabelle outputChatBox("Kein Account gefunden. Bitte registriere dich!", source) else -- Er ist in der Tabelle outputChatBox("Account gefunden, bitte logge dich ein.", source) triggerClientEvent(source,"loginshow", source) end end addEventHandler("onPlayerJoin", getRootElement(), checkforacc) function login(name, password) if name == "" then outputChatBox("Du hast keinen Benutzernamen eingegeben!", client) else if password == "" then outputChatBox("Du hast kein Passwort eingegeben!", client) else local md5password = md5(password) local sql = dbQuery(handler,"SELECT * FROM account WHERE name = '"..name.."' AND password = '"..password.."'") local result, num_rows = dbPoll(sql,-1) if num_rows == 1 then outputChatBox("Du wurdest erfolgreich eingeloggt!", client) triggerClientEvent(client, "loginclose", client) else outputChatBox("Der Benutzername oder das Passwort ist falsch!", client) end end end end addEvent("login", true) addEventHandler("login", getRootElement(), login)
-
Danke so funktionierts!
-
Derzeit ist das Register System noch nicht vorhanden. Die Daten hab ich bis jetzt manuell eingetragen.
-
Servus.
Ich bin derzeit dabei ein kleines Register/Login System zu basteln.
Nur leider funktioniert der Login Vorgang nicht wirklich. Nachdem die Daten überprüft wurden schließt das Loginfenster nicht.Code Server
Lua
Alles anzeigenfunction checkforacc() local name = getPlayerName(source) local query = dbQuery(handler, "SELECT * FROM account WHERE name = ?", name) local result, num_rows, last_insert_id = dbPoll(query, -1) if(num_rows == 0) then --Er ist net in der Tabelle outputChatBox("Kein Account gefunden. Bitte registriere dich!", player) else -- Er ist in der Tabelle outputChatBox("Account gefunden, bitte logge dich ein.", player) triggerClientEvent(source,"loginshow", source) end end addEventHandler("onPlayerJoin", getRootElement(), checkforacc) function login(name, password) if name == "" then outputChatBox("Du hast keinen Benutzernamen eingegeben!", player) else if password == "" then outputChatBox("Du hast kein Passwort eingegeben!", player) else local md5password = md5(password) local sql = dbQuery(handler,"SELECT * FROM account WHERE name = '"..name.."' AND password = '"..password.."'") local result, num_rows = dbPoll(sql,-1) if num_rows == 1 then outputChatBox("Du wurdest erfolgreich eingeloggt!", player) triggerClientEvent(source, "loginclose", source) else outputChatBox("Der Benutzername oder das Passwort ist falsch!", player) end end end end addEvent("login", true) addEventHandler("login", getRootElement(), login)
Code ClientLua
Alles anzeigenlogingui = { button = {}, window = {}, edit = {}, label = {} } function loginguishow() guiSetVisible(logingui.window[1], true) showCursor(true) end addEvent("loginshow", true) addEventHandler("loginshow", localPlayer, loginguishow) function loginbtn() local name = guiGetText(logingui.edit[1]) local password = guiGetText(logingui.edit[2]) triggerServerEvent("login", resourceRoot, name, password) end function loginguiclose() guiSetVisible(logingui.window[1], false) showCursor(false) end addEvent("loginclose", true) addEventHandler("loginclose", localPlayer, loginguiclose) addEventHandler("onClientResourceStart", resourceRoot, function() logingui.window[1] = guiCreateWindow(317, 260, 168, 181, "Register", false) guiWindowSetSizable(logingui.window[1], false) logingui.label[1] = guiCreateLabel(10, 19, 111, 19, "Benutzername:", false, logingui.window[1]) logingui.label[2] = guiCreateLabel(10, 79, 111, 19, "Passwort:", false, logingui.window[1]) logingui.edit[1] = guiCreateEdit(12, 43, 141, 26, "", false, logingui.window[1]) logingui.edit[2] = guiCreateEdit(12, 108, 141, 26, "", false, logingui.window[1]) logingui.button[1] = guiCreateButton(12, 144, 141, 27, "Absenden", false, logingui.window[1]) addEventHandler("onClientGUIClick", logingui.button[1], loginbtn, false) guiSetVisible(logingui.window[1], false) end )
Es entsteht keine Fehlermeldung. Debugscript auch nicht.
-
Ok,
habs nun hinbekommen. Danke dir PewX. Für die nachwelt Poste ich das funktionierendes ScriptCodefunction join( player ) local abfrage = dbQuery(handler, "SELECT * FROM accounts WHERE `name` = '"..getPlayerName(source).."'") local abfrage , num_affected_rows = dbPoll(abfrage, -1) if num_affected_rows >= 1 then outputChatBox("eingetragen") elseif num_affected_rows < 1 then outputChatBox("nicht eingetragen") end end addEventHandler("onPlayerJoin", getRootElement(), join)