Bebras prieš 9 metus
sscanf(Query, "p<|>{ds[80]}s[24]dd",
Update3DTextLabelText(Test, 0xFFFFFFFF, uzkl);
Tai supranti, kad net jeigu kintamajame Test
kažkada ir buvo sukurto 3D Text label ID, dabar jau ten jo nebėra? Tu apskritai jį išvis sukuri?
Bebras prieš 9 metus
Na pradžiai pakrovęs pabandyk išprintinti datą su printf()
funkcija, jeigu ji gera, tada rodyk kaip tu nustatai textdraw tekstą.
Jeigu išvis nerodo TD, galbūt pamiršai TextDrawShowForPlayer
?
Bebras prieš 9 metus
Bėda tavo while
ciklo sąlygoje, kai tavo ciklas jau baigsis, bus dar likę medžių..
while(n > 0)
Tau reikia vykdyti ciklą tol, kol yraa nepadarytų medžių. Patikrinau, veikia :)
Bebras prieš 9 metus
....Datos išsaugojimo pvz.:
public OnPlayerDisconnect(playerid, reason)
{
new year, month, day, hour, minute, second;
getdate(year, month, day);
gettime(hour, minute, second);
format(pInfo[ playerid ][ PaskutinisLog ], 32,"%d.%d.%d %d:%d:%d", year, month, day, hour, second, minute);
orm_update(pInfo[ playerid ][ ORMID ]);
}
Datos pakrovimo pvz:
public OnPlayeSpawn(playerid)
{
// Tarkim kad orm_select jau buvo panaudota
new string[];
format(string, sizeof(string), "Paskutinio prisijungimo data: %s", pInfo[ playerid ][ PaskutinisLog ]);
SendClientMessage(playerid, -1, string);
}
Bebras prieš 9 metus
Matau tris kelius:
- Stulpelio tipas
INT
Įrašymo užklausa:
mysql_format(connection, query, sizeof(query), "UPDATE lentele SET stulpelis = %d", gettime());
Datos gavimas suprantamu formatu:
mysql_format(connection, query, sizeof(query), "SELECT FROM_UNIXTIME(stulpelis) FROM lentele");
- Stulpelio tipas
DateTime
arbaDate
Datos įrašymo užklausa:
mysql_format(connection, query, sizeof(query), "UPDATE lentele SET stulpelis = FROM_UNIXTIME(%d)", gettime());
Datos gavimas nesikeičia, tai būtų paprastas string.
- Stulpelio tipas
VARCHAR
(arba kitas tekstinis tipas): Datos įrašymas:
new date[ 32 ], year, month, day, hour, minute, second;
getdate(year, month, day);
gettime(hour, minute, second);
format(date, sizeof(date),"%d.%d.%d %d:%d:%d", year, month, day, hour, second, minute);
mysql_format(connection, query, sizeof(query), "UPDATE lentele SET stulpelis = '%s'", date);
Datos išgavimas nieko neišsiskiria.
Kaip matai, pirmiems dviems variantais bus būtina rašyti užklausas, nors jie ir yra labiau priimtini... Tačiau jei nori toliau naudoti pilnai ORM, teks tenkintis trečiuoju būdu ir datą formatuoti pačiam.
Bebras prieš 9 metus
Taip, čia ir yra ORM grožis.
orm_setkey pasako ORM su kuria eilute(ėmis) jam reikia dirbti.