Üdv Azzal A Próblémával Fordulok Hozzátok hogy, Lerakom a szögesdrótomat. Áthajt rajta egy jármû és nem pukkan ki a kereke.
Erre várok megoldásokat! Jutalom Plusszocskák!
Kódrészek:
if(IsPlayerConnected(playerid)) return 0;
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
for(new i = 0; i < sizeof(SpikeInfo); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, SpikeInfo[sX], SpikeInfo[sY], SpikeInfo[sZ]))
{
if(SpikeInfo[sCreated] == 1)
{
new panels, ajtok, fenyek, tires;
new carid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(carid, panels, ajtok, fenyek, tires);
tires = encode_tires(1, 1, 1, 1);
UpdateVehicleDamageStatus(carid, panels, ajtok, fenyek, tires);
}
}
}
}
}
return 0;
}
stock CreateStrip(Float:x,Float:y,Float:z,Float:Angle)
{
for(new i = 0; i < sizeof(SpikeInfo); i++)
{
if(SpikeInfo[sCreated] == 0)
{
SpikeInfo[sCreated]=1;
SpikeInfo[sX]=x;
SpikeInfo[sY]=y;
SpikeInfo[sZ]=z-0.7;
SpikeInfo[sObject] = CreateObject(2899, x, y, z-0.9, 0, 0, Angle-90);
}
}
return 0;
}
stock DeleteClosestStrip(playerid)
{
for(new i = 0; i < sizeof(SpikeInfo); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, SpikeInfo[sX], SpikeInfo[sY], SpikeInfo[sZ]))
{
if(SpikeInfo[sCreated] == 1)
{
SpikeInfo[sCreated]=0;
SpikeInfo[sX]=0.0;
SpikeInfo[sY]=0.0;
SpikeInfo[sZ]=0.0;
DestroyObject(SpikeInfo[sObject]);
}
}
}
return 0;
}
encode_tires(tires1, tires2, tires3, tires4) {
return tires1 | (tires2 << 1) | (tires3 << 2) | (tires4 << 3);
}
if(strcmp(cmd, \"/szögesdrót-le\", true) == 0 || strcmp(cmd, \"/szogesdrot-le\", true) == 0)
{
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][szervTag] == 4 || PlayerInfo[playerid][szervLeader] == 4)
{
new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
GetPlayerPos(playerid, plocx, plocy, plocz);
GetPlayerFacingAngle(playerid,ploca);
CreateStrip(plocx,plocy,plocz,ploca);
return 1;
}
}
if(strcmp(cmd, \"/szögesdrót-fel\", true) == 0 || strcmp(cmd, \"/szogesdrot-fel\", true) == 0)
{
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][szervTag] == 4 || PlayerInfo[playerid][szervLeader] == 4)
{
DeleteClosestStrip(playerid);
return 1;
}
}
enum sInfo
{
sCreated,
Float:sX,
Float:sY,
Float:sZ,
sObject,
};
new SpikeInfo[MAX_SPIKESTRIPS][sInfo];
#define MAX_SPIKESTRIPS 200
A Kódokat nem sorrendbe írtam! A megoldásokra lennék csak kíváncsi elõre köszönöm!