23.01.2016, 14:00
Hello guys,
I'm trying to learn MySQL with easy-mysql.inc. I want to code dynamic pickup system but my system doesn't work/save veriables.
Here is my database:
/createdoor code:
SaveDoor stock:
OnGameModeInit codes:
Where am I doing wrong?
I'm trying to learn MySQL with easy-mysql.inc. I want to code dynamic pickup system but my system doesn't work/save veriables.
Here is my database:
Код:
if(!SQL::ExistsTable("doors")) { new database = SQL::Open(SQL::CREATE, "doors"); SQL::AddTableEntry(database, "d_sqlid", SQL_TYPE_INT, 11, true); SQL::AddTableEntry(database, "d_pickupid", SQL_TYPE_INT); SQL::AddTableEntry(database, "d_posx", SQL_TYPE_FLOAT); SQL::AddTableEntry(database, "d_posy", SQL_TYPE_FLOAT); SQL::AddTableEntry(database, "d_posz", SQL_TYPE_FLOAT); SQL::Close(database); }
Код:
CMD:createdoor(playerid, params[]) { new k = SQL::CountRows("doors")+1; for(new id = -1; id < k; id++) { new pickup; if(sscanf(params, "d", pickup)) return SendClientMessage(playerid, -1, "SYNTAX: /createdoor (pickupid)"); new Float:X, Float:Y, Float:Z, label[96]; GetPlayerPos(playerid, X, Y, Z); DoorInfo[id][d_pickupid] = pickup; DoorInfo[id][d_posx] = X; DoorInfo[id][d_posy] = Y; DoorInfo[id][d_posz] = Z; DoorInfo[id][doorpickup] = CreateDynamicPickup(DoorInfo[id][d_pickupid], 1, DoorInfo[id][d_posx], DoorInfo[id][d_posy], DoorInfo[id][d_posz], -1); SaveDoor(id); } return 1; }
Код:
stock SaveDoor(id) { new save = SQL::Open(SQL::INSERT, "doors"); SQL::ToggleAutoIncrement(save, true); SQL::WriteInt(save, "k_pickupid", DoorInfo[id][d_pickupid]); SQL::WriteFloat(save, "k_posx", DoorInfo[id][d_posx]); SQL::WriteFloat(save, "k_posy", DoorInfo[id][d_posy]); SQL::WriteFloat(save, "k_posz", DoorInfo[id][d_posz]); DoorInfo[id][d_sqlid] = SQL::Close(save); }
Код:
new k = SQL::CountRows("doors")+1; for(new id = -1; id < k; id++) { new islem = SQL::Open(SQL::READ, "doors", "d_sqlid", DoorInfo[id][d_sqlid]); SQL::ReadInt(islem, "d_pickupid", DoorInfo[id][d_pickupid]); SQL::ReadFloat(islem, "d_posx", DoorInfo[id][d_posx]); SQL::ReadFloat(islem, "d_posy", DoorInfo[id][d_posy]); SQL::ReadFloat(islem, "d_posz", DoorInfo[id][d_posz]); SQL::Close(islem); DoorInfo[id][doorpickup] = CreateDynamicPickup(DoorInfo[id][d_pickupid], 1, DoorInfo[id][d_posx], DoorInfo[id][d_posy], DoorInfo[id][d_posz], -1);