Helló!
Az lenne egy kérésem, hogy ami most van nekem motor indítási szkriptem, az amikor nem megy a motor nem engedi, hogy mozgassam a kamerát, és amikor beülök egy kocsiba, motorba, és nincs beindítva a motor, akkor is zúg. A kérésem az lenne, hogy amikor benne ülök és nincs beindítva, akkor is tudjam mozgatni a kamerát, és amikor nincs beindítva ne zúgjon még a motor.
Íme a jelenlegi szkript:
Ez a /motor parancs:
[pawn] if(!strcmp(cmd, \"/motor\", true) || !strcmp(cmd, \"/motor\", true))
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerInAnyVehicle(playerid))
{
if(!engineOn[GetPlayerVehicleID(playerid)])
{
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
{
return 1;
}
if(idcar == 59 || idcar == 60)
{
return 1;
}
if(idcar >= 135 && idcar <= 154)
{
if(HireCar[playerid] != idcar)
{
return 1;
}
}
if(IsAHarvest(idcar))
{
return 1;
}
if(IsASweeper(idcar))
{
return 1;
}
if(gEngine[playerid] == 1) { return 1; }
new playerveh = GetPlayerVehicleID(playerid);
PutPlayerInVehicle(playerid, playerveh, 0);
SendClientMessage(playerid, COLOR_LIGHTGREEN,\"Beindítod a motort...\");
SetTimerEx(\"StartingTheVehicle\",2000,0,\"i\",playerid);
GameTextForPlayer(playerid, \"~w~Indítás...\",2000,3);
new y, m, d;
new h,mi,s;
getdate(y,m,d);
gettime(h,mi,s);
format(string,sizeof(string), \"(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /motor\",d,m,y,h,mi,s,sendername);
CommandLog(string);
return 1;
}
else if(engineOn[GetPlayerVehicleID(playerid)])
{
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
{
return 1;
}
if(pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509)
{
return 1;
}
if(idcar == 59 || idcar == 60)
{
return 1;
}
if(idcar >= 135 && idcar <= 154)
{
if(HireCar[playerid] != idcar)
{
return 1;
}
}
if(IsAHarvest(idcar))
{
return 1;
}
if(IsASweeper(idcar))
{
return 1;
}
engineOn[GetPlayerVehicleID(playerid)] = false;
//SafeRemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid,0);
format(string, sizeof(string), \"* Valaki leállította a motort.\");
ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
gEngine[playerid] = 0;
new y, m, d;
new h,mi,s;
getdate(y,m,d);
gettime(h,mi,s);
format(string,sizeof(string), \"(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /motor\",d,m,y,h,mi,s,sendername);
CommandLog(string);
return 1;
}
}
}
return 1;
}[/pawn]
Ez pedig ha SHIFT-el indítom a motort:
[pawn] else if(PRESSED(KEY_JUMP))
{
if(IsPlayerInAnyVehicle(playerid))
{
if(IsPlayerConnected(playerid))
{
if(!engineOn[GetPlayerVehicleID(playerid)])
{
new idcar = GetPlayerVehicleID(playerid);
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) return 1;
if(pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509) return 1;
if(IsARentableCar(idcar))
{
if(HireCar[playerid] != idcar) return 1;
}
if(IsAHarvest(idcar)) return 1;
if(IsADrugHarvest(idcar)) return 1;
if(IsASweeper(idcar)) return 1;
if(CanTurnEngine[playerid] != idcar && CanTurnEngine[playerid] == 9999)
return SendClientMessage(playerid, COLOR_GREY,\"* Nem tudod elindítani ezt a motort!\");
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, sizeof(plname));
format(string, sizeof(string), \"* Valaki elfordítja a kulcsot és megpróbálja beindítani a motort.\");
ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
if(PlayerInfo[playerid][pAdmin] < 1337 && PlayerInfo[playerid][pAdminDuty] == 1)
{
SetTimerEx(\"StartingTheVehicle\",1,0,\"i\",playerid);
}
else
{
SetTimerEx(\"StartingTheVehicle\",3500,0,\"i\",playerid);
}
GameTextForPlayer(playerid, \"~w~Motor indítása...\",3500,3);
gEngine[playerid] = 1;
new y, m, d;
new h,mi,s;
getdate(y,m,d);
gettime(h,mi,s);
format(string,sizeof(string), \"(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /motor\",d,m,y,h,mi,s,plname);
CommandLog(string);
return 1;
}
}
}[/pawn]
Tehát ezt kellene átalakítani. Elõre is köszönöm az ötleteket!!!
Üdv: konorbi.