27.11.2008, 16:28
hy there...i have a little problem with my carjacker script. When a player is a car jacker he is able to steel any car with the comand /carjack (by using that comand he automaticly receved wanted level 2), any car jacker could use the comand /dropcar once every 30 minutes, and here comes my problem, if the player used the comand and than reloged he could use it instantly without waiting the required time.
Код:
// comanda de iti arata checkpoint // if(strcmp(cmd, "/dropcar", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pJob] == 5) { if(PlayerOnMission[playerid] > 0) { SendClientMessage(playerid, COLOR_GREY, " On a mission right now, can't use this command!"); return 1; } if(PlayerInfo[playerid][pCarTime] == 0) { GameTextForPlayer(playerid, "~w~Car Selling ~n~~r~Drop the car at the Garage", 5000, 1); CP[playerid] = 1; SetPlayerCheckpoint(playerid, 1699.0282,-2083.3892,13.1442,8.0); } else { SendClientMessage(playerid, COLOR_GREY, " You already Dropped a car, wait till your reload time is over!"); } } else { SendClientMessage(playerid, COLOR_GREY, " You are not a Store Robber!"); } }//not connected return 1; } // asta e in public OnPlayerEnterCheckpoint(playerid) // else if(CP[playerid]==1) { if(IsPlayerInAnyVehicle(playerid)) { new vehicleid = GetPlayerVehicleID(playerid); if(gLastCar[playerid] >= 200) { PlayerInfo[playerid][pJackSkill] ++; if(PlayerInfo[playerid][pJackSkill] == 50) { SendClientMessage(playerid, COLOR_YELLOW, "* Your Car Jack Skill is now Level 2, you will earn more Money and quicker Reload Time."); } else if(PlayerInfo[playerid][pJackSkill] == 100) { SendClientMessage(playerid, COLOR_YELLOW, "* Your Car Jack Skill is now Level 3, you will earn more Money and quicker Reload Time."); } else if(PlayerInfo[playerid][pJackSkill] == 200) { SendClientMessage(playerid, COLOR_YELLOW, "* Your Car Jack Skill is now Level 4, you will earn more Money and quicker Reload Time."); } else if(PlayerInfo[playerid][pJackSkill] == 400) { SendClientMessage(playerid, COLOR_YELLOW, "* Your Car Jack Skill is now Level 5, you will earn more Money and quicker Reload Time."); } new level = PlayerInfo[playerid][pJackSkill]; if(level >= 0 && level <= 50) { new rand = random(sizeof(SELLCAR1)); format(string, sizeof(string), "You sold a car for $%d, your reload time is 30 minutes.", SELLCAR1[rand]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); SafeGivePlayerMoney(playerid, SELLCAR1[rand]); PlayerInfo[playerid][pCarTime] = 1800; SetVehicleToRespawn(vehicleid); } else if(level >= 51 && level <= 100) { new rand = random(sizeof(SELLCAR2)); format(string, sizeof(string), "You sold a car for $%d, your reload time is 25 minutes.", SELLCAR2[rand]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); SafeGivePlayerMoney(playerid, SELLCAR2[rand]); PlayerInfo[playerid][pCarTime] = 1500; SetVehicleToRespawn(vehicleid); } else if(level >= 101 && level <= 200) { new rand = random(sizeof(SELLCAR3)); format(string, sizeof(string), "You sold a car for $%d, your reload time is 20 minutes.", SELLCAR3[rand]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); SafeGivePlayerMoney(playerid, SELLCAR3[rand]); PlayerInfo[playerid][pCarTime] = 1200; SetVehicleToRespawn(vehicleid); } else if(level >= 201 && level <= 400) { new rand = random(sizeof(SELLCAR4)); format(string, sizeof(string), "You sold a car for $%d, your reload time is 15 minutes.", SELLCAR4[rand]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); SafeGivePlayerMoney(playerid, SELLCAR4[rand]); PlayerInfo[playerid][pCarTime] = 900; SetVehicleToRespawn(vehicleid); } else if(level >= 401) { new money = 500; format(string, sizeof(string), "You sold a car for $%d, your reload time is 10 minutes.", money); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); SafeGivePlayerMoney(playerid, money); PlayerInfo[playerid][pCarTime] = 600; SetVehicleToRespawn(vehicleid); } } GameTextForPlayer(playerid, "~y~Sold the car", 2500, 1); CP[playerid] = 0; DisablePlayerCheckpoint(playerid); SetVehicleToRespawn(GetPlayerVehicleID(playerid)); } else { GameTextForPlayer(playerid, "Not in a car", 5000, 1); } } // new // new SELLCAR1[] = { 100, 112, 125, 139, 145, 154, 166, 176, 185, 196, 200 }; new SELLCAR2[] = { 209, 213, 225, 237, 247, 256, 264, 271, 286, 298, 300 }; new SELLCAR3[] = { 305, 317, 321, 337, 344, 355, 368, 371, 385, 396, 400 }; new SELLCAR4[] = { 407, 413, 425, 438, 442, 456, 463, 475, 487, 491, 500 }; // si in public SetPlayerUnjail() // if(PlayerInfo[i][pCarTime] > 0) { if(PlayerInfo[i][pCarTime] <= 0) { PlayerInfo[i][pCarTime] = 0; } else { PlayerInfo[i][pCarTime] -= 1; } }