Jump to content

návod AntiUnlock


play

Recommended Posts

Tohle je návod aby vám cheater nemohl odemknout auta na servru.

 

1)Nakopírujte do svého módu:

 

 

new bool:LockCar[MAX_VEHICLES];
new bool:LockCarPlayer[MAX_VEHICLES][MAX_PLAYERS];
new CarAntiUnlock;
forward AntiCarUnlock(playerid);

 

 

 

stock GetCarLockPlayer(vehicleid,playerid){
return LockCarPlayer[vehicleid][playerid];
}
 
stock SetCarLockPlayer(vehicleid,playerid,doors){
new engine,lights,alarm,bonnet,boot,objective,d;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,d,bonnet,boot,objective);
    SetVehicleParamsForPlayer(vehicleid,playerid,objective,doors);
if(doors == 0) LockCarPlayer[vehicleid][playerid]=false; else LockCarPlayer[vehicleid][playerid]=true;
return 1;
}
 
stock SetCarLock(vehicleid,doors){
new engine,lights,alarm,bonnet,boot,objective,d;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,d,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(doors == 0) LockCar[vehicleid]=false; else LockCar[vehicleid]=true;
return 1;
}
 
stock GetCarLock(vehicleid){
new engine,lights,alarm,bonnet,boot,objective,doors;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
if(doors == 0) return false; else return true;
 
}
 
public AntiCarUnlock(playerid){
if(!GetCarLock(CarAntiUnlock))
{
   for(new i=0;i<MAX_VEHICLES;i++)
   {
       if(LockCar) SetCarLock(i,true); else SetCarLock(i,false);
       if(GetCarLockPlayer(i,playerid)) SetCarLockPlayer(i,playerid,1); else SetCarLockPlayer(i,playerid,0);
   }
}
 
if(IsPlayerInAnyVehicle(playerid))
{
if(GetCarLock(GetPlayerVehicleID(playerid)))
   {
    if(GetCarLockPlayer(GetPlayerVehicleID(playerid),playerid))
    {
       SendClientMessage(playerid,0xEFEFF7AA,"Vyhozen za cheat [byl jste v zamčeném autě]");
           Kick(playerid);
    }
   }
}
 
SetTimerEx("AntiCarUnlock",5000,false,"i",playerid);
return 1;
}
 
}

 

Do OnGameModeInit:

 

 
CarAntiUnlock=AddStaticVehicleEx(518,892.4550171,-1678.6679688,13.3420000,0.0000000,-1,-1,1500);
SetCarLock(CarAntiUnlock,1);

 
Do OnPlayerEnterVehicle:
 

if(GetCarLockPlayer(vehicleid,playerid)) RemovePlayerFromVehicle(playerid);

 
Do OnPlayerConnect:

SetTimerEx("AntiCarUnlock",5000,false,"i",playerid);

2) úprava modu:
-Musíte upravit 
SetVehicleParamsEx na SetCarLock(vehicleid,doors); 
SetVehicleParamsForPlayer na SetCarLockPlayer(vehicleid,playerid,doors);
 
CarAntiUnlock=AddStaticVehicleEx(518,892.4550171,-1678.6679688,13.3420000,0.0000000,-1,-1,1500);
Upravte si souřadnice na jaké chcete.Tohle auto nepůjde používat.
 
Funkce:
 
GetCarLockPlayer(vehicleid,playerid)
SetCarLockPlayer(vehicleid,playerid,doors)
SetCarLock(vehicleid,doors)
GetCarLock(vehicleid)
 
 
Link to comment
Share on other sites

Tak sem napiš jak bys to udělal ty rád se poučím :d

jak sem řekl stačí jedna proměnná   a podmínka

 

if(VozidloZamcene[vehicleid]==true)
{
   Zmrazis hrace popripade  vyvolas animaci zamcenych dveri samozrejme musis nastavit angle  tak aby cumel na auto
  vozidlo je zamcene
  bud vytvorit jeste jednu promenou autu ktera by ukladala  id hrace ktery ji zamkl a nebo po kazdem opusteni vozidla ho odemknout
}
Link to comment
Share on other sites

 

 

jak sem řekl stačí jedna proměnná   a podmínka

 

if(VozidloZamcene[vehicleid]==true)
{
   Zmrazis hrace popripade  vyvolas animaci zamcenych dveri samozrejme musis nastavit angle  tak aby cumel na auto
  vozidlo je zamcene
  bud vytvorit jeste jednu promenou autu ktera by ukladala  id hrace ktery ji zamkl a nebo po kazdem opusteni vozidla ho odemknout
}

 

A co když zamkneš auto pro všechny hráče kromě jednoho ? (majitel auta)

Link to comment
Share on other sites

 

A co když zamkneš auto pro všechny hráče kromě jednoho ? (majitel auta)

myslím že sem to obsáhl v textu ne ? proměnnou pro vozidlo... a animaci + proměnnou pro dané id co zamkl auto

Link to comment
Share on other sites

a čo takto:

new CarLocked[ MAX_VEHICLES ][ MAX_PLAYER_NAME ];
vo funkcii:

if( !CarLocked[ vehicleid ][ 0 ] )
{
	GetPlayerName( playerid, CarLocked[ vehicleid ], MAX_PLAYER_NAME );
	SendClientMessage( playerid, 0xD8D8D8FF, "Vozidlo bolo zamknute na tvoje meno!" );
}
else
{
	new Text[ 256 ];
	format( text, 255, "Toto vozidlo je zamknute! Patri hracovi %s.", CarLocked[ vehicleid ] );
	SendClientMessage( playerid, 0xD8D8D8FF, Text );
}
Link to comment
Share on other sites

a čo takto:

new CarLocked[ MAX_VEHICLES ][ MAX_PLAYER_NAME ];
vo funkcii:

if( !CarLocked[ vehicleid ][ 0 ] )
{
	GetPlayerName( playerid, CarLocked[ vehicleid ], MAX_PLAYER_NAME );
	SendClientMessage( playerid, 0xD8D8D8FF, "Vozidlo bolo zamknute na tvoje meno!" );
}
else
{
	new Text[ 256 ];
	format( text, 255, "Toto vozidlo je zamknute! Patri hracovi %s.", CarLocked[ vehicleid ] );
	SendClientMessage( playerid, 0xD8D8D8FF, Text );
}

Aspoň někdo pochopil ješte funkci na nastavení rotace  čelem k autu a animaci zamčených dveří a je to hotové možná ještě pojistku aby se auto odemčelo po odpojení hráče ale to je banalita

Link to comment
Share on other sites

  • Globální moderátor

jednoduše ho bude zamykat a odemykat klávesou - funkce SetVehicleParamsEx taky možnost :) 

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...