Hallo, hier mein Problem:
Ich habe auf dem Vio Extended Script alle Tore (Abgesehen von denen der Army) umgeändert, sodass diese wie das Army Tor funktionieren. (Schliessen bevor sie ganz offen sind und vice versa)
Danach habe ich ein Script selber verfasst, welches mit dem befehl /cgates (steht für close gates) alle Tore schliesst, für die derjenige berechtigt ist. Damit ist gemeint: Alle Tore der eigenen Fraktion und alle anderen Tore, wenn der Adminlevel des Spielers >= 2 ist. Zudem wird ausgegeben welche Tore letztendlich geschlossen wurden. (Falsche Koordinaten sind also ausgeschlossen)
Das auftretende Problem ist: ich kann damit nur die Tore der Army schliessen. (In dieser Fraktion befinde ich mich eigentlich immer beim testen)
Nur liegt es nicht nur daran, dass der Adminlevel nicht richtig überprüft wird, setzte ich mich in eine andere Fraktion (3 verschiedene durchprobiert) werden die jeweiligen Tore nicht geschlossen.
Das Script gibt keine Errors aus, der Code scheint soweit fehlerfrei zu sein, aber irgendeinen muss es ja wohl geben.
Ich ochse jetzt schon seid 2 Tagen daran rum, und versuche das Problem immer anders anzugehen, aber es will nicht funktionieren.
Und was noch besser ist: Anfangs funktionierte das Script, aber nachdem ich den OutputChatBox für die Einzelnen Tore erstellt habe, funktionierte es nichtmehr. Das Script funktioniert auch ohne den Output nicht mehr.
Ich hoffe dass jemand anders mehr sieht als ich.
Hier der verkürzte Code: (Ich lasse die meisten Fraktionen hier weg, das Script hat sonst 145 Zeilen)
function CloseGates_func ( player )
required = 0 --Hier den Wert eintragen für den benötigten Adminlevel
fraktion = getPlayerFaction ( player ) --Fraktion des betroffenen herausfinden
-----------------------------------------------------------------------------------------------------------------------------------------------Army
if ( isAdminLevel ( player, required ) ) or ( fraktion == 8 ) then
if (sfarmygatestate == false) then --Überprüfung ob das jeweilige Tor offensteht
moveObject( sfarmygate, 2500, -1530.7382,482.618164,6.879690) --Tor schliessen falls es offen steht
sfarmygatestate = true --Status des Tores wechseln, um es danach auch normal bedienen zu können
outputChatBox ( "Army Tor "San Fierro, Flugzeugträger" geschlossen!", player, 0, 255, 0 )
end
if (area51_haupttor_state == "auf") then --Army Haupttor
moveObject( area51_haupttor, 2500, 96.8212890625, 1920.44140625, 17.635732650757 )
area51_haupttor_state = "zu"
outputChatBox ( "Army Tor "Area51, Haupttor" geschlossen!", player, 0, 255, 0 )
end
if (area51_bunker_state == "auf") then --Army Bunker
moveObject( area51_bunker, 2500, 209.962890625, 1875.6591796875, 12.14695930481 )
area51_bunker_state = "zu"
outputChatBox ( "Army Tor "Area51, Bunker" geschlossen!", player, 0, 255, 0 )
end
-----------------------------------------------------------------------------------------------------------------------------------------------Aztecas
elseif ( isAdminLevel ( player, required ) ) or ( fraktion == 7 ) then
if (AztecasGateState == false) then --Aztecas Base
moveObject ( AztecasGate1, 3000, -800.15844726563, 2381.9562988281, 154.86936950684, 0, 0, 0 )
moveObject ( AztecasGate2, 3000, -804.57672119141, 2383.1350097656, 154.85768127441, 0, 0, 0 )
AztecasGateState = true
outputChatBox ( "Aztecas Tor geschlossen!", player, 0, 255, 0 )
end
else
outputChatBox ( "Du benötigst zumindest eine Fraktion oder Adminlevel 2!", player, 0, 255, 0, true ) --Nutzer die Bedingungen des Befehls erläutern wenn dieser nicht berechtigt ist
end
end
addCommandHandler ("cgates", CloseGates_func, player )
Alles anzeigen
Mitlerweile ist es leider nichtmehr ganz so ordentlich, da ich einige verschiedene Dinge durchgegagen bin, unter anderem den Code aus dem Script "Admincmds" zu kopieren und als lokale variable zu hinterlegen, und habe das Script auch erst die Fraktion mit der Funktion isArmy(player), isOnDuty(player) etc überprüfen zu lassen, aber mitlerweile geht das auch nicht mehr.
Ich vermute stark dass die If-bedingungen fehlerhaft sind, da mein Adminlevel für das Script anscheinend nichts zu Sache tut.
Ich hoffe jemand kann mir aus meinem Tunnelblick helfen.
MfG: Sir_Willy