fuggveny LoadKapu(){new idx = 0, KapuLoaded = 0;printf(\"\\nKapuk betöltése folyamatban...\");while (idx < MAX_KAPU){new where[32], query[128], mezoadatok[256], mezo[25][MAX_PLAYER_NAME];Format(where, \"ID=\'%d\'\", idx);if(Mysql_Num(SQL_DB_Kapuk, where) == 1) Kapu[idx][kVan] = true;else Kapu[idx][kVan] = false;if(Kapu[idx][kVan] == true){ Format( query, \"SELECT * FROM %s WHERE %s\", SQL_DB_Kapuk, where); mysql_query(SQL, query); mysql_store_result(); mysql_fetch_row_format(mezoadatok, \"|\"); mysql_free_result(); split(mezoadatok, mezo, \'|\'); strmid(Info[idx][kNev], mezo[1], 0, strlen(mezo[1]), 32); Kapu[idx][kModel] = strval(mezo[2]); Kapu[idx][kTav] = floatstr(mezo[3]); Kapu[idx][kSpeed] = floatstr(mezo[4]); sscanf(mezo[5],\"p<,>a<f>[3]\",Kapu[idx][kPos]); sscanf(mezo[6],\"p<,>a<f>[3]\",Kapu[idx][kNPos]); sscanf(mezo[7],\"p<,>a<f>[3]\",Kapu[idx][kNRPos]); sscanf(mezo[8],\"p<,>a<f>[3]\",Kapu[idx][kZPos]); sscanf(mezo[9],\"p<,>a<f>[3]\",Kapu[idx][kZRPos]); strmid(Kapu[idx][kHasznalo], mezo[10], 0, strlen(mezo[10]), 32); Kapu[idx][nyit] = strval(mezo[11]); Kapu[idx][Vw] = strval(mezo[12]); Kapu[idx][kKod] = strval(mezo[13]);}if(Kapu[idx][kVan] == true){ Kapu[idx][kObject] = CreateDynamicObject(Kapu[idx][kObjectID],Kapu[idx][kPos][0],Kapu[idx][kPos][1],KapuInfo[idx][kPos][2],Kapu[idx][kZRPos][0],Kapu[idx][kZRPos][1],Kapu[idx][kZRPos][2]); KapuLoaded ++;}idx++;}printf(\"Kapuk betöltve! Betöltött kapuk száma: %d\",KapuLoaded);return 1;}
stock KapuAkcio(akcio = KAPU_BETOLT, uid = NINCS, bool: preQuery = true) // by Martin & DrAke{new id, db, idx, tmp[20], data[14][128], data2[3][32], egesz[512], query[256], string[64];switch(akcio){case KAPU_BETOLT:{ id = 0; if( preQuery ) { //format( query, 256, \"SELECT ID, Nev, Model, Tav, Speed, Pos, NPos, NRPos, ZPos, ZRPos, Hasznalo, Nyit, VW, Kod FROM %s\", SQL_DB_Kapu ); format( query, 256, \"SELECT * FROM %s\", SQL_DB_Kapu ); doQuery( query, SQL_SYSTEM_KAPU, akcio, uid ); return 1; } //SQLResult( true ); if(mysql_num_rows() > 0) { new fetchline[2048], kapuid, kapunev[32], kapumodel, Float:kaputav, Float:kapuspeed, kapupos[5][128], kapuhasznalo[128], kapunyit, kapuvw, kapukod; while(mysql_fetch_row(fetchline)) { sscanf(fetchline, \"p<|>ds[32]dffs[128]s[128]s[128]s[128]s[128]s[128]ddd\", kapuid, kapunev, \\ kapumodel, kaputav, kapuspeed, kapupos[0], kapupos[1], kapupos[2], kapupos[3], kapupos[4], \\ kapuhasznalo, kapunyit, kapuvw, kapukod); Kapu[id][kVan] = true; Kapu[id][kUID] = kapuid; Kapu[id][kNev] = kapunev; Kapu[id][kModel] = kapumodel; Kapu[id][kTav] = kaputav; Kapu[id][kSpeed] = kapuspeed; if(Kapu[id][kSpeed] <= 0.0) Kapu[id][kMozgo] = false; else Kapu[id][kMozgo] = true; split(kapupos[0], data2, \',\'); StrToPos(data2, Kapu[id][kPos]); split(kapupos[1], data2, \',\'); StrToPos(data2, Kapu[id][kNPos]); split(kapupos[2], data2, \',\'); StrToPos(data2, Kapu[id][kNRPos]); split(kapupos[3], data2, \',\'); StrToPos(data2, Kapu[id][kZPos]); split(kapupos[4], data2, \',\'); StrToPos(data2, Kapu[id][kZRPos]); idx = 0; db = 0; while( db < MAX_KAPU_HASZNALO && (tmp = strtok_vesszo(kapuhasznalo, idx), strlen(tmp)) ) { if(strval(tmp) > 0) { Kapu[id][kHasznalo][db] = strval(tmp); db++; } } if(!db) Kapu[id][kBarki] = true; Kapu[id][Vw] = kapuvw; Kapu[id][kKod] = kapukod; Kapu[id][kOID] = CreateDynamicObject(Kapu[id][kModel], PosExt(Kapu[id][kZPos]), PosExt(Kapu[id][kZRPos]),Kapu[id][Vw]); Kapu[id][nyit] = kapunyit; id++; } } /*if(mysql_num_rows() > 0) { while(id < MAX_KAPU && mysql_fetch_row(egesz)) { split(egesz, data, \'|\'); Kapu[id][kVan] = true; Kapu[id][kUID] = strval(data[0]); format(Kapu[id][kNev], 32, data[1]); Kapu[id][kModel] = strval(data[2]); Kapu[id][kTav] = floatstr(data[3]); Kapu[id][kSpeed] = floatstr(data[4]); if(Kapu[id][kSpeed] <= 0.0) Kapu[id][kMozgo] = false; else Kapu[id][kMozgo] = true; // Kapu közepe split(data[5], data2, \',\'); StrToPos(data2, Kapu[id][kPos]); // Nyitási pozíció split(data[6], data2, \',\'); StrToPos(data2, Kapu[id][kNPos]); // Nyitási rotáció split(data[7], data2, \',\'); StrToPos(data2, Kapu[id][kNRPos]); // Zárási pozíció split(data[8], data2, \',\'); StrToPos(data2, Kapu[id][kZPos]); // Zárási rotáció split(data[9], data2, \',\'); StrToPos(data2, Kapu[id][kZRPos]); idx = 0; db = 0; while( db < MAX_KAPU_HASZNALO && (tmp = strtok_vesszo(data[10], idx), strlen(tmp)) ) { if(strval(tmp) > 0) { Kapu[id][kHasznalo][db] = strval(tmp); db++; } } if(!db) Kapu[id][kBarki] = true; Kapu[id][Vw] = strval(data[12]); Kapu[id][kKod] = strval(data[13]); Kapu[id][kOID] = CreateDynamicObject(Kapu[id][kModel], PosExt(Kapu[id][kZPos]), PosExt(Kapu[id][kZRPos]),Kapu[id][Vw]); Kapu[id][nyit] = strval(data[11]); id++; } }*/ //SQLResult( false ); if(id) printf(\"Szerver info: %d kapu sikeresen betöltve!\\n\", id); else printf(\"Szerver info: Egyetlen kapu se került betöltésre!\\n\"); new ennyike = 0; for(new k = 0; k < MAX_KAPU; k++) { if(Kapu[k][nyit] ==1) { //printf(\"Kapu nyitása: %d\",k); if(Kapu[k][kMozgo]) MoveDynamicObject(Kapu[k][kOID], PosExt(Kapu[k][kNPos]), Kapu[k][kSpeed]); else { SetDynamicObjectPos(Kapu[k][kOID], PosExt(Kapu[k][kNPos])); SetDynamicObjectRot(Kapu[k][kOID], PosExt(Kapu[k][kNRPos])); } ennyike++; } } printf(\"Szerver info: %d kapu sikeresen kinyitva!\\n\", ennyike);}case KAPU_BETOLT_EX:{ id = NINCS; for(new k = 0; k < MAX_KAPU; k++) { if(!Kapu[k][kVan]) { id = k; break; } } if(uid != NINCS && id != NINCS) { if( preQuery ) { format(query, 256, \"SELECT ID, Nev, Model, Tav, Speed, Pos, NPos, NRPos, ZPos, ZRPos, Hasznalo, VW, Kod FROM %s WHERE ID=\'%d\'\", SQL_DB_Kapu, uid); doQuery( query, SQL_SYSTEM_KAPU, akcio, uid ); return 1; } printf(\"[CMD] %d. kapu betöltése...\", id); format(string, sizeof(string), \"* [CMD] %d. kapu betöltése...\", id); SendFAdminMessage(TEAM_ORANGE_COLOR, string); //SQLResult( true ); if(mysql_num_rows()) { if(mysql_fetch_row(egesz)) { split(egesz, data, \'|\'); Kapu[id][kVan] = true; Kapu[id][kUID] = strval(data[0]); format(Kapu[id][kNev], 32, data[1]); Kapu[id][kModel] = strval(data[2]); Kapu[id][kTav] = floatstr(data[3]); Kapu[id][kSpeed] = floatstr(data[4]); if(Kapu[id][kSpeed] <= 0.0) Kapu[id][kMozgo] = false; else Kapu[id][kMozgo] = true; // Kapu közepe split(data[5], data2, \',\'); StrToPos(data2, Kapu[id][kPos]); // Nyitási pozíció split(data[6], data2, \',\'); StrToPos(data2, Kapu[id][kNPos]); // Nyitási rotáció split(data[7], data2, \',\'); StrToPos(data2, Kapu[id][kNRPos]); // Zárási pozíció split(data[8], data2, \',\'); StrToPos(data2, Kapu[id][kZPos]); // Zárási rotáció split(data[9], data2, \',\'); StrToPos(data2, Kapu[id][kZRPos]); idx = 0; db = 0; while( db < MAX_KAPU_HASZNALO && (tmp = strtok_vesszo(data[10], idx), strlen(tmp)) ) { Kapu[id][kHasznalo][db] = strval(tmp); db++; } if(!db) Kapu[id][kBarki] = true; Kapu[id][Vw]=strval(data[11]); Kapu[id][kKod] = strval(data[12]); Kapu[id][kOID] = CreateDynamicObject(Kapu[id][kModel], PosExt(Kapu[id][kZPos]), PosExt(Kapu[id][kZRPos]),Kapu[id][Vw]); printf(\"[CMD] %d. kapu betöltve\", id); format(string, sizeof(string), \"[CMD] %d. kapu betöltve\", id); SendFAdminMessage(TEAM_ORANGE_COLOR, string); } } //SQLResult( false ); }}case KAPU_TOROL:{ id = NINCS; for(new k = 0; k < MAX_KAPU; k++) { if(Kapu[k][kUID] == uid) { id = k; break; } } if(id < 0 || id >= MAX_KAPU || !Kapu[id][kVan]) return 1; if( preQuery ) { printf(\"[CMD] %d. kapu törlése...\", id); DestroyDynamicObject(Kapu[id][kOID]); Kapu[id][kVan] = false; printf(\"[CMD] %d. kapu törölve\", id); format(string, sizeof(string), \"[CMD] %d. kapu törölve\", id); SendFAdminMessage(TEAM_ORANGE_COLOR, string); format(query, 256, \"SELECT ID FROM %s WHERE ID=\'%d\'\", SQL_DB_Kapu, uid); doQuery( query, SQL_SYSTEM_KAPU, akcio, uid ); } else { //SQLResult( true ); db = mysql_num_rows(); //SQLResult( false ); if(db) { format(query, 256, \"DELETE FROM %s WHERE ID=\'%d\'\", SQL_DB_Kapu, uid); doQuery( query ); printf(\"[CMD] %d. kapu SQL törlése megvan (SQL ID: %d)\", id, uid); } }}case KAPU_RELOAD:{ id = NINCS; for(new k = 0; k < MAX_KAPU; k++) { if(Kapu[k][kUID] == uid) { id = k; break; } } if(id < 0 || id >= MAX_KAPU || !Kapu[id][kVan]) return 1; if(uid != NINCS && id != NINCS) { if( preQuery ) { format(string, sizeof(string), \"[CMD] %d. kapu újratöltése... fázis: előtöltés\", id); SendFAdminMessage(TEAM_ORANGE_COLOR, string); printf(\"[CMD] %d. kapu újratöltése... fázis: előtöltés\", id); format(query, 256, \"SELECT ID, Model, Tav, Speed, Pos, NPos, NRPos, ZPos, ZRPos, Hasznalo, VW FROM %s WHERE ID=\'%d\'\", SQL_DB_Kapu, uid); doQuery( query, SQL_SYSTEM_KAPU, akcio, uid ); return 1; } else { format(string, sizeof(string), \"[CMD] %d. kapu újratöltése... fázis: kapu újratöltése\", id); SendFAdminMessage(TEAM_ORANGE_COLOR, string); printf(\"[CMD] %d. kapu újratöltése... fázis: kapu újratöltése\", id); //SQLResult( true ); if(mysql_num_rows()) { if(mysql_fetch_row(egesz)) { split(egesz, data, \'|\'); Kapu[id][kVan] = true; Kapu[id][kUID] = strval(data[0]); Kapu[id][kModel] = strval(data[1]); Kapu[id][kTav] = floatstr(data[2]); Kapu[id][kSpeed] = floatstr(data[3]); if(Kapu[id][kSpeed] <= 0.0) Kapu[id][kMozgo] = false; else Kapu[id][kMozgo] = true; // Kapu közepe split(data[4], data2, \',\'); StrToPos(data2, Kapu[id][kPos]); // Nyitási pozíció split(data[5], data2, \',\'); StrToPos(data2, Kapu[id][kNPos]); // Nyitási rotáció split(data[6], data2, \',\'); StrToPos(data2, Kapu[id][kNRPos]); // Zárási pozíció split(data[7], data2, \',\'); StrToPos(data2, Kapu[id][kZPos]); // Zárási rotáció split(data[8], data2, \',\'); StrToPos(data2, Kapu[id][kZRPos]); idx = 0; db = 0; while( db < MAX_KAPU_HASZNALO && (tmp = strtok_vesszo(data[9], idx), strlen(tmp)) ) { Kapu[id][kHasznalo][db] = strval(tmp); db++; } if(!db) Kapu[id][kBarki] = true; Kapu[id][Vw]=strval(data[10]); DestroyDynamicObject(Kapu[id][kOID]); Kapu[id][kOID] = CreateDynamicObject(Kapu[id][kModel], PosExt(Kapu[id][kZPos]), PosExt(Kapu[id][kZRPos]),Kapu[id][Vw]); printf(\"[CMD] %d. kapu betöltve\", id); format(string, sizeof(string), \"[CMD] %d. kapu újra betöltve\", id); SendFAdminMessage(TEAM_ORANGE_COLOR, string); } } //SQLResult( false ); } }}}return 1;}