Hali. Így megfelel?
CMD:join(playerid,params[])
{
if(PlayerInfo[playerid][frakcio] == 5) return SendClientMessage(playerid,0xFF000000,\"Már csatlakoztál!\");
SendClientMessage(playerid,-1,\"Beálltál az 50es skin teambe.\");
SetPlayerSkin(playerid, 50);
PlayerInfo[playerid][frakcio] = 5;
return 1;
}
stock GetClosestVehicleID(playerid)
{
new
Float:Pos[3],
Float:dist,
Float:closedist=3.0,
closeveh;
for(new i=0; i < MAX_VEHICLES; i++)
{
if(GetVehiclePos(i, Pos[0], Pos[1], Pos[2]))
{
dist = GetPlayerDistanceFromPoint(playerid, Pos[0], Pos[1], Pos[2]);
if(dist < closedist && GetPlayerVehicleID(playerid) !=i)
{
closedist = dist;
closeveh = i;
}
}
}
return closeveh;
}
CMD:szerel(playerid)
{
if(PlayerInfo[playerid][frakcio] != 5) return SendClientMessage(playerid,0xFF000000,\"Nem vagy csatlakozva a 50es csapatba!\");
RepairVehicle(GetClosestVehicleID(playerid));
return 1;
}
Ha beírod hogy /join csak azután tudod használni a /javit parancsot. Jármûbõl nemtudod, csak mellõle.
Remélem segítettem :)
Dupla hozzászólás automatikusan összefûzve. ( 2013. november 17. - 13:45:03 )
Mod elejére
enum pInfo
{
frakcio
}
new PlayerInfo[MAX_PLAYERS][pInfo];
Bocsi hogy nemírtam :noexpression:
Ha kiválasztja akkor azt tudod nézni amúgy meg ha skin alapján akarod akkor egyszerûen
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/javit\", cmdtext, true, 6) == 0)
{
if(GetPlayerSkin(playerid) == 50)
{
//ide amit akarsz hogy csináljon a javít parancs kiundulásnak jó az elõttem íróé
}
else
{
//mi történtjen ha nem 50-es skinû írja be
}
return 1;
}
return 0;
}
elég egyszerû dolog, vagy csak nem fogtam fel mit is akarsz igazából
CMD:javit(playerid)
{
new skin = GetPlayerSkin(playerid);
new kocsi = GetPlayerVehicleID(playerid);
if(skin == 50)
{
if(IsPlayerInAnyVehicle(playerid))
{
RepairVehicle(kocsi);
msg(playerid,zold,\"Jármûved megjavítva!\");
}
else
{
msg(playerid,piros,\"Nem ülsz jármûben!\");
}
}
else
{
msg(playerid,piros,\"Nem vagy szerelõ!\");
}
return 1;
}