Sveiki, taigi galva nebeneša, kodėl man nekrauna turgaus tr. priemonių iš mySQL? Padėkit..
stock KrautiTurgu()
{
for(new i=0; i < MAX_TURGUS; i++)
{
new Float:pos[4], query[130];
format(query, sizeof(query), "SELECT * FROM `carturgus`");
mysql_query(query);
mysql_store_result();
if(mysql_retrieve_row())
{
new tmp[32];
mysql_fetch_field_row(tmp,"modelis"); cpData[i][cpModelis] = strval(tmp);
mysql_fetch_field_row(tmp,"kaina"); cpData[i][cpKaina] = strval(tmp);
mysql_fetch_field_row(tmp,"dtipas"); cpData[i][cpDegaluTipas] = strval(tmp);
mysql_fetch_field_row(tmp,"kiekis"); cpData[i][cpKiekis] = strval(tmp);
mysql_fetch_field_row(tmp, "x" );
pos[0] = floatstr(tmp);
mysql_fetch_field_row(tmp, "y" );
pos[1] = floatstr(tmp);
mysql_fetch_field_row(tmp, "z" );
pos[2] = floatstr(tmp);
mysql_fetch_field_row(tmp, "r" );
pos[3] = floatstr(tmp);
KurtiTurgausMasina(cpData[i][cpModelis], pos[0], pos[1], pos[2], pos[3]);
}
}
mysql_free_result();
return 1;
}
Dedu po callbackų OnGameModeInit();
HJones prieš 9 metus
[01:22:51]
[01:22:51] ---------------------------
[01:22:51] MySQL Debugging activated (05/30/15)
[01:22:51] ---------------------------
[01:22:51]
[01:22:51] >> mysql_connect( )
[01:22:51] CMySQLHandler::CMySQLHandler() - constructor called.
[01:22:51] CMySQLHandler::CMySQLHandler() - Connecting to "localhost" | DB: "grpg_serveris" | Username: "root" ...
[01:22:51] CMySQLHandler::Connect() - Connection was successful.
[01:22:51] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.
[01:22:51] >> mysql_ping( Connection handle: 1 )
[01:22:51] CMySQLHandler::Ping() - Connection is still alive.
[01:22:51] >> mysql_query( Connection handle: 1 )
[01:22:51] CMySQLHandler::Query(SELECT `vardas` FROM `zaidejai`) - Successfully executed.
[01:22:51] >> mysql_store_result( Connection handle: 1 )
[01:22:51] CMySQLHandler::StoreResult() - Result was stored.
[01:22:51] >> mysql_num_rows( Connection handle: 1 )
[01:22:51] CMySQLHandler::NumRows() - Returned 6 row(s)
[01:22:51] >> mysql_free_result( Connection handle: 1 )
[01:22:51] CMySQLHandler::FreeResult() - Result was successfully free'd.
f0cus prieš 9 metus
Nežinau kodėl neužkrauna išvis, bet jei ir krautų - visą laik tą patį modelį su tais pačiais duomenimis užkrautų. Turėtum bandyti perdaryt viską maždaug į taip:
stock KrautiTurgu()
{
new i = 0;
mysql_query("SELECT * FROM `carturgus`");
mysql_store_result();
while(mysql_retrieve_row())
{
// visi mysql_fetchai
i++;
}
mysql_free_result();
}
na bent kažką panašaus. Nes dabar tu darysi
SELECT * FROM `carturgus`
tiek kartų, kiek yra nustatytas MAX_TURGUS ir tai visą laik ištrauks pačią pirmą eilutę sqle.
HJones prieš 9 metus
Oky, tuoj persikursiu pagal tavo duotą pavyzdį, o jeigu pvz aš dabar pasidaręs stocką:+1:
stock KurtiTMasina(modelid, Float:x, Float:y, Float:z, Float:r)
{
for(new i=0; i<MAX_TURGUS; i++)
{
new str[150], tipass[30];
if(cpData[i][cpDegaluTipas] == 0) tipass = "Benzinas 95";
else if(cpData[i][cpDegaluTipas] == 1) tipass = "Benzinas 98";
else if(cpData[i][cpDegaluTipas] == 2) tipass = "Dyzelinas";
tacka = CreateVehicle(modelid, x, y, z, r, -1, -1, -1);
format(str, sizeof(str), "Pavadinimas: {0080FF}%s\n{C0C0C0}Kuro tipas: {0080FF}%s\n{C0C0C0}Kiekis: {0080FF}%i vnt.\n{C0C0C0}Kaina: {0080FF}%i €.", GetVehicleName(tacka), tipass, cpData[i][cpKiekis], cpData[i][cpKaina]);
labelis[tacka] = Create3DTextLabel(str, 0xC0C0C0FF, 0.0, 0.0, 0.0, 20.0, 0, 1 );
Attach3DTextLabelToVehicle(labelis[tacka], tacka, 0.0, 0.0, 0.3);
return 1;
}
return 1;
}
tai i irgi persidaryti į i = 0; ir po kiekvieno sukūrimo pridėti po 1?
EDIT:
Neveikia, vistiek nekrauna... Susidėjau printf pasižiūrėt ar veikia, bet ne, neišprintina.
Bebras prieš 9 metus
Sprendžiant iš tavo log'o tu tos funkcijos tiesiog niekur nenaudoji...
Ar yra tokia dalis?
public OnGameModeInit()
{
KrautiTurgu();
}
HJones prieš 9 metus
stock KurtiTMasina(modelid, Float:x, Float:y, Float:z, Float:r)
{
new i = 0;
new str[150], tipass[30];
if(cpData[i][cpDegaluTipas] == 0) tipass = "Benzinas 95";
else if(cpData[i][cpDegaluTipas] == 1) tipass = "Benzinas 98";
else if(cpData[i][cpDegaluTipas] == 2) tipass = "Dyzelinas";
tacka = CreateVehicle(modelid, x, y, z, r, -1, -1, -1);
printf("Turgaus mašina sukurta");
format(str, sizeof(str), "Pavadinimas: {0080FF}%s\n{C0C0C0}Kuro tipas: {0080FF}%s\n{C0C0C0}Kiekis: {0080FF}%i vnt.\n{C0C0C0}Kaina: {0080FF}%i €.", GetVehicleName(tacka), tipass, cpData[i][cpKiekis], cpData[i][cpKaina]);
labelis[tacka] = Create3DTextLabel(str, 0xC0C0C0FF, 0.0, 0.0, 0.0, 20.0, 0, 1 );
Attach3DTextLabelToVehicle(labelis[tacka], tacka, 0.0, 0.0, 0.3);
return 1;
}
Bebras prieš 9 metus
Čia dalis tavo GM:
public OnGameModeInit()
{
KrautiTurgu();
ManualVehicleEngineAndLights();
SetGameModeText(VERSIJA);
SendRconCommand("mapname "ZEMELAPIS"");
mysql_debug( true );
mysql_connect( MySQL_HOST,MySQL_USER,MySQL_DATA,MySQL_PASS );
if( mysql_ping( ) >= 1 ) print( "[gRPG.pwn]: Prisijungimas prie MySQL DB ( "MySQL_DATA" ) pavyko!" );
else print("[gRPG.pwn]: Prisijungimas prie MySQL DB ( "MySQL_DATA" ) nepavyko!");
Tu bandai krauti turgų ANKŠČIAU nei prisijungi prie duomenų bazės..