-
hellotok lenne egy olyan kérésem,aminek az a lényege hogy megnyomja a player(játékos) a shiftet(jump)gombot és leáll a kocsi!:D
-
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (PRESSED(KEY_JUMP))
{
if (IsPlayerInAnyVehicle(playerid))
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, 0, lights, alarm, doors, bonnet, boot, objective);
}
}
return 1;
}
-
köszönöm a válaszod!:D
és meglehet oldani hogy amíg nem kapcsolja ki a shiftel a kocsi motorját addig a motor járjon és elllehessen lopni mint valóságba?
-
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (PRESSED(KEY_FIRE))
{
if (IsPlayerInAnyVehicle(playerid))
{
new vehicleid, engine, lights, alarm, doors, bonnet, boot, objective;
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(engine == 0)
{
SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
}
else
{
if(engine == 1)
{
SetVehicleParamsEx(vehicleid, 0, lights, alarm, doors, bonnet, boot, objective);
}
}
}
}
return 1;
}
CMD:ellop(playerid, params[])
{
if (IsPlayerInAnyVehicle(playerid))
{
new vehicleid, engine, lights, alarm, doors, bonnet, boot, objective;
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(engine == 0)
{
SetVehicleParamsEx(vehicleid, engine, lights, 1, doors, bonnet, boot, objective);
SendClientMessage(playerid, -1, \"Ezt az autót nem tudod ellopni mert nem jár a motorja, keress másikat!\");
}
else
{
if(engine == 1) return SendClientMessage(playerid, -1, \"Sikeresen elloptad az autót\");
}
}
else
{
SendClientMessage(playerid, -1, \"Te nem ülsz egy autóban sem, így nem is tudod ellopni õket\");
}
return 1;
}
Tessék.
E: Elfelejtettem, ezt ne felejtsd ki az elejérõl, mert akkor nem érzékeli majd a PRESSED-et:
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
A zárójeleket / visszatéréseket remélem tudod javítani a fórum így kissé összekavarja, ha mégsem
#pragma tabsize 0
és akkor nem fogsz errort kapni, de tab-al is megcsinálhatod és szép rendezett lesz ;)
-
SnooP nagyon köszönöm a segítséged!:D
Mûködik rendesen!Még annyi kérésem lenne hogy meglehet oldani hogy az ellop parancs akkor is mûködjön hogyha a kocsi mellet áll az illetõ és bevan zárva:?
-
CMD:ellop(playerid, params[])
{
new vehicleid, engine, lights, alarm, doors, bonnet, boot, objective, vehicleid2;
if (IsPlayerInAnyVehicle(playerid))
{
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(engine == 0)
{
SetVehicleParamsEx(vehicleid, engine, lights, 1, doors, bonnet, boot, objective);
SendClientMessage(playerid, -1, \"Ezt az autót nem tudod ellopni mert nem jár a motorja, keress másikat!\");
}
else
{
if(engine == 1) return SendClientMessage(playerid, -1, \"Sikeresen elloptad az autót\");
}
}
else
{
SendClientMessage(playerid, -1, \"Te nem ülsz a kocsiban\");
}
vehicleid2 = GetClosestVehicle( playerid );
if(vehicleid2)
{
SendClientMessage(playerid, -1, \"Feltörted az autót\");
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(doors == 0)
{
SetVehicleParamsEx(vehicleid, engine, lights, alarm, 1, bonnet, boot, objective);
}
else
{
SendClientMessage(playerid, -1, \"Ennek az autónak nyitva az ajtaja\");
}
}
return 1;
}
Tessék remélem mûködik és nem hat rám a másnaposság átka. Légyszíves teszteld.
E: Ja és a stock:
stock GetClosestVehicle( playerid )
{
new iMax=INVALID_VEHICLE_ID, Float:dis, Float:dMax = float( 10000 ), Float:PlayerPos[ 3 ], Float:VehiclePos[ 3 ];
GetPlayerPos( playerid, PlayerPos[ 0 ], PlayerPos[ 1 ], PlayerPos[ 2 ] );
for( new x = 0; x < MAX_VEHICLES; x++ )
{
GetVehiclePos( x, VehiclePos[ 0 ], VehiclePos[ 1 ], VehiclePos[ 2 ] );
for( new j = 0; j < 3; j++ ) PlayerPos[ j ] -= VehiclePos[ j ];
dis = floatsqroot( ( ( PlayerPos[ 0 ] * PlayerPos[ 0 ] ) + ( PlayerPos[ 1 ] * PlayerPos[ 1 ] ) + ( PlayerPos[ 2 ] * PlayerPos[ 2 ] ) ) );
if( dis < dMax )
{
dMax = dis,
iMax = x;
}
}
return iMax;
}
-
hello kiad vagy 26 errort :Sxd de egyikse kötõdik a cmd-hez!mitõl van ez?:OO
-
Nálam speciel egy error sincs, copyzd be a tieid.
-
hello itt van kicsit megkésve csak hétköznap melózok 6 ig és mosott szar vagyok:S
http://kepfeltoltes.hu/130721/ellopcmd_www.kepfeltoltes.hu_.jpg[/img]
http://kepfeltoltes.hu/130721/define_www.kepfeltoltes.hu_.jpg[/img]
http://kepfeltoltes.hu/130721/stock_www.kepfeltoltes.hu_.jpg[/img]