Jump to content
  • 0

pomoc Špatně funkční admin vehicle spawner


Valtys

Dotaz

Zdravím, mám problém s tím že když jeden admin auto vytvoří tak mu to dá podmínku že má auto vytvořené ale když si další admin chce spawnout auto tak to píše že již má vytvořené.. i přes správné podmínky, další věcí je že když to tomu dalšímu adminovi napíše že má auto už vytvořené a smaže ho (to auto které nemá :d) tak to smaže vozidlo jnému adminovi.. tady dávám kód:

+ když už jsem píši, tak se rovnou zeptám na CMD reader, ten můj nefunguje - kód:

if(text[0] == '/' || text[1] == ' ')
{
new name[24],string[128];
GetPlayerName(playerid,name,24);
format(string,128, "[ CMD READER ]{ffffff} %s - %s !", name, text);
SendMessageToAdmins(COLOR_RED,string);

}
new AdminCars[MAX_PLAYERS];


dcmd_cc(playerid, params[])
{
	if(IsPlayerConnected(playerid))
	{
		new id = strval(params);
		new color1 = strval(params[chrfind(' ',params)+1]);

			 if(AdminLvL[playerid]==0) return SendClientMessage(playerid,COLOR_RED,"[Administrace] {FFFFFF}Nejsi Administrátor !");
		else if(AdminLvL[playerid]<=3) return SendClientMessage(playerid,COLOR_RED,"[Admin Car] {FFFFFF}Vytvořit auto můžeš až od AdminLvL 4 !");
		else if(!strlen(params) || !strlen(params[chrfind(' ',params)+1])) return SendClientMessage(playerid,COLOR_RED,"[Administrace] {FFFFFF}Použití: /cc [ ID ] [ BARVA ]");
		else if(AdminCars[playerid]==1) return SendClientMessage(playerid,COLOR_RED,"[Admin Car] {FFFFFF}Můžeš mít pouze 1 vozidlo ! Smažeš ho pomocí: /dcc");
		else if(id<400 || id>611) return SendClientMessage(playerid,COLOR_RED,"[Admin Car] {FFFFFF}Použití: /cc [ 400 - 611 ] [ BARVA ]");
		else if(color1<0 || color1>126) return SendClientMessage(playerid,COLOR_RED,"[Admin Car] {FFFFFF}Použití: /cc [ ID ] [ 0 - 126 ]");
		else
		{
			new Float:x, Float:y, Float:z, Float:a, Float:x2, Float:y2, avehid=AdminCars[playerid];
			if(GetPlayerVehicleID(playerid) == 0)
			{
		        GetPlayerPos(playerid,x,y,z);
		        GetPlayerFacingAngle(playerid,a);
	        }
	        else
	        {
	            GetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
	        	GetVehicleZAngle(GetPlayerVehicleID(playerid),a);
	        }

	        x2 = x+(5 * floatsin(-a, degrees));
	        y2 = y+(5 * floatcos(-a, degrees));

	        AdminCars[avehid] = AddStaticVehicle(id, x2, y2, z+1.25, a+90, color1, color1);
	        SetVehicleVirtualWorld(AdminCars[avehid], GetPlayerVirtualWorld(playerid));

		    SetVehicleNumberPlate(AdminCars[avehid], "{0000BB}ADMIN CAR");
		    SetVehicleToRespawn(AdminCars[avehid]);
		    PlayerPlaySound(playerid, 1057, 0, 0, 0);



			AdminCars[playerid]=1;
		}
	}
    return 1;
}


//------------------------------------------------------------

dcmd_dcc(playerid, params[])
{
    #pragma unused params
	if(IsPlayerConnected(playerid))
	{
			 if(AdminLvL[playerid]==0) return SendClientMessage(playerid,COLOR_RED,"[Administrace] {FFFFFF}Nejsi Administrátor !");
		else if(AdminLvL[playerid]<=3) return SendClientMessage(playerid,COLOR_RED,"[Admin Car] {FFFFFF}Mazat Admin vozidla můžeš od AdminLvL 4 !");
		else if(AdminCars[playerid]==0) return SendClientMessage(playerid,COLOR_RED,"[Admin Car] {FFFFFF}Nemáš vytvořené žádné auto.");
		else
		{
			new avehid=AdminCars[playerid];
	            DestroyVehicle(AdminCars[playerid]);
	            DestroyVehicle(AdminCars[avehid]);
	        }

	        AdminCars[playerid]=0;

	        SendClientMessage(playerid,COLOR_RED,[Admin car] {ffffff}Zničil jsi svá Admin Vozidla);
	        PlayerPlaySound(playerid, 1058, 0, 0, 0);
		}
    return 1;
}
Link to comment
Share on other sites

2 odpovědí na tuto otázku

Recommended Posts

  • 0

Když už CMD reader tak asi pod OnPlayerCommandText ne?

 

a tohle je co? 

avehid=AdminCars[playerid]

uložíš do avehid nulu a pak ukládáš to samé auto do

AdminCars[0]

avehid vymeň normálně za playerid a nebude se ti vše ukládáat do "ID" 0

 

změn pak podmínku na

else if(AdminCars[playerid]!=0)

dále.. AddStaticVehicle mimo OnGameModeInit je blbost, takže tam dej CreateVehicle místo toho...

možná je tam ještě víc chyb

Link to comment
Share on other sites

  • 0

Proc tak slozite? Normalne by stacilo..     

 

AdminCars[playerid] = CreateVehicle(id, x2, y2, z+1.25, a+90, color1, color1, -1);
SetVehicleVirtualWorld(AdminCars[playerid], GetPlayerVirtualWorld(playerid));
...

 

 

Funkce CreateVehicle vraci hodnotu id vozidla, to znamena ze nemusis mit zadne podminky typu AdminCars[playerid]=1; a podobně.

Mno a potom pro odstraneni vozidla staci uz jen DestroyVehicle(AdminCars[playerid]);

Link to comment
Share on other sites

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...