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