enum E_PLAYER_RANG_DATA{
ORM: _r_ormid,
// mysql synced
id,
rang1[32],
rang2[32],
rang3[32],
rang4[32],
rang5[32],
rang6[32],
rang7[32],
rang8[32],
rang9[32],
rang10[32],
}
new RG[1][E_PLAYER_RANG_DATA];
mysql_tquery(MySQL:1,"SELECT * FROM `rangs`", "OnMySQL_SelectRangs");
public OnMySQL_SelectRangs()
{
new TotalRanks;
for(new x=0; x < sizeof(RG); x++){
RG[x][_r_ormid] = orm_create("rangs");
orm_addvar_int(RG[x][_r_ormid],RG[x][id],"ID");
orm_setkey(RG[x][_r_ormid],"ID");
orm_addvar_string(RG[x][_r_ormid],RG[x][rang1], 32, "Rang1");
orm_addvar_string(RG[x][_r_ormid],RG[x][rang2], 32, "Rang2");
orm_addvar_string(RG[x][_r_ormid],RG[x][rang3], 32, "Rang3");
orm_addvar_string(RG[x][_r_ormid],RG[x][rang4], 32, "Rang4");
orm_addvar_string(RG[x][_r_ormid],RG[x][rang5], 32, "Rang5");
orm_addvar_string(RG[x][_r_ormid],RG[x][rang6], 32, "Rang6");
orm_addvar_string(RG[x][_r_ormid],RG[x][rang7], 32, "Rang7");
orm_addvar_string(RG[x][_r_ormid],RG[x][rang8], 32, "Rang8");
orm_addvar_string(RG[x][_r_ormid],RG[x][rang9], 32, "Rang9");
orm_addvar_string(RG[x][_r_ormid],RG[x][rang10], 32, "Rang10");
TotalRanks++;
}
printf("Загруженно Рангов:%i [Длительность загрузки: %d ms]",TotalRanks,cache_get_query_exec_time(MILLISECONDS));
}
printf("%s", rang5); //выдает ошибку
printf("%s",RG[0][rang5]); //тоже
//а если добавить в цикл
printf("%s",RG[x][rang5]);//В консоль появляется пустое место
Хоть это и не относится к решению твоей проблемы, но структура БД не нормализована.
|
stock Get_RangName(playerid)
{
new dests[43];
switch(P[playerid][p_job_team]){
case ORG_FBI:{
switch(P[playerid][p_rang]){
case 1: dests = "Стажер";
case 2: dests = "Младший агент";
case 3: dests = "Агент отдела ГНК";
case 4: dests = "Агент отдела КСО";
case 5: dests = "Старший агент";
case 6: dests = "Глава отдела ГНК";
case 7: dests = "Глава отдела КСО";
case 8: dests = "Инспектор ФБР";
case 9: dests = "Заместитель директора ФБР";
case 10: dests = "Директор ФБР";
}
}
}
return dests;
}
// fraction ranks table
id | fraction_id | name
// ...
// ...
#define INVALID_FRACTION_ID -1
#define INVALID_MEMBER_ID -1
#define INVALID_RANK_ID -1
#define MAX_FRACTIONS 100
#define MAX_FRACTION_PLAYERS 50
// ...
// ...
enum E_RANK_INFO {
ORM:_r_ormid,
e_r_id,
e_r_name[MAX_RANK_NAME],
}
static gRanks[MAX_RANKS][E_RANK_INFO];
// ...
// ...
enum E_FRACTION_MEMBER_INFO {
// ...
e_fm_rankid,
// ...
}
static gFractionMembers[MAX_FRACTIONS][MAX_FRACTION_PLAYERS][E_FRACTION_MEMBER_INFO];
// ...
// ...
stock FractionMember_GetRankName(fractionid, memberid, name[], const size = sizeof(name))
{
new rankid = FractionMember_GetRank(fractionid, memberid);
if (rankid == INVALID_RANK_ID) {
return 0;
}
name[0] = '\0';
strcat(name, gRanks[rankid][e_r_name], size);
return 1;
}
// ...
// ...
stock GetPlayerFractionRankName(playerid, name[], const size = sizeof(name))
{
new
fractionid,
memberid;
fractionid = GetPlayerFractionID(playerid);
memberid = GetPlayerFractionMemberID(playerid);
if (fractionid == INVALID_FRACTION_ID || memberid == INVALID_MEMBER_ID) {
return 0;
}
return FractionMember_GetRankName(fractionid, memberid, name, size);
}
// ...
Как-то так:
PHP Code:
|
Вот вам рецепт:
|
если макдональдс не шик, скриптьте самостоятельно, без задавания вопросов на форумах, за столько лет скопилось полным полно всякого материала, пользуйтесь, все придет со временем и практикой йо
|