Szerző Téma: [FS]LockCar 0.3 v1.3.1  (Megtekintve 1314 alkalommal)

[FS]LockCar 0.3 v1.3.1
« Dátum: 2013. június 01. - 22:03:31 »
+5 Show voters
Ez egy nagyon régi szkript, de ma este elõkapartam mivel láttam hogy elromlott a letöltési linkje a hivatalos fórumon, de ha már elõ szedtem egy kicsit frissítettem meg egyszerûsítettem is a kódot.  :D
A szkript egy alap /lock és /unlock  (jármûvek bezárása és nyitása) valamint rcon admin által használható /xunlock (összes lezárt jármû kinyitása) parancsot tartalmaz, a lényege a SetVehicleParamsForPlayer javítása mely 0.3a samp kliens óta a jármûvek betöltésének megváltozása óta rosszul mûködik, valójában törlõdik a beállított érték ezért a jármû megjelenésekor \"OnVehicleStreamIn\" újra le kell zárni a jármûvet a SetVehicleParamsForPlayer segítségével.
Letöltés:
http://pastebin.com/CPrHRdpg



// Vehicle Locked and UnLocked by.: Phento Date 10.03.03 v1.2
// Update 2013.06.01 by.: Zsolesszka
// Update 2013.06.03 Fixed, VehicleLocked array index (0-1999), GetPlayerVehicleID return valid vehicleid (1-2000)
#include <a_samp>
new
MaxPlayers,
VehicleLocked[MAX_VEHICLES] = { -1, ... };
stock
Un_Lock_Car(playerid, bool:locked)
{
if(GetPlayerVehicleSeat(playerid) != 0) SendClientMessage(playerid, 0x0099FFAA, \"You are not a driver!\");
else
{
new
   vehicleid = GetPlayerVehicleID(playerid);
if(VehicleLocked[vehicleid - 1] == ((locked)?(playerid):(-1))) SendClientMessage(playerid, 0x0099FFAA, (locked)?(\"Already vehicle locked!\"):(\"The vehicle not locked!\"));
else
{
   VehicleLocked[vehicleid - 1] = (locked)?(playerid):(-1);
   for(new p; p < MaxPlayers; p++)
   {
      if(IsPlayerConnected(p) && p != playerid) { SetVehicleParamsForPlayer(vehicleid, p, false, locked);   }
   }
   SendClientMessage(playerid, 0x0099FFAA, (locked)?(\"Vehicle locked!\"):(\"Vehicle unlocked!\"));
}
}
}
stock
UnLockAllCar(playerid)
{
for(new vehicleid = 1; vehicleid <= MAX_VEHICLES; vehicleid++)
{
if(VehicleLocked[vehicleid - 1] != playerid)
{
   VehicleLocked[vehicleid - 1] = -1;
   for(new p; p < MaxPlayers; p++)
   {
      if(IsPlayerConnected(p)) { SetVehicleParamsForPlayer(vehicleid, p, false, false); }
   }
}
}
}
public
OnFilterScriptInit()
{
MaxPlayers = GetMaxPlayers();
print(\"-----------------------------------\");
print(\"  Lock and Unlock Car by.: Zsolesszka\");
print(\"         v.1.3.1\");
print(\"-----------------------------------\\n\");
return 1;
}
public
OnPlayerDisconnect(playerid, reason)
{
UnLockAllCar(playerid);
return 1;
}
public
OnVehicleStreamIn(vehicleid, forplayerid)
{
if(VehicleLocked[vehicleid - 1] != -1 && VehicleLocked[vehicleid - 1] != forplayerid)
{
SetVehicleParamsForPlayer(vehicleid, forplayerid, false, true); // Relock vehicle
}
return 1;
}
public
OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(\"/lock\", cmdtext, true))
{
Un_Lock_Car(playerid, true);
return 1;
}
if(!strcmp(\"/unlock\", cmdtext, true))
{
Un_Lock_Car(playerid, false);
return 1;
}
if(!strcmp(\"/xunlock\", cmdtext, true))
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0x0099FFAA, \"You are not rcon admin!\");
UnLockAllCar(-1);
SendClientMessage(playerid, 0x0099FFAA, \"All Vehicle unlocked!\");
return 1;
}
return 0;
}
public
OnFilterScriptExit()
{
UnLockAllCar(-1);
return 1;
}

 
 
H. link
Javítva egy apró hiba miszerint ha az összes jármû létre van hozva a játékban, akkor pont a 2000-dik jármûnél rosszul mûködött, mondjuk nem sok olyan szerver van ahol a maximális jármûvek számát kihasználják, de hátha, és ezért javítottam. :D
« Utoljára szerkesztve: 2013. június 03. - 14:07:40 írta ɐʞzssǝlosz »

Nem elérhető gbr333

  • 670
    • Profil megtekintése
[FS]LockCar 0.3 v1.3.1
« Válasz #1 Dátum: 2013. június 01. - 22:50:52 »
0 Show voters
Jó lett!
Pont valami ilyet kerestem

Nem elérhető Spedy

  • 227
    • Profil megtekintése
[FS]LockCar 0.3 v1.3.1
« Válasz #2 Dátum: 2013. június 02. - 08:10:46 »
0 Show voters
Pont egy ilyet akartam keresni ;)
Ment a + !

Nem elérhető EnterR

  • Globális moderátor
  • 4223
  • dawg
    • Profil megtekintése
[FS]LockCar 0.3 v1.3.1
« Válasz #3 Dátum: 2013. június 02. - 10:00:00 »
0 Show voters
Grat, felhasználom :)
Ment a +

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal