function ShoW(player)
triggerClientEvent("showwdw", getRootElement(), playername)
end
Client:
SQL
function showwindow(playername)
guiSetVisible(shopwindow, true)
showCursor(true)
end
addEvent("showwdw", true)
addEventHandler("showwdw", getRootElement(), showwindow)
Mit diesem Script öffnet sich jedoch das GUI-Window (showwindow) bei allen Spielern. Wie kann ich es machen, das nur der ausgewählte Spieler das GUI sieht, außer in einen Marker reinzulaufen(reines Script).
Hey! Weiß jemand wie man ein GUI scriptet, das nur bei einem bestimmten Spieler angezeigt wird? Beispiel: Ich rufe ein GUI mit /window auf. In dem "window" GUI ist ein Button der, wenn ich darauf drücke, ein weiteres GUI-window aufruft. Mein Problem: Wenn ich auf den Button drücke, öffnet sich das "nächste" GUI bei allen... Wie kann ich das unterbinden?
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Anleitung:
Die gegebenen Informationen (bsp.: X Koordinate, Y Koordinate etc.) aus dem Map Editor müssen in die passenden Eingabe Zeilen reinkopiert werden. Ist dies geschehen drückt man auf "Insert", um die Informationen in die Vehicle bzw Object Syntax einzufügen. Das fertige Script, wird in der großen Box direkt angezeigt und kann auch nach dem einfügen noch editiert werden.
Speichern: ...Hast du deine gewünschten Objekte/Fahrzeuge eingebracht, kannst du in der Save-Zeile deinen gewünschten Dateinamen eingeben. Danach drückt man auf den Save-Button und dein Script wird in eine .LUA Datei umgewandelt und direkt auf C:/ gespeichert.
Laden: Wenn du ein angefangenes Skript weiterführen möchtest, kannst du es einfach mit der Load-Funktion laden! Gebe dazu einfach den Dateinamen in die Load-Zeile ein (Bsp.: "San_Fierro_PD-vehicles" (natürlich ohne -> "")). Du brauchst kein ".lua" mit eingeben! ...Hast du nun einen Dateinamen der vorhandenen Datei eingegeben, drückst du auf den Load-Button. Nun wurde dein Skript geladen und es ist gleichzeitig auch wieder in der rechten großen Box vorzufinden. Jetzt kannst du ganz einfach an deinem Skript weiterarbeiten.
Informationen:
Die Dateien, die mit der Save-Funktion gespeichert werden, werden unter C:/ gespeichert! Sie erhalten direkt die Endung ".lua" um sie beispielsweise direkt in den Server einbinden zu können.
So ich habe mal mein Script ein wenig verbessert... Fehlermeldungen treten jetzt nicht mehr auf jedoch macht er nicht das .. was er soll xD Gebe ich meinen Namen in die Zeile ein funktioniert alles, sprich er setzt meinen Fraktionsstatus in der DB auf "1". ...Gebe ich jetzt einen anderen Namen in die Zeile ein, passiert nichts in der DB. Er setzt also nicht den Status vom ausgewählten Namen auf "1".
Hier meine verbesserten Scripts:
Client:
SQL
function inviteplayer(button, state, absoluteX, absoluteY)
if (button ~= "left") or (state ~= "down") then
if (guiGetText(policeedit) == '') then
outputChatBox("Bitte einen Namen eingeben!", source)
else
local playername = guiGetText(policeedit)
local pPlayer = getPlayerFromNick(playername)
triggerServerEvent("submitinvit", getRootElement(pPlayer), playername, pPlayer)
end
end
end
Alles anzeigen
Server:
SQL
function invhim(playername,pPlayer, bAcc, aAcc)
local bAcc = getPlayerFromNick(playername)
if bAcc then
local aAcc = getPlayerAccount(bAcc)
local faction = "1"
setAccountData(aAcc, "Fraktion", faction)
end
end
addEvent("submitinvit", true)
addEventHandler("submitinvit", getRootElement(pPlayer), invhim)
Also ich habe mir momentan ein Skript gebastelt (Client und Server-Seitig) für einen Fraktionsinvite. Das heißt: Ein GUI-Window mit einem Button und einem Editfeld. ... Der eingegebene Name soll nach drücken des Buttons in die Fraktion "geadded" werden. So .. grundsätzlich steht das Skript jedoch geht dies nur wenn ich MEINEN eigenen Spielernamen in das Editfeld eingebe... Wenn ich einen anderen Spielernamen eingebe kommt in der Konsole eine Fehlermeldung, von wegen 'Bad Argument' .
Das komische ist das es bei meinem Spielernamen ohne Fehlermeldungen usw. funzt nur bei anderen Namen nicht... Weiß jemand rat?
Warning: PFAD\script.lua:46: Bad 'argument' @ 'setAccountData'
Warning: PFAD\script.lua:58: Bad 'account' pointer @ 'getAccountData'
Hab gerade noch ein wenig am Scipt rumgeschraubt geht aber immer noch nicht.
SQL
function setofficer(thePlayer, command)
setAccountData(getAccountName(thePlayer), "Rang", 1)
end
addCommandHandler("setme", setofficer)
function checkofficer(thePlayer, command)
local rang = getAccountData(getAccountName(thePlayer), "Rang")
if (rang == 1) then
outputChatBox("Du bist ein Officer")
else
outputChatBox("Du bist KEIN Officer")
end
end
addCommandHandler("checkme", checkofficer)
Ich hab hier ein einfaches Script geschrieben das mir ausgeben soll ob ich ein Officer bin oder nicht. Jedoch steht bei mir in der Konsole nach dem Befehl eingeben "Bad argument, getAccountData..."
SQL
function checkofficer(thePlayer)
local rang = getAccountData(thePlayer, "Rang")
if (rang == 1) then
outputChatBox("Du bist ein Officer")
else
outputChatBox("Du bist KEIN Officer")
end
end
addCommandHandler("checkme", checkofficer)
Gate1Status = 1
function MoveGate()
local playeraccountt = getPlayerAccount(source)
if (getAccountData(playeraccountt, "Fraktion") == 1) then
if (Gate1Status == 1) then
moveObject(Gate1, 5000, 2411.2614746094, -725.90673828125, 121.61428833008, 0, 0, 0)
Gate1Status = 0
else
moveObject(Gate1, 5000, 2417.6340332031, -719.91101074219, 121.61428833008, 0, 0, 0)
Gate1Status = 1
end
else
outputChatBox("Du bist kein Mitglied der Fraktion!")
end
end
addCommandHandler("mg1", MoveGate)
Hey ich hab mein "OpenGate" Script(Fraktionsabhängig) eigentlich fertig jedoch zeigt mir die Konsole das an:
Bad argument @ 'getPlayerAccount'
Bad argument @ 'getAccountData'
Bad argument @ 'getPlayerTeam'
Also bei diesen 3 Befehlen sagt die Console "Bad Argument"...
Das ist meine IF-Abfrage(Ob der Spieler in der Fraktion ist)
SQL
local playeraccountt = getPlayerAccount(source)
if (getAccountData(playeraccountt, "Fraktion")) == 1 then
Die Internal.db Datei hab ich natürlich so eingestellt das die Figur mit der ich dies immer teste in der Fraktion ist, aber immer kommt 'Bad Argument' von der Console. In der Datenbank hab ich ein neues "Oberthema" sag ich mal gemacht das "Fraktion" heißt und ich hab es bei meinem Account so eingestellt das unter 'Fraktion' logischerweise die "1" steht.
Anmerkung: Ich bearbeite die Internal.db Datei mit 'SQLite Database Browser'. (Falls es wichtig sein sollte ^^)
Was ist daran falsch? Ich grübel schon seit Tagen xD
Also die Koordinaten sind aufjedenfall richtig, da die Objekte nur manchmal weg sind. Also wenn ich den Server starte ist es immer Zufall das die Objekte da sind.
Ich habe das Problem, das ich manchmal meine im Script erstellten Objekte nicht sehen kann. (Hab meine erstellten Objekte Serverseitig eingestellt) Sollte ich die Objekte Clientseitig machen? Oder woran kann es liegen das ich die Objekte manchmal nicht sehe?(Die Objekte sind noch nicht einmal unsichtbar sondern ganz weg)
Da in der neuen MTA Version (1.0.4) es ja keine Account.xml mehr gibt und es nur noch diese Internal.db Datei gibt weiß ich nicht welche Befehle ich dafür benutzen soll... Die XML-Befehle(getAccountData/setAccountData usw.) oder die SQL-Befehle(executeDropTable usw..)?
Hey ich habe hier ein Script gefunden das die Ingame Zeit auf die reale Zeit einstellen soll jedoch funktioniert das nicht ganz wie es sein soll. D.H. gar nicht !
SQL
function setTime()
local real_time = getRealTime()
setTime(realtime.hour, realtime.minute)
setMinuteDuration(60000)
end
addEventHandler("onResourceStart", resourceRoot, setTime)