PDA

Просмотр полной версии : [Вопрос] Помогите оптимизировать код



Gressie
09.06.2014, 04:51
Приветствую. Не подскажите? Как можно максимально оптимизировать и сократить данный код:

case 5859:
{
new vsegostr = PlayerInfo[playerid][pVsegostr];
new stranica = PlayerInfo[playerid][pStranica];
if(!response) return ShowPlayerDialog(playerid,5858,DIALOG_STYLE_LIST,"OFFMEMBERS","- Весь состав\n- По рангу","Далее","Отмена");
if(PlayerInfo[playerid][pOrderRank] == 0)
{
switch(listitem)
{
case 0:
{
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 1:
{
if(stranica == 0) return 1;
if(vsegostr == 1) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 2:
{
if(stranica == 0) return 1;
if(vsegostr == 2) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 3:
{
if(stranica == 0) return 1;
if(vsegostr == 3) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 4:
{
if(stranica == 0) return 1;
if(vsegostr == 4) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 5:
{
if(stranica == 0) return 1;
if(vsegostr == 5) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 6:
{
if(stranica == 0) return 1;
if(vsegostr == 6) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 7:
{
if(stranica == 0) return 1;
if(vsegostr == 7) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 8:
{
if(stranica == 0) return 1;
if(vsegostr == 8) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 9:
{
if(stranica == 0) PlayerInfo[playerid][pStranica] += 8;
if(vsegostr == 9 && stranica > 0) PlayerInfo[playerid][pStranica] -= 8;
if(vsegostr == 10 && stranica > 0) PlayerInfo[playerid][pStranica] += 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 10:
{
switch(stranica)
{
default:
{
PlayerInfo[playerid][pStranica] -= 8;
}
}
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
}
}
else
{
switch(listitem)
{
case 0:
{
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 1:
{
if(stranica == 0) return 1;
if(vsegostr == 1) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 2:
{
if(stranica == 0) return 1;
if(vsegostr == 2) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 3:
{
if(stranica == 0) return 1;
if(vsegostr == 3) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 4:
{
if(stranica == 0) return 1;
if(vsegostr == 4) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 5:
{
if(stranica == 0) return 1;
if(vsegostr == 5) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 6:
{
if(stranica == 0) return 1;
if(vsegostr == 6) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 7:
{
if(stranica == 0) return 1;
if(vsegostr == 7) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 8:
{
if(stranica == 0) return 1;
if(vsegostr == 8) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 9:
{
if(stranica == 0) PlayerInfo[playerid][pStranica] += 8;
if(vsegostr == 9 && stranica > 0) PlayerInfo[playerid][pStranica] -= 8;
if(vsegostr == 10 && stranica > 0) PlayerInfo[playerid][pStranica] += 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 10:
{
switch(PlayerInfo[playerid][pStranica])
{
default:
{
PlayerInfo[playerid][pStranica] -= 8;
}
}
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
}
}
ShowPlayerDialogUninvite(playerid, inputtext);
}

underwoker
09.06.2014, 07:04
Приветствую. Не подскажите? Как можно максимально оптимизировать и сократить данный код:

case 5859:
{
new vsegostr = PlayerInfo[playerid][pVsegostr];
new stranica = PlayerInfo[playerid][pStranica];
if(!response) return ShowPlayerDialog(playerid,5858,DIALOG_STYLE_LIST,"OFFMEMBERS","- Весь состав\n- По рангу","Далее","Отмена");
if(PlayerInfo[playerid][pOrderRank] == 0)
{
switch(listitem)
{
case 0:
{
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 1:
{
if(stranica == 0) return 1;
if(vsegostr == 1) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 2:
{
if(stranica == 0) return 1;
if(vsegostr == 2) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 3:
{
if(stranica == 0) return 1;
if(vsegostr == 3) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 4:
{
if(stranica == 0) return 1;
if(vsegostr == 4) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 5:
{
if(stranica == 0) return 1;
if(vsegostr == 5) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 6:
{
if(stranica == 0) return 1;
if(vsegostr == 6) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 7:
{
if(stranica == 0) return 1;
if(vsegostr == 7) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 8:
{
if(stranica == 0) return 1;
if(vsegostr == 8) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 9:
{
if(stranica == 0) PlayerInfo[playerid][pStranica] += 8;
if(vsegostr == 9 && stranica > 0) PlayerInfo[playerid][pStranica] -= 8;
if(vsegostr == 10 && stranica > 0) PlayerInfo[playerid][pStranica] += 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 10:
{
switch(stranica)
{
default:
{
PlayerInfo[playerid][pStranica] -= 8;
}
}
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
}
}
else
{
switch(listitem)
{
case 0:
{
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 1:
{
if(stranica == 0) return 1;
if(vsegostr == 1) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 2:
{
if(stranica == 0) return 1;
if(vsegostr == 2) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 3:
{
if(stranica == 0) return 1;
if(vsegostr == 3) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 4:
{
if(stranica == 0) return 1;
if(vsegostr == 4) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 5:
{
if(stranica == 0) return 1;
if(vsegostr == 5) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 6:
{
if(stranica == 0) return 1;
if(vsegostr == 6) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 7:
{
if(stranica == 0) return 1;
if(vsegostr == 7) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 8:
{
if(stranica == 0) return 1;
if(vsegostr == 8) PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 9:
{
if(stranica == 0) PlayerInfo[playerid][pStranica] += 8;
if(vsegostr == 9 && stranica > 0) PlayerInfo[playerid][pStranica] -= 8;
if(vsegostr == 10 && stranica > 0) PlayerInfo[playerid][pStranica] += 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 10:
{
switch(PlayerInfo[playerid][pStranica])
{
default:
{
PlayerInfo[playerid][pStranica] -= 8;
}
}
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
}
}
ShowPlayerDialogUninvite(playerid, inputtext);
}

Сократить - не есть оптимизировать.

DeimoS
09.06.2014, 07:46
Сократить - не есть оптимизировать.

Точнее, не всегда "сократить" является оптимизацией. Вот в этом случае, например, можно убрать создание 2-х переменных и уже освободим и память, и тики процессора


Автор, вот эти переменные в топку

new vsegostr = PlayerInfo[playerid][pVsegostr];
new stranica = PlayerInfo[playerid][pStranica];
и всё их использование замените на нормальные вызовы массивов. Это максимум, что тут можно сделать

Seregamil
09.06.2014, 08:15
Это максимум, что тут можно сделать
Привет индусам.


if( PlayerInfo[playerid][pOrderRank] == 0 ){
switch( listitem ){
case 0:{
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 1..8:{
if( stranica == 0 ) return true;
if( vsegostr == listitem ) PlayerInfo[playerid][pStranica] -= 8;
PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 9:{
if(stranica == 0) PlayerInfo[playerid][pStranica] += 8;
if(vsegostr == 9 && stranica > 0) PlayerInfo[playerid][pStranica] -= 8;
if(vsegostr == 10 && stranica > 0) PlayerInfo[playerid][pStranica] += 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 10:{
PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
}
}
else{
switch( listitem ){
case 0:{
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 1..8:{
if( stranica == 0 ) return true;
if( vsegostr == listitem ) PlayerInfo[playerid][pStranica] -= 8;
PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 9:{
if(stranica == 0) PlayerInfo[playerid][pStranica] += 8;
if(vsegostr == 9 && stranica > 0) PlayerInfo[playerid][pStranica] -= 8;
if(vsegostr == 10 && stranica > 0) PlayerInfo[playerid][pStranica] += 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 10:{
PlayerInfo[playerid][pStranica] -= 8;
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
}
}

Мой быдлокод тоже можно оптимизировать.

DeimoS
09.06.2014, 09:12
Привет индусам.

Ой, ну раз пошла такая пьянка, держите

case 5859:
{
if(!response) return ShowPlayerDialog(playerid,5858,DIALOG_STYLE_LIST,"OFFMEMBERS","- Весь состав\n- По рангу","Далее","Отмена");
switch(listitem)
{
case 0..8:
{
if(!PlayerInfo[playerid][pStranica] && listitem) return 1;
if(1 <= PlayerInfo[playerid][pVsegostr] <= 8 && listitem) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] -= 8;
if(!PlayerInfo[playerid][pOrderRank]) mysql_format(dbHandle, strings, sizeof(string), "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
else mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 9:
{
if(!PlayerInfo[playerid][pStranica]) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] += 8;
else
{
if(PlayerInfo[playerid][pVsegostr] == 9) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] -= 8;
else if(PlayerInfo[playerid][pVsegostr] == 10) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] += 8;
}
if(!PlayerInfo[playerid][pOrderRank]) mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
else mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 10:
{
PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] -= 8;
if(!PlayerInfo[playerid][pOrderRank]) mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
else mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
}
ShowPlayerDialogUninvite(playerid, inputtext);
}
Я мог бы стать богом оптимизации на п-и, ведь смотри сколько строк стало!

И да, автор темы, что за функция ShowPlayerDialogUninvite?

underwoker
09.06.2014, 13:11
гы, битва оптимизаторов. :good:

Gressie
09.06.2014, 15:52
А я думал что можно сделать примерно вот так:

stock IDCaseRank(playerid, id, idc)
{
new vsegostr = PlayerInfo[playerid][pVsegostr];
new stranica = PlayerInfo[playerid][pStranica];
if(stranica == 0) PlayerInfo[playerid][pStranica] += 8;
else
{
switch(idc)
{
case 1..9: PlayerInfo[playerid][pStranica] -= 8;
case 10: PlayerInfo[playerid][pStranica] += 8;
default: PlayerInfo[playerid][pStranica] += 8;
}
}
if(id == 0)
{
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
}
else
{
mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
}
}

Ой, ну раз пошла такая пьянка, держите

case 5859:
{
if(!response) return ShowPlayerDialog(playerid,5858,DIALOG_STYLE_LIST,"OFFMEMBERS","- Весь состав\n- По рангу","Далее","Отмена");
switch(listitem)
{
case 0..8:
{
if(!PlayerInfo[playerid][pStranica] && listitem) return 1;
if(1 <= PlayerInfo[playerid][pVsegostr] <= 8 && listitem) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] -= 8;
if(!PlayerInfo[playerid][pOrderRank]) mysql_format(dbHandle, strings, sizeof(string), "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
else mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 9:
{
if(!PlayerInfo[playerid][pStranica]) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] += 8;
else
{
if(PlayerInfo[playerid][pVsegostr] == 9) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] -= 8;
else if(PlayerInfo[playerid][pVsegostr] == 10) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] += 8;
}
if(!PlayerInfo[playerid][pOrderRank]) mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
else mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
case 10:
{
PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] -= 8;
if(!PlayerInfo[playerid][pOrderRank]) mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
else mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
return true;
}
}
ShowPlayerDialogUninvite(playerid, inputtext);
}
Я мог бы стать богом оптимизации на п-и, ведь смотри сколько строк стало!

И да, автор темы, что за функция ShowPlayerDialogUninvite?


stock ShowPlayerDialogUninvite(playerid, inputtext[])
{
new string[128], no, rank;
sscanf(inputtext, "i i s[24]", no, rank, PlayerInfo[playerid][pUninvite]);
format(string, sizeof(string), "{FFFFFF}Вы действительно хотите уволить {7FB151}%s {FFFFFF}из своей организации?", PlayerInfo[playerid][pUninvite]);
ShowPlayerDialog(playerid, 5860, DIALOG_STYLE_MSGBOX, "OFFMEMBERS", string, "Нет", "Да");
}

Gressie
09.06.2014, 16:37
DeimoS, теперь /offmembers работает но не корректно, вместе с перелистыванием страниц их даже теперь нету, и увольнять игрока нельзя.
Ничего не менял, вставил и исправил только ошибки.

Seregamil
09.06.2014, 17:02
DeimoS, теперь /offmembers работает но не корректно, вместе с перелистыванием страниц их даже теперь нету, и увольнять игрока нельзя.
Ничего не менял, вставил и исправил только ошибки.

Что с моим вариантом

Gressie
09.06.2014, 17:21
Что с моим вариантом

Такая же проблема и с тобой только теперь в твоём варианте ещё и показывает лидера...

OKStyle
09.06.2014, 21:16
Боги оптимизации :rofl:


case 5859:
{
if(!response) return ShowPlayerDialog(playerid, 5858, DIALOG_STYLE_LIST, "OFFMEMBERS", "- Весь состав\n- По рангу", "Далее", "Отмена");
if(1 <= listitem <= 8)
{
if(PlayerInfo[playerid][pStranica] == 0) return 1;
if(PlayerInfo[playerid][pVsegostr] == listitem) PlayerInfo[playerid][pStranica] -= 8;
}
else if(listitem == 9)
{
if(PlayerInfo[playerid][pStranica] == 0) PlayerInfo[playerid][pStranica] += 8;
if(PlayerInfo[playerid][pStranica] > 0)
{
if(PlayerInfo[playerid][pVsegostr] == 9) PlayerInfo[playerid][pStranica] -= 8;
else if(PlayerInfo[playerid][pVsegostr] == 10) PlayerInfo[playerid][pStranica] += 8;
}
}
else if(listitem == 10) PlayerInfo[playerid][pStranica] -= 8;
if(listitem == 0) mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
else
{
if(!PlayerInfo[playerid][pOrderRank]) mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
else mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
}
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
ShowPlayerDialogUninvite(playerid, inputtext);
return 1;
}

Gressie
09.06.2014, 22:33
Боги оптимизации :rofl:


case 5859:
{
if(!response) return ShowPlayerDialog(playerid, 5858, DIALOG_STYLE_LIST, "OFFMEMBERS", "- Весь состав\n- По рангу", "Далее", "Отмена");
if(1 <= listitem <= 8)
{
if(PlayerInfo[playerid][pStranica] == 0) return 1;
if(PlayerInfo[playerid][pVsegostr] == listitem) PlayerInfo[playerid][pStranica] -= 8;
}
else if(listitem == 9)
{
if(PlayerInfo[playerid][pStranica] == 0) PlayerInfo[playerid][pStranica] += 8;
if(PlayerInfo[playerid][pStranica] > 0)
{
if(PlayerInfo[playerid][pVsegostr] == 9) PlayerInfo[playerid][pStranica] -= 8;
else if(PlayerInfo[playerid][pVsegostr] == 10) PlayerInfo[playerid][pStranica] += 8;
}
}
else if(listitem == 10) PlayerInfo[playerid][pStranica] -= 8;
if(listitem == 0) mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
else
{
if(!PlayerInfo[playerid][pOrderRank]) mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
else mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
}
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
ShowPlayerDialogUninvite(playerid, inputtext);
return 1;
}

Не работает увольнение, как и во всех остальных вариантах, и появился лидер в списке (В стандарте моём этого не было).

OKStyle
09.06.2014, 22:46
А как увольнение относится к представленному коду? А лидер в списке и должен появляться, судя по коду. Просто из-за его кривизны у тебя он не показывался. Там где listitem == 0.

Gressie
09.06.2014, 23:02
А как увольнение относится к представленному коду? А лидер в списке и должен появляться, судя по коду. Просто из-за его кривизны у тебя он не показывался. Там где listitem == 0.
До этого в том стандарт коде, я щёлкаю по нику и диалог типа: Вы хотите уволить ... ?
Теперь его попросту нету, щелкаю по нику и ничего не происходит а хотя:

ShowPlayerDialogUninvite(playerid, inputtext);
Отвечает за увольнение его.

OKStyle
09.06.2014, 23:09
if(PlayerInfo[playerid][pStranica] == 0) return 1;
if(PlayerInfo[playerid][pVsegostr] == listitem) PlayerInfo[playerid][pStranica] -= 8;
Замени на:

if(PlayerInfo[playerid][pStranica] != 0)
{
if(PlayerInfo[playerid][pVsegostr] == listitem) PlayerInfo[playerid][pStranica] -= 8;
}

Gressie
09.06.2014, 23:52
if(PlayerInfo[playerid][pStranica] == 0) return 1;
if(PlayerInfo[playerid][pVsegostr] == listitem) PlayerInfo[playerid][pStranica] -= 8;
Замени на:

if(PlayerInfo[playerid][pStranica] != 0)
{
if(PlayerInfo[playerid][pVsegostr] == listitem) PlayerInfo[playerid][pStranica] -= 8;
}
Ничего не происходит.

- - - Добавлено - - -

Никто не знает?

DeimoS
09.06.2014, 23:59
Эмм, удивляюсь тому, как вообще раньше ваш код работал... Столько возвратов...

case 5859:
{
if(!response) return ShowPlayerDialog(playerid,5858,DIALOG_STYLE_LIST,"OFFMEMBERS","- Весь состав\n- По рангу","Далее","Отмена");
switch(listitem)
{
case 1..8:
{
if(!PlayerInfo[playerid][pStranica]) return 1;
if(1 <= PlayerInfo[playerid][pVsegostr] <= 8) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] -= 8;
}
case 9:
{
if(!PlayerInfo[playerid][pStranica]) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] += 8;
else
{
if(PlayerInfo[playerid][pVsegostr] == 9) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] -= 8;
else if(PlayerInfo[playerid][pVsegostr] == 10) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] += 8;
}
}
case 10: PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] -= 8;
}
if(!PlayerInfo[playerid][pOrderRank]) mysql_format(dbHandle, strings, sizeof(string), "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
else mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
ShowPlayerDialogUninvite(playerid, inputtext);
return 1;
}

J-Ex
10.06.2014, 00:10
Я не вкуриваю, откуда тут inputtext, если это dialog_style_list?


ShowPlayerDialogUninvite(playerid, inputtext);

Я мб совсем не понял тебя, но этот диалог должен быть в коллбэке, в котором будет загружаться никнейм и ранг для диалога.

DeimoS
10.06.2014, 00:12
Я не вкуриваю, откуда тут inputtext, если это dialog_style_list?


ShowPlayerDialogUninvite(playerid, inputtext);

Я мб совсем не понял тебя, но этот диалог должен быть в коллбэке, в котором будет загружаться никнейм и ранг для диалога.

Inputtext будет хранить содержание строки, которую выбрал игрок. То бишь, если будет такой диалог

1) Один
2) Два
3) Три
И игрок нажмёт на второй пункт, подобны код:

if(listitem == 1) printf("%s",inputtext);
отобразит в консоль "2) Два"

J-Ex
10.06.2014, 00:27
Это то ясно, я чёт туплю прост, логику кода не пойму =/

OnPlayerSelectOffmembers для полной картины не хватает :(

Gressie
10.06.2014, 00:39
Это то ясно, я чёт туплю прост, логику кода не пойму =/

OnPlayerSelectOffmembers для полной картины не хватает :(
Зачем вам это?

- - - Добавлено - - -


Эмм, удивляюсь тому, как вообще раньше ваш код работал... Столько возвратов...

case 5859:
{
if(!response) return ShowPlayerDialog(playerid,5858,DIALOG_STYLE_LIST,"OFFMEMBERS","- Весь состав\n- По рангу","Далее","Отмена");
switch(listitem)
{
case 1..8:
{
if(!PlayerInfo[playerid][pStranica]) return 1;
if(1 <= PlayerInfo[playerid][pVsegostr] <= 8) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] -= 8;
}
case 9:
{
if(!PlayerInfo[playerid][pStranica]) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] += 8;
else
{
if(PlayerInfo[playerid][pVsegostr] == 9) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] -= 8;
else if(PlayerInfo[playerid][pVsegostr] == 10) PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] += 8;
}
}
case 10: PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]] -= 8;
}
if(!PlayerInfo[playerid][pOrderRank]) mysql_format(dbHandle, strings, sizeof(string), "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
else mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pPlayerInfo[playerid][pStranica]]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
ShowPlayerDialogUninvite(playerid, inputtext);
return 1;
}
Теперь Pawn вылетает.

OKStyle
10.06.2014, 07:12
Ну и так попробуй... Мне кажется, вообще не в этом коде дело...


case 5859:
{
if(!response) return ShowPlayerDialog(playerid, 5858, DIALOG_STYLE_LIST, "OFFMEMBERS", "- Весь состав\n- По рангу", "Далее", "Отмена");
if(1 <= listitem <= 8)
{
if(PlayerInfo[playerid][pVsegostr] == listitem && listitem != 0) PlayerInfo[playerid][pStranica] -= 8;
}
else if(listitem == 9)
{
if(PlayerInfo[playerid][pStranica] == 0) PlayerInfo[playerid][pStranica] += 8;
if(PlayerInfo[playerid][pStranica] > 0)
{
if(PlayerInfo[playerid][pVsegostr] == 9) PlayerInfo[playerid][pStranica] -= 8;
else if(PlayerInfo[playerid][pVsegostr] == 10) PlayerInfo[playerid][pStranica] += 8;
}
}
else if(listitem == 10) PlayerInfo[playerid][pStranica] -= 8;
if(!PlayerInfo[playerid][pOrderRank]) mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
else mysql_format(dbHandle, strings, 128, "SELECT * FROM `accounts` WHERE `Member` = '%d' ORDER BY `accounts`.`Rank` ASC LIMIT %d , 8", PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pStranica]);
mysql_function_query(dbHandle, strings, true, "OnPlayerSelectOffmembers", "i", playerid);
ShowPlayerDialogUninvite(playerid, inputtext);
return 1;
}

DeimoS
10.06.2014, 08:25
Теперь Pawn вылетает.

Эмм, ничего не должно вылетать. Скобок ровно столько открывается, сколько и закрывается. Это уже вы как-то не так, видимо, вставляете.
Распишите предназначение каждой переменной. А то эта попытка слепо оптимизировать систему может затянуться надолго

Gressie
10.06.2014, 12:21
Вот самого себя уволить могу. (И то пишет ошибку что я онлайн то есть если я в списке /offmembers последний то я и могу уволить последнего.) Других игроков не могу.


DeimoS, говори что скинуть. Я скину.

DeimoS
10.06.2014, 13:13
За что отвечают переменные?

PlayerInfo[playerid][pStranica]
PlayerInfo[playerid][pVsegostr]
PlayerInfo[playerid][pOrderRank]
И как вообще должен работать код? При каких условиях закрываться и т.п.

Gressie
10.06.2014, 14:50
PlayerInfo[playerid][pVsegostr]

Отвечает за все страницы.


PlayerInfo[playerid][pStranica]
Отвечает за страницы.

DeimoS
10.06.2014, 15:00
А по какому принципу формируются страницы? Точнее, должны формироваться (например: на 1 странице 10 пунктов. Если страниц больше 10 - закрываем диалог. И т.п.)

Gressie
14.06.2014, 03:10
А по какому принципу формируются страницы? Точнее, должны формироваться (например: на 1 странице 10 пунктов. Если страниц больше 10 - закрываем диалог. И т.п.)

Может лучше систему скинуть, в скайп?

Spectrum
14.06.2014, 09:45
сокращать - не есть оптимизировать, цель оптимизации - сделать чтобы тот или иной участок кода работал быстрее
а вообще - купите ресурсы(дедик например) и забудьте об опимизации :D

- - - Добавлено - - -


Может лучше систему скинуть, в скайп?

а оно ему надо?