Skip to content

Instantly share code, notes, and snippets.

@dennorske
Last active August 29, 2015 14:21
Show Gist options
  • Save dennorske/dbc893cd5656f1949f9d to your computer and use it in GitHub Desktop.
Save dennorske/dbc893cd5656f1949f9d to your computer and use it in GitHub Desktop.
CMD:parkcar(playerid, params[])
{
new Float:xpos, Float:ypos, Float:zpos, Float:angle, carmodel, vehicleid, vehicleid2, userid2, color11, color22,
Query[1240], DBResult:Result, time, lasttime = 0;
format(Query, sizeof(Query), "Select TIME from CARINFO where USERID = %d", AccInfo[playerid][userid]);
Result = db_query(playerinfo, Query);
if(db_num_rows(Result))
{
db_get_field_assoc(Result, "TIME", Query, 15);
lasttime = strval(Query);
}
db_free_result(Result);
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(AccInfo[playerid][cookies] < 100 && AccInfo[playerid][aLevel] < 1 && AccInfo[playerid][vLevel] < 1)
{
if(lasttime == 0 /*no results in the db*/ || gettime() - lasttime > 86400 /*more than 3 days*/)
{
return SendClientMessage(playerid, red, "Error! "cwhite"This action costs 30 cookies. (New car, or 3 days since last purchase)");
}
else
{
AccInfo[playerid][cookies] = (AccInfo[playerid][cookies] - 30);
}
}
new Float:x, Float:y, Float:z, Float:a;
vehicleid2 = GetPlayerVehicleID(playerid);
carmodel = GetPlayerVehicleModel(playerid);
if(vehicleid2 != PlayerInfo[playerid][CarID]) //if the car is different from an existing private car
{
if(IsValidDynamic3DTextLabel(PlayerInfo[playerid][textie]))
{
printf("Old Private car text destroyed");
DestroyDynamic3DTextLabel(PlayerInfo[playerid][textie]);
}
if(IsValidVehicle( PlayerInfo[playerid][CarID]))
{
printf("Old Private ID: %d",PlayerInfo[playerid][CarID]);
DestroyVehicle(PlayerInfo[playerid][CarID]);
PlayerInfo[playerid][CarID] = -1;
}
if(GetPVarInt(playerid, "SpawnedCarID") == PlayerInfo[playerid][CarID])
{
SetPVarInt(playerid, "SpawnedCarID", -1);
}
if(trailer[playerid]== PlayerInfo[playerid][CarID])
{
trailer[playerid]= -1;
}
GetVehiclePos(vehicleid2, x, y, z);
print("GetVehiclePos 8368");
GetVehicleZAngle(vehicleid2, a);
GetVehicleColor(vehicleid2, color11, color22);
print("GetVehcolor 8371");
SaveComponent(vehicleid2);
print("SaveComponent 8373");
SetPlayerPos(playerid, x,y,z+2);
print("SetPlayerPos 8376");
SetVehicleVirtualWorld(vehicleid2, 99);
print("SetVehicleVirtualWorld");
PlayerInfo[playerid][CarID] = CreateVehicle(carmodel, x, y, z+2, a, color11, color22, 190);
printf("new created veh id ([CarID]): %d", PlayerInfo[playerid][CarID]);
ModVehicle(PlayerInfo[playerid][CarID], playerid);
print("ModVehicle (new one) :8384");
PutPlayerInVehicle(playerid, PlayerInfo[playerid][CarID],0);
print("PutPlayerInVehicle: 8386");
time = gettime();
GetVehiclePos(PlayerInfo[playerid][CarID], xpos, ypos, zpos);
GetVehicleZAngle(PlayerInfo[playerid][CarID], angle);
GetVehicleColor(PlayerInfo[playerid][CarID], color11, color22);
userid2 = AccInfo[playerid][userid];
printf("Userid = %d", userid2);
new namess[100];
format(namess, sizeof(namess), "{FFFFFF}Vehicle Owner:\n{00ff00}%s", PlayerName(playerid));
PlayerInfo[playerid][textie] = CreateDynamic3DTextLabel(namess, -1, 0, 0, 0, 50, INVALID_PLAYER_ID, PlayerInfo[playerid][CarID], 1, -1,-1,-1,100.0);
print("TExt label set new vehicle");
vehicleid = PlayerInfo[playerid][CarID];
SaveComponent(vehicleid);
print("SaveComponent : 8400");
}
else
{
GetVehiclePos(vehicleid, x, y, z);
print("GetVehiclePos 8406");
GetVehicleZAngle(vehicleid, a);
print("GetVehicleangle 8308");
GetVehicleColor(vehicleid, color11, color22);
print("GetVehcolor 8310");
SaveComponent(vehicleid);
print("SaveComponent 8312");
}
format(Query, sizeof(Query), "select * from CARINFO where USERID = %d LIMIT 0,1", userid2);
print(Query);
Result = db_query(playerinfo, Query);
if(db_num_rows(Result))
{
scm(playerid, green, "Success! "cwhite"Car has been parked and saved into your account. /Parkcar is now free for 24 hours from now. ");
db_free_result(Result);
format(Query, sizeof(Query), "update CARINFO set MODEL = %d, POSX = %f, POSY = %f, POSZ = %f, MOD1 = %d, MOD2 = %d, MOD3 = %d, MOD4 = %d, MOD5 = %d, MOD6 = %d, MOD7 = %d, MOD8 = %d, MOD9 = %d where USERID = %d",
carmodel, xpos, ypos, zpos + 1.0, VehicleInfo[vehicleid][mod1],VehicleInfo[vehicleid][mod2],VehicleInfo[vehicleid][mod3],VehicleInfo[vehicleid][mod4],VehicleInfo[vehicleid][mod5],VehicleInfo[vehicleid][mod6],VehicleInfo[vehicleid][mod7],VehicleInfo[vehicleid][mod8], VehicleInfo[vehicleid][mod9], userid2);
db_query(playerinfo, Query);
print(Query);
format(Query, sizeof(Query), "update CARINFO set MOD10 = %d, MOD11 = %d, MOD12 = %d, MOD13 = %d, MOD14 = %d, MOD15 = %d, MOD16 = %d, MOD17 = %d, COLOR1 = %d, COLOR2 = %d, POSA = %f, TIME = %d where USERID = %d",
VehicleInfo[vehicleid][mod10], VehicleInfo[vehicleid][mod11], VehicleInfo[vehicleid][mod12], VehicleInfo[vehicleid][mod13], VehicleInfo[vehicleid][mod14], VehicleInfo[vehicleid][mod15], VehicleInfo[vehicleid][mod16], VehicleInfo[vehicleid][mod17],color11,color22, angle, time, userid2);
db_query(playerinfo, Query);
//PlayerInfo[playerid][CarID] = GetPlayerVehicleID(playerid);
//print(Query);
}
else
{
scm(playerid, green, "Success! "cwhite"Car has been parked and saved into your account. /Parkcar is now free for 24 hours from now.");
db_free_result(Result);
format(Query, sizeof(Query), "insert into CARINFO (MODEL, POSX, POSY, POSZ, COLOR1, COLOR2, MOD1, MOD2, MOD3, MOD4, MOD5, MOD6, MOD7, MOD8, MOD9, USERID, MOD10, MOD11, MOD12, MOD13, MOD14, MOD15, MOD16, MOD17, POSA, TIME) values (%d, %f, %f, %f,%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %f, %d)",
carmodel, xpos, ypos, zpos + 1.0, color11, color22, VehicleInfo[vehicleid][mod1],VehicleInfo[vehicleid][mod2],VehicleInfo[vehicleid][mod3],VehicleInfo[vehicleid][mod4],VehicleInfo[vehicleid][mod5],VehicleInfo[vehicleid][mod6],VehicleInfo[vehicleid][mod7],VehicleInfo[vehicleid][mod8], VehicleInfo[vehicleid][mod9],
userid2, VehicleInfo[vehicleid][mod10], VehicleInfo[vehicleid][mod11], VehicleInfo[vehicleid][mod12], VehicleInfo[vehicleid][mod13], VehicleInfo[vehicleid][mod14], VehicleInfo[vehicleid][mod15], VehicleInfo[vehicleid][mod16], VehicleInfo[vehicleid][mod17], angle, time);
db_query(playerinfo, Query);
//PlayerInfo[playerid][CarID] = GetPlayerVehicleID(playerid);
//print(Query);
}
}
else
return scm(playerid, red, "Error! "cwhite"This command requires that you are inside a car.");
return 1;
}
// How the variables are set when spawning other cars:
SetPVarInt(playerid,"SpawnedCarID",GetPlayerVehicleID(playerid));
trailer[playerid] = CreateVehicle....
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment