skrypt umozliwia: podejscie do pojazdu i otwarcie lub zamkniecie.
inicjalizacja
lockVehicles.sqf
Problem przyklad: Wstawiasz w edytorze , auto i je zamykasz.
testy w edytorze na lokalu wszystko dziala OK, (ale lokal to tak jakbys byl serwerem).
natomiast gdy misja odpalona zostaje na dedyku: podchodzisz do pojazdu, z rolki unlock, i on na "0.5 sek ci go fizycznie otworzy, a potem zamknie." Tak jakby po skonczeniu skryptu auto powracalo do ustawienia jakie bylo gdy je wstawiales w edytorze. ?
moja teoria spiskowa:
Czy to moze byc ze ta funkcja "lock" dziala lokalnie, wiec poki skrypt jest odpalony lokalnie ty widzisz ze auto zostalo otwarte (to 0.5sek co masz otwarte), skrypt sie konczy i serwer wysyla do klientow uaktualnienie stanu pojazdu wzgledem siebie. A na serwerze nic sie nie zmienilo, wiec ustawia auto u klienta, na takie jak ma u siebie czyli (oryginalnie zamkniete).
PS w zalaczeniu przyklad.
inicjalizacja
- Kod: Zaznacz cały
init field of the vehicle:
a = [this] execVM "lockVehicles.sqf";
or
a = [this,"Humvee #1"] execVM "lockVehicles.sqf";
lockVehicles.sqf
- Kod: Zaznacz cały
private ["_pojazd", "_stan", "_akcja"];
_pojazd = _this select 0;
_stan = locked _pojazd;
_nazwa = _pojazd;
// ta czesc kodu rozpoznaje czy to inicjalizacja czy juz dzialanie z addAction.
if ((count _this) <= 2) then {
if ((count _this) == 2) then {_nazwa = _this select 1};
_stan = !(_stan); //podczas inicjalizacji, aby nie zmieniac stanu pojazdu
} else {
_akcja = _this select 2;
_pojazd removeAction _akcja;
_nazwa = (_this select 3) select 0;
};
if (_stan) then {
_pojazd lock false;
_akcja = _pojazd addAction [format["Lock the %1", _nazwa], "lockVehicles.sqf",[_nazwa]];
// debug hint, comment it in the mission
hint "The vehicle has beed unlocked";
} else {
_pojazd lock true;
_akcja = _pojazd addAction [format["Unlock the %1", _nazwa], "lockVehicles.sqf",[_nazwa]];
//debug hint, comment it in the mission
hint "The vehicle has beed locked";
};
Problem przyklad: Wstawiasz w edytorze , auto i je zamykasz.
testy w edytorze na lokalu wszystko dziala OK, (ale lokal to tak jakbys byl serwerem).
natomiast gdy misja odpalona zostaje na dedyku: podchodzisz do pojazdu, z rolki unlock, i on na "0.5 sek ci go fizycznie otworzy, a potem zamknie." Tak jakby po skonczeniu skryptu auto powracalo do ustawienia jakie bylo gdy je wstawiales w edytorze. ?
moja teoria spiskowa:
Czy to moze byc ze ta funkcja "lock" dziala lokalnie, wiec poki skrypt jest odpalony lokalnie ty widzisz ze auto zostalo otwarte (to 0.5sek co masz otwarte), skrypt sie konczy i serwer wysyla do klientow uaktualnienie stanu pojazdu wzgledem siebie. A na serwerze nic sie nie zmienilo, wiec ustawia auto u klienta, na takie jak ma u siebie czyli (oryginalnie zamkniete).
PS w zalaczeniu przyklad.
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
Ostatnio edytowano Pn 26 kwi, 2010 17:57 przez Rafalsky, łącznie edytowano 1 raz
- "Nigdy nie mów ludziom, jak mają wykonywać swe zadania. Powiedz im tylko, co mają robić, a będziesz zdziwiony ich pomysłowością."