[pomoc]Parking Servis Park


Započeo Riv3R4, Novembar 05, 2013, 19:54:00 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta:Moja
Problem:Kako clan parking servisa pusti vozilo da se to vozilo automatski parkira tamo gdje ga je spustio?

Dio skripte: ovo je kada vuce vozilo

if((newkeys == KEY_ACTION))
   {
          if(PlayerInfo[playerid][pAdmin] >= 1 )
          {
              if(IsPlayerInAnyVehicle(playerid))
              {
                     new Float:pX,Float:pY,Float:pZ;
                     GetPlayerPos(playerid,pX,pY,pZ);
                     new Float:vX,Float:vY,Float:vZ;
                     new Found=0;
                     new vid=0;
                     while((vid<MAX_VEHICLES)&&(!Found))
                     {
                           vid++;
                           GetVehiclePos(vid,vX,vY,vZ);
                           if ((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
                        {
                               Found=1;
                               if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
                                {
                                   DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
                                }
                                else
                                {
                               AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
                               }
                         }
                       }

   }
   }
   }


Evo dio od /v park

else if(strcmp(x_nr,"park",true) == 0)
	        {
	            new Float:x,Float:y,Float:z;
				new Float:a;
				new carid;
				new getcarid;
				if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey])
				{
					carid = PlayerInfo[playerid][pPcarkey];
				}
				else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2])
				{
					carid = PlayerInfo[playerid][pPcarkey2];
				}
				else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
				{
					carid = PlayerInfo[playerid][pPcarkey3];
				}
				else
				{
					return 1;
				}
				getcarid = GetPlayerVehicleID(playerid);
				GetPlayerName(playerid, playername, sizeof(playername));
				GetVehiclePos(carid, x, y, z);
				GetVehicleZAngle(carid, a);
				if(IsPlayerInVehicle(playerid,carid) && CarInfo[carid][cOwned] == 1)
				{
			   		if(PlayerInfo[playerid][pPcarkey] == 999 && PlayerInfo[playerid][pPcarkey2] == 999 & PlayerInfo[playerid][pPcarkey3])
					{
						SendClientMessage(playerid, COLOR_GREY, "Vi nemate vozilo.");
						return 1;
					}
					if(getcarid == carid)
					{
						CarInfo[carid][cLocationx] = x;
						CarInfo[carid][cLocationy] = y;
						CarInfo[carid][cLocationz] = z;
						CarInfo[carid][cAngle] = a;
						format(string, sizeof(string), "~n~~w~ Parkirali ste vozilo na ovoj lokaciji. ~n~");
						GameTextForPlayer(playerid, "Parkirali ste vozilo na ovoj lokaciji i ovde ce se uvek stvarati.", 10000, 3);
						OnPropUpdate();
						SavePlayerAccount(playerid);
						DestroyVehicle(carid);
						CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],60000);
                        Stavitun(carid);
						TogglePlayerControllable(playerid, 1);
						return 1;
   					}
				}
	        }

pa brate ovdje imas kada igrac pretisne ctrl ako je u vozilu vuce drugo vozilo sa sobom to ti je kao na ch mehanicar kada vuce vozilo sa sobom, e sad ja zelim da kada igrac vuce sa sobom neko vozilo i kada ga ostavi(spusti) da se  to vozilo koje je igrac ostavio, spustio parkira tamo gdje ga je ostavio ako sad kuzis

evo ja sam nesto smixo kako da kazem i ispalo mi je bez errora i warninga ali kada udjem i ocu da zakacim vozilo nece da ga zakaci nista ne izbaci i nece da zakaci vozilo radilo je prije nego sto sam ubacio tako kao sto si ti rekao

if((newkeys == KEY_ACTION))
   {
          if(PlayerInfo[playerid][pLeader] == 11 || PlayerInfo[playerid][pMember] == 11)
          {
              if(IsPlayerInAnyVehicle(playerid))
              {
                if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525) 
                    {
                        if(GetPlayerState(playerid)==2) 
                        {
                     new Float:pX,Float:pY,Float:pZ;
                     GetPlayerPos(playerid,pX,pY,pZ);
                     new Float:vX,Float:vY,Float:vZ,Float:vA;
                     new Found=0;
                     new vid=0;
                     while((vid<MAX_VEHICLES)&&(!Found))
                     {
                           vid++;
                           GetVehiclePos(vid,vX,vY,vZ);
                           GetVehicleZAngle(vid, vA);
                           if ((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
                        {
                               Found=1;
                               if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
                                {
                                   DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
                                   CarInfo[vid][cLocationx] = vX;
                                   CarInfo[vid][cLocationy] = vY;
                                   CarInfo[vid][cLocationz] = vZ;
                                   CarInfo[vid][cAngle] = vA;
                                   OnPropUpdate();
				                   SavePlayerAccount(playerid);
 		                           DestroyVehicle(vid);
	    		                   CreateVehicle(CarInfo[vid][cModel],CarInfo[vid][cLocationx],CarInfo[vid][cLocationy],CarInfo[vid][cLocationz]+1.0,CarInfo[vid][cAngle],CarInfo[vid][cColorOne],CarInfo[vid][cColorTwo],60000);

                                }
                                else
                                {
                               AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
                              

                               }
                         }
                       }
                     if(!Found)
                      {
                           SendClientMessage(playerid,0xFFFF00AA,"Nema vozila u blizini.");
                        }
                  }
                  else
                  {
                     SendClientMessage(playerid, COLOR_GRAD2, "Moras ti vozit.");
                     return 1;
                  }
               }
               
            }
            
         }
        

      
      return 1;
   }

U kodu što si postao provjera je dali je igrač koji otkači vozilo addmin a u primjeru što si ti uradio je kao član ili lider orge 11

if((newkeys == KEY_ACTION))
{
	if(PlayerInfo[playerid][pAdmin] >= 1 )
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			new Float:pX,Float:pY,Float:pZ;
			GetPlayerPos(playerid,pX,pY,pZ);
			new Float:vX,Float:vY,Float:vZ;
			new Found=0;
			new vid=0;
			while((vid<MAX_VEHICLES)&&(!Found))
			{
				vid++;
				GetVehiclePos(vid,vX,vY,vZ);
				if ((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
				{
					Found=1;
					if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
					{
						DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
						if(GetVehicleTrailer(GetPlayerVehicleID(playerid)) == vid)
						{
							new Float:x,Float:y,Float:z;
							new Float:a;
							new carid;
							carid = vid;

							GetVehiclePos(carid, x, y, z);
							GetVehicleZAngle(carid, a);
							if(CarInfo[carid][cOwned] == 1)
							{
								CarInfo[carid][cLocationx] = x;
								CarInfo[carid][cLocationy] = y;
								CarInfo[carid][cLocationz] = z;
								CarInfo[carid][cAngle] = a;

								GameTextForPlayer(playerid, "Parkirali ste vozilo na ovoj lokaciji i ovde ce se uvek stvarati.", 10000, 3);
								OnPropUpdate();

								DestroyVehicle(carid);
								CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],60000);
								Stavitun(carid);
								return 1;
							}
						}
					}
					else
					{
						AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
					}
				}
			}
		}
	}
}


Ja sam ti poslao kod kao admin ako otkačiš vozilo da ga parkira
NAPUSTIO SAM SAMP

Oproštajni post

uradio sam to sada zelim uraditi da moze zakaciti samo privatna vozila to jeste samo IsAnOwnableCar

dodao sam ovako
if((newkeys == KEY_ACTION))
   {
          if(PlayerInfo[playerid][pLeader] == 11 || PlayerInfo[playerid][pMember] == 11)
          {
              if(IsPlayerInAnyVehicle(playerid))
              {
                if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
                    {
                        if(GetPlayerState(playerid)==2)
                        {
                     new Float:pX,Float:pY,Float:pZ;
                     GetPlayerPos(playerid,pX,pY,pZ);
                     new Float:vX,Float:vY,Float:vZ,Float:vA;
                     new Found=0;
                     new vid=0;
                     while((vid<MAX_VEHICLES)&&(!Found))
                     {
                           vid++;
                           GetVehiclePos(vid,vX,vY,vZ);
                           GetVehicleZAngle(vid, vA);
                           if ((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
                        {
                               Found=1;
                               if(IsTrailerAttachedToVehicle(IsAnOwnableCar))
                                {
                                   SendClientMessage(playerid,0xFFFF00AA,"Otkacio si vozilo, automatski je parkirano.");
                                   DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
                                   CarInfo[vid][cLocationx] = vX;
                                   CarInfo[vid][cLocationy] = vY;
                                   CarInfo[vid][cLocationz] = vZ;
                                   CarInfo[vid][cAngle] = vA;
                                   OnPropUpdate();
 		                           DestroyVehicle(vid);
	    		                   CreateVehicle(CarInfo[vid][cModel],CarInfo[vid][cLocationx],CarInfo[vid][cLocationy],CarInfo[vid][cLocationz]+1.0,CarInfo[vid][cAngle],CarInfo[vid][cColorOne],CarInfo[vid][cColorTwo],60000);

                                }
                                else
                                {
                               AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
                              SendClientMessage(playerid,0xFFFF00AA,"Zakacio si vozilo odvuci ga u svoju bazu.");

                               }
                         }
                       }
                     if(!Found)
                      {
                           SendClientMessage(playerid,0xFFFF00AA,"Nema vozila u blizini.");
                        }
                  }
                  else
                  {
                     SendClientMessage(playerid, COLOR_GRAD2, "Moras ti vozit.");
                     return 1;
                  }
               }

            }

         }
      return 1;
   }
i ne radi samo kad ocu da ga pustim pise da sam zakacio vozilo i sve tako
Poslednja Izmena: Novembar 07, 2013, 21:09:13 POSLE PODNE od Master.amx