Quantcast
Channel: SA-MP Forums
Viewing all articles
Browse latest Browse all 18226

Repair ID

$
0
0
I have a problem with saving repair id and which it won't load.

prints in database,

Code:

PickupID        pux        puy        puz       
-1        -2030.85        179.518        28.8359

-1        -2027.27        172.638        28.8359

-1        -2033.39        175.956        28.8429

which it keep using -1

Code:

public OnGameModeInit()
{

    for(new i = 0; i != sizeof(ARepairPickups); i++)
        ARepairPickups[i][PickupID] = -1;
        mysql_tquery(MySQL, "SELECT * FROM repair_pickups", "OnLoadRepairPickups");
}




Code:

forward OnLoadRepairPickups(playerid);
public OnLoadRepairPickups()
{
        new count;
        cache_get_row_count(count); // Get total rows
    for(new i; i < count; i++)
        {
        cache_get_value_name_int(0, "PickupID", ARepairPickups[i][PickupID]);
        cache_get_value_float(0, "pux",ARepairPickups[i][pux]);
        cache_get_value_float(0, "puy",ARepairPickups[i][puy]);
        cache_get_value_float(0, "puz",ARepairPickups[i][puz]);
        }
        return 1;
}

AddARepairPickups(Float:x, Float:y, Float:z)
{
        for (new i; i < sizeof(ARepairPickups); i++)
        {
                if (ARepairPickups[i][PickupID] == -1)
                {
                        ARepairPickups[i][PickupID] = CreatePickup(3096, 1, x, y, z, 0);
                        ARepairPickups[i][pux] = x;
                        ARepairPickups[i][puy] = y;
                        ARepairPickups[i][puz] = z;
                        Create3DTextLabel("{FFFF00}Type {00FF00}/repair {FFFF00}to repair your vehicle!", -1, x, y, z +0.5, 50.0, 0);
                        CreateDynamicMapIcon(x, y, z, 27, 0, 0, 0, -1, 300.0);
                        printf("PickupID: %d, PosX: %.4f, PosY: %.4f, PosZ: %.4f",ARepairPickups[i][PickupID],x,y,z);
                        break;
                }
        }
}

bool:IsPlayerAtRepair(playerid)
{
        for(new i; i != sizeof(ARepairPickups); i++)
        {
                if(ARepairPickups[i][PickupID] != -1)
                {
                        printf("IsPlayerAtRepair: PosX: %.4f, PosY: %.4f, PosZ: %.4f",ARepairPickups[i][pux], ARepairPickups[i][puy], ARepairPickups[i][puz]);
                }

                if(ARepairPickups[i][PickupID] != -1 && IsPlayerInRangeOfPoint(playerid, 5.0, ARepairPickups[i][pux], ARepairPickups[i][puy], ARepairPickups[i][puz]))
                        return true;
        }

        return false;
}

CMD:createrepair(playerid, params[])
{
  new Float:x, Float:y, Float:z;
  new query[128];
  if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOUR_RED, "Administrator status required.");
  GetPlayerPos(playerid, x, y, z);
  AddARepairPickups(x, y, z);
  mysql_format(MySQL, query, 128, "INSERT INTO `repair_system` (`PickupID`, `pux`,`puy`,`puz`) VALUES (%d, %f, %f, %f)",ARepairPickups[playerid][PickupID], x, y, z); // Use %f specifier here, because we insert float for pux puy puz
  mysql_tquery(MySQL, query, "AddARepairPickups", "ffff", ARepairPickups[playerid][PickupID], x, y, z); // AddARepairPickups must be a public function
  return 1;
}


Viewing all articles
Browse latest Browse all 18226

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>