Page 1 of 1

Aizslēgto mašīnu maksinālais daudzums.

Posted: 09 Feb 2011, 02:35
by Shetch
Čau!

Piemēram tagad es varu iekāpt jebkurā mašīnā un aizslēgt durvis.
Vai kāds man nevarētu lūdzu paskaidrot kā es varētu uzlikt limitu aizslēgto mašīnu skaitam?

Mans Lock un Unlock skripts:

Code: Select all

if(!strcmp(cmdtext,"/lock",true,5)) {
  	    new carid;
   		if (IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid)==PLAYER_STATE_DRIVER) {
	    GameTextForPlayer(playerid,"~r~AIZSLEGTA!",1000,1);
   		carid=GetPlayerVehicleID(playerid);
   		new i;
   		for (i=0;i<MAX_PLAYERS;i++){
   		if (i!=playerid) SetVehicleParamsForPlayer(carid,i,0,1);
   		}
   		return 1;
  		}
  		else
  		{
    	SendClientMessage(playerid, COLOR_ERROR, "Tev jāatrodas mašīnā lai izmantotu šo kommandu.");
    	return 1;
		}

  		}

	if(!strcmp(cmdtext,"/unlock",true,7)) {
  	    new carid;
   		if (IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid)==PLAYER_STATE_DRIVER) {
   		carid=GetPlayerVehicleID(playerid);
		GameTextForPlayer(playerid,"~y~ATSLEGTA!",1000,1);
 		new i;
 		for (i=0;i<MAX_PLAYERS;i++){
		if (i!=playerid) SetVehicleParamsForPlayer(carid,i,0,0);
		}
		return 1;
  		}
  		else
  		{
    	SendClientMessage(playerid, COLOR_ERROR, "Tev jāatrodas mašīnā lai izmantotu šo kommandu.");
    	return 1;
		}
  		}
Cerēšu uz atsaucību.
;)

Re: Aizslēgto mašīnu maksinālais daudzums.

Posted: 09 Feb 2011, 16:16
by [AoD]Aleksis
izveido mainīgo un zem SetVehicleParamsForPlayer(carid,i,0,1); ieliec piem. masinas[playerid]++, lai skaita, tad kautkur zem new carid; ieliec pārbaudi ar if(blabla bla) return blablabla-teksts, ko jāparāda. Tad zem unlock liec atskaiti tam pašam mašīnas mainīgajam (masinas[playerid]--) Tavā vietā neveidošu, bet principam būtu jābūt skaidram. Būs iespēja šito liegumu apiet, bet ja vēl uztaisīsi šo pašu..

Re: Aizslēgto mašīnu maksinālais daudzums.

Posted: 11 Feb 2011, 05:31
by Shetch
Augšā man ir ielikts: new locked;

Tātad man sanāca šis:


if(!strcmp(cmdtext,"/lock",true,5)) {
new carid;
if (IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid)==PLAYER_STATE_DRIVER && locked == 0) {
GameTextForPlayer(playerid,"~r~AIZSLEGTA!",1000,1);
carid=GetPlayerVehicleID(playerid);
new i;
for (i=0;i<MAX_PLAYERS;i++){
if (i!=playerid) SetVehicleParamsForPlayer(carid,i,0,1);
locked = 1;
}
return 1;
}
else if(locked == 1) {
SendClientMessage(playerid, COLOR_BRIGHTRED, "Tu nevari aizslēgt vairāk par vienu mašīnu.");
return 1;

}
else
{
SendClientMessage(playerid, COLOR_ERROR, "Tev jāatrodas mašīnā lai izmantotu šo kommandu!");
return 1;
}


}

if(!strcmp(cmdtext,"/unlock",true,7)) {
new carid;
if (IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid)==PLAYER_STATE_DRIVER && locked == 1) {
carid=GetPlayerVehicleID(playerid);
GameTextForPlayer(playerid,"~y~ATSLEGTA!",1000,1);
new i;
for (i=0;i<MAX_PLAYERS;i++){
if (i!=playerid) SetVehicleParamsForPlayer(carid,i,0,0);
locked = 0;
}
return 1;
}
else if(locked == 0) {
SendClientMessage(playerid, COLOR_BRIGHTRED, "Auto jau ir atslēgts.");

return 1;
}
else
{
SendClientMessage(playerid, COLOR_ERROR, "Tev jāatrodas mašīnā lai izmantotu šo kommandu!");
return 1;
}
}

Bet dažkārt mašīna netiek aizslēgta.