03.07.2015, 22:27
Добрый день, уважаемые посетители sa-mp.com!
Логи:
И собственно сам вопрос: 8 и 128 бита это нормально?
Заранее спасибо!
PHP код:
enum
{
GANG_ID_BALLAS, // = 0
GANG_ID_VAGOS,
GANG_ID_GROVE,
GANG_ID_AZTECAS,
GANG_ID_RIFA,
__LAST_GANG_ID // = 5, значение будет использовано далее
}
enum(+=2)
{
REL_SHIFT_BALLAS, // биты 0-1
REL_SHIFT_VAGOS, // = 2, биты 2-3
REL_SHIFT_GROVE, // = 4, биты 4-5
REL_SHIFT_AZTECAS, // ...
REL_SHIFT_RIFA // ... 8-9
};
enum
{
GANG_REL_NEGATIVE,
GANG_REL_NEUTRAL,
GANG_REL_POSITIVE
};
PHP код:
new gang_relationships[__LAST_GANG_ID];
PHP код:
const GANG_REL_MASK = 0b11111111_11111111_11111111_11111100;
PHP код:
case 11103: //Rifa
{
if(!response) return 0; //Ballas
if(PlayerInfo[playerid][p_leaders] == 12)
{
if(ismysqlnull(inputtext))
return SPD(playerid, 11103, DIALOG_STYLE_INPUT, " ","С какой бандой вы желаете заключить союз\n\nRifa\n\
Grove\n\
Aztec\n\
Vagos", "Ок", "Отмена");
}
if(PlayerInfo[playerid][p_leaders] == 13)
{
if(ismysqlnull(inputtext))
return SPD(playerid, 11103, DIALOG_STYLE_INPUT, " ","С какой бандой вы желаете заключить союз\n\nRifa\n\
Grove\n\
Ballas\n\
Aztec", "Ок", "Отмена");
}
//Grove
if(PlayerInfo[playerid][p_leaders] == 15)
{
if(ismysqlnull(inputtext))
return SPD(playerid, 11103, DIALOG_STYLE_INPUT, " ","С какой бандой вы желаете заключить союз\n\nRifa\n\
Aztec\n\
Ballas\n\
Vagos", "Ок", "Отмена");
}
//Aztec
if(PlayerInfo[playerid][p_leaders] == 17)
{
if(ismysqlnull(inputtext))
return SPD(playerid, 11103, DIALOG_STYLE_INPUT, " ","С какой бандой вы желаете заключить союз\n\nRifa\n\
Grove\n\
Ballas\n\
Vagos", "Ок", "Отмена");
}
//Rifa
if(PlayerInfo[playerid][p_leaders] == 18)
{
if(ismysqlnull(inputtext))
return SPD(playerid, 11103, DIALOG_STYLE_INPUT, " ","С какой бандой вы желаете заключить союз\n\nAztec\n\
Grove\n\
Ballas\n\
Vagos", "Ок", "Отмена");
}
if( PlayerInfo[playerid][p_leaders] == 12 ||
PlayerInfo[playerid][p_leaders] == 13 ||
PlayerInfo[playerid][p_leaders] == 15 ||
PlayerInfo[playerid][p_leaders] == 17 ||
PlayerInfo[playerid][p_leaders] == 18)
{
new
string_band_union[46],
my_orgazantion[8];
switch(PlayerInfo[playerid][p_members])
{
case 12: my_orgazantion = "ballas";
case 13: my_orgazantion = "vagos";
case 15: my_orgazantion = "grove";
case 17: my_orgazantion = "aztecas";
case 18: my_orgazantion = "rifa";
}
for(new interator_name_band; interator_name_band < sizeof(name_diplamation); interator_name_band ++)
{
printf("inputtext: %s | name_diplamation[interator_name_band][e_Name]: %s", inputtext, name_diplamation[interator_name_band][e_Name]);
if(strcmp(inputtext, name_diplamation[interator_name_band][e_Name], false) != 0)
{
print("1) Работает");
continue;
}
print("2) Работает");
new i_gang_id = GetGangID(name_diplamation[interator_name_band][e_Value]);
new player_gang_id = GetGangID(PlayerInfo[playerid][p_members]);
// ID другой банды - в переменной i
new shift_val = i_gang_id + i_gang_id;
gang_relationships[player_gang_id] &= GANG_REL_MASK << shift_val;
gang_relationships[player_gang_id] |= GANG_REL_POSITIVE << shift_val;
shift_val = player_gang_id + player_gang_id;
gang_relationships[i_gang_id] &= GANG_REL_MASK << shift_val;
gang_relationships[i_gang_id] |= GANG_REL_POSITIVE << shift_val;
print("3) Работает");
//sting_debbag[0] = EOS;
// strcat(save_union_band_one_to_array[playerid], name_band_for_diplamation[interator_name_band]);
// strcat(save_union_band_two_to_array[playerid], my_orgazantion);
// format(sting_debbag, sizeof(sting_debbag), "Cоюз | После | SetPVarString | name_band_one: %s | name_band_two: %s", save_union_band_one_to_array[playerid], save_union_band_two_to_array[playerid]);
//SendClientMessageToAll(-1, sting_debbag);
SPD(playerid,22201,DIALOG_STYLE_INPUT," ","Введите в поле ID Лидера Банды","Ок","Отмена");
format(string_band_union, sizeof(string_band_union), "Вы предложили союз банде %s", name_diplamation[interator_name_band][e_Name]);
SendClientMessage(playerid, COLOR_NEWS, string_band_union);
print("4) Работает");
}
}
}
PHP код:
GetGangID(family_id)
{
switch(family_id)
{
case 12:
return GANG_ID_BALLAS;
case 13:
return GANG_ID_VAGOS;
case 17:
return GANG_ID_AZTECAS;
case 18:
return GANG_ID_RIFA;
}
return -1;
}
PHP код:
if(strcmp(cmd, "/debbuging", true) == 0)
{
new string_debbag[30];
format(string_debbag, sizeof(string_debbag), "%d | %d | %d | %d", gang_relationships[GANG_ID_AZTECAS],
gang_relationships[GANG_ID_VAGOS],
PlayerInfo[playerid][p_members],
PlayerInfo[playerid][p_leaders]);
SendClientMessageToAll(-1, string_debbag);
}
PHP код:
[17:20:50] 8 | 128 | 13 | 13
Заранее спасибо!