23.07.2015, 22:06
Залогировал значения, но ошибки не вижу.
Код:
PHP код:
20:46:14] inputtext: Los Santos Vagos | name_diplamation[interator_name_band][e_Name]: The Ballas
[20:46:14] 1) Работает
[20:46:14] inputtext: Los Santos Vagos | name_diplamation[interator_name_band][e_Name]: Los Santos Vagos
[20:46:14] 2) Работает
[20:46:14] i_gang_id: 1 | player_gang_id: 3
[20:46:14] 1) shift_val: 2
[20:46:14] 1) gang_relationships[player_gang_id]: 0
GANG_REL_MASK: -4
shift_val: 2
[20:46:14] 2) gang_relationships[player_gang_id]: 8
GANG_REL_MASK: -4
shift_val: 2
[20:46:14] 2) shift_val: 6
[20:46:14] 1) gang_relationships[i_gang_id]: 0
GANG_REL_MASK: -4
shift_val: 6
[20:46:14] 2) gang_relationships[i_gang_id]: 128
GANG_REL_MASK: -4
shift_val: 6
[20:46:14] 3) Работает
[20:46:14] 4) Работает
[20:46:14] inputtext: Los Santos Vagos | name_diplamation[interator_name_band][e_Name]: Grove Street
[20:46:14] 1) Работает
[20:46:14] inputtext: Los Santos Vagos | name_diplamation[interator_name_band][e_Name]: Varios Los Aztecas
[20:46:14] 1) Работает
[20:46:14] inputtext: Los Santos Vagos | name_diplamation[interator_name_band][e_Name]: The Rifa
[20:46:14] 1) Работает
PHP код:
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]);
printf("i_gang_id: %d | player_gang_id: %d", i_gang_id, player_gang_id);
// ID другой банды - в переменной i
new shift_val = i_gang_id + i_gang_id;
printf("1) shift_val: %d", shift_val);
gang_relationships[player_gang_id] &= GANG_REL_MASK << shift_val;
printf("1) gang_relationships[player_gang_id]: %d \n GANG_REL_MASK: %d \n shift_val: %d", gang_relationships[player_gang_id], GANG_REL_MASK, shift_val);
gang_relationships[player_gang_id] |= GANG_REL_POSITIVE << shift_val;
printf("2) gang_relationships[player_gang_id]: %d \n GANG_REL_MASK: %d \n shift_val: %d", gang_relationships[player_gang_id], GANG_REL_MASK, shift_val);
shift_val = player_gang_id + player_gang_id;
printf("2) shift_val: %d", shift_val);
gang_relationships[i_gang_id] &= GANG_REL_MASK << shift_val;
printf("1) gang_relationships[i_gang_id]: %d \n GANG_REL_MASK: %d \n shift_val: %d", gang_relationships[i_gang_id], GANG_REL_MASK, shift_val);
gang_relationships[i_gang_id] |= GANG_REL_POSITIVE << shift_val; // Судя по всему ошибка в этой строке
printf("2) gang_relationships[i_gang_id]: %d \n GANG_REL_MASK: %d \n shift_val: %d", gang_relationships[i_gang_id], GANG_REL_MASK, shift_val);
print("3) Работает");
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) Работает");
}