nem fogom megírni de én igy csinálnám:
-létrehozni egy iteratort amiben azokat a jármû ID-ket tároljuk amik adminjármûvek.
pl: new Iterator:AdminVehicles<MAX_VEHICLES>;
-létrehozunk egy parancsot ami, ha már szerepel az autó id a fentebb létrehozott iteratorban akkor kiveszi azt onnan ellenkezõ esetben hozzáadja.
Iter_Remove(AdminVehicles,GetPlayerVehicleID(playerid)); Iter_Add(AdminVehicles,GetPlayerVehicleID(playerid));
-létrehozunk egy timert ami adott idöközönként, javaslom mondjuk másodpercenként
ellenõrzi az összes adminjármûben, hogy csak adminok vannak-e
forward timer();
public timer()
{
foreach(AdminVehicles,vehicleid)
{
foreach(Player,playerid)
{
if(IsPlayerInVehicle(playerid,vehicleid)) RemovePlayerFromVehicle(playerid);
}
}
}
Dupla hozzászólás automatikusan összefûzve. ( 2012. március 25. - 15:56:07 )
bocsi az elõbbi hülyeségért nem kell olyan függvény ami lekérdezi, hogy a jármû admin jármû-e
Dupla hozzászólás automatikusan összefûzve. ( 2012. március 25. - 15:57:42 )
jaj baszus ma nagyon szétszórt vagyok xD hát hogyne kéne a parancsba kell... a hülyed fejemet... na itt van megint:
[pawn]stock IsVehicleAdminVehicle(vehicleid)
{
foreach(AdminVehicles,v)
{
if(vehicleid == v) return 1;
}
return 0;
}[/pawn]
OnPlayerStateChange(playerid,oldstate,newstate)
{
if(newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == 579) //csak adminé
{
if(!IsPlayerAdmin(playerid)) //rcon admin vezetheti
{
RemovePlayerFromVehicle(playerid);
}
}
return 1;
}
Tessék próbáld ezt!
#include < a_samp >
#include < GetVehicleColor >
new AdminVehicle[MAX_VEHICLES];
new Text3D:KocsiText[MAX_VEHICLES];
public OnFilterScriptInit( )
{
r_CreateVehicle( 562, 0, 0, 3, 0, 3, 4, 0 );
return 1;
}
public OnPlayerCommandText( playerid, cmdtext[] )
{
if( strcmp( cmdtext, \"/adminautó\", true) == 0 )
{
if( !IsPlayerAdmin(playerid) ) return SendClientMessage( playerid, -1, \"Használatához adminnak kell lenned.\" );
if( !IsPlayerInAnyVehicle(playerid) ) return SendClientMessage( playerid, -1, \"Használatához egy jármûben kell lenned.\" );
new vehicleid = GetPlayerVehicleID(playerid);
if( AdminVehicle[vehicleid] == 1 ) return SendClientMessage( playerid, -1, \"Ezt a jármûvet nem alakíthatod admin autóvá.\" );
AdminVehicle[vehicleid] = 1;
new Float:Pos[4];
new Model;
Model = GetVehicleModel( vehicleid );
new Color, Color2;
GetVehicleColor( vehicleid, Color, Color2 );
GetVehiclePos( vehicleid, Pos[0], Pos[1], Pos[2] );
GetVehicleZAngle( vehicleid, Pos[3] );
DestroyVehicle( vehicleid );
vehicleid = r_CreateVehicle( Model, Pos[0], Pos[1], Pos[2], Pos[3], Color, Color2, 0 );
SetVehicleNumberPlate( vehicleid, \"-ADMIN-\" );
PutPlayerInVehicle( playerid, vehicleid, 0 );
KocsiText[vehicleid] = Create3DTextLabel( \"Admin autó\", 0x0ff00AA, Pos[0], Pos[1], Pos[2], 15.0, 0 );
Attach3DTextLabelToVehicle( KocsiText[vehicleid], vehicleid, 0, 0, 1 );
SendClientMessage( playerid, -1, \"Ez a jármû ezentúl admin autó.\");
return 1;
}
return 0;
}
GetVehicleColor inc:
http://pastebin.com/cet2J7Td/