02:08
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
SERVER: Unknown command. Команда срабатывает наполовину.
КрендельДата: Воскресенье, 15.07.2012, 09:22 | Сообщение # 1
Уверенный в себе
Группа: Продвинутые
Сообщений: 216
Награды: 0
Город: :дороГ
Репутация: -8
Замечания: 20%
Статус:
имеется команда
Code
    if(strcmp(cmd, "/222", true) == 0)
{
  OnPropUpdate();
  return 1;
}

Code
public OnPropUpdate()
{
  for(new house = 0; house <= sizeof(HouseInfo); house++)
  {
   new queryForUpdateHouse[512];
   format(queryForUpdateHouse,sizeof(queryForUpdateHouse), "sizeof(HouseInfo) %d", sizeof(HouseInfo));
   SendClientMessage(0, COLOR_YELLOW, queryForUpdateHouse);

    
   format(queryForUpdateHouse,sizeof(queryForUpdateHouse),"UPDATE houses SET\
    hHealthx = %d,\
    hHealthy = %d,\
    hHealthz = %d,\
    hArmourx = %d,\
    hArmoury = %d,\
    hArmourz = %d,\
    hOwner = '%s',\
    hDiscription = '%s',\
    hValue = %d,\
    hHel = %d,\
    hArm = %d,\
    hInt = %d,\
    hLock = %d,\
    hOwned = %d,\
    hRooms = %d,\
    hRent = %d,\
    hRentabil = %d,\
    hTakings = %d,\
    hVec = %d,\
    hVcol1 = %d,\
    hVcol2 = %d,\
    hDate = %d,\
    hLevel = %d,\
    hWorld = %d WHERE ID = %d LIMIT 1",
     HouseInfo[house][hHealthx],
     HouseInfo[house][hHealthy],
     HouseInfo[house][hHealthz],
     HouseInfo[house][hArmourx],
     HouseInfo[house][hArmoury],
     HouseInfo[house][hArmourz],
     HouseInfo[house][hOwner],
     HouseInfo[house][hDiscription],
     HouseInfo[house][hValue],
     HouseInfo[house][hHel],
     HouseInfo[house][hArm],
     HouseInfo[house][hInt],
     HouseInfo[house][hLock],
     HouseInfo[house][hOwned],
     HouseInfo[house][hRooms],
     HouseInfo[house][hRent],
     HouseInfo[house][hRentabil],
     HouseInfo[house][hTakings],
     HouseInfo[house][hVec],
     HouseInfo[house][hVcol1],
     HouseInfo[house][hVcol2],
     HouseInfo[house][hDate],
     HouseInfo[house][hLevel],
     HouseInfo[house][hWorld],
     house);
    mysql_query(queryForUpdateHouse);
  }
  SendClientMessage(0, COLOR_YELLOW, "2");
  for(new business = 0; business <= sizeof(BizzInfo); business++)
  {
   SendClientMessage(0, COLOR_YELLOW, "3");
   new queryForUpdateBusiness[512];
   format(queryForUpdateBusiness,sizeof(queryForUpdateBusiness),"UPDATE business SET \
    bOwned = %d,\
    bOnwer = '%s',\
    bMessage = '%s',\
    bExtortion = '%s',\
    bEntranceX = %d,\
    bEntranceY = %d,\
    bEntranceZ = %d,\
    bExitX = %d,\
    bExitY = %d,\
    bExitZ = %d,\
    bLevelNeeded = %d,\
    bBuyPrice = %d,\
    bEntranceCost = %d,\
    bTill = %d,\
    bLocked = %d,\
    bInterior = %d,\
    bProducts = %d,\
    bMaxProducts = %d,\
    bPriceProd = %d,\
    WHERE ID = %d LIMIT 1",    
    BizzInfo[business][bOwned],   // Занят или продается
    BizzInfo[business][bOwner],   // Хозяин
    BizzInfo[business][bMessage],  // Описание
    BizzInfo[business][bExtortion],  // Заместитель
    BizzInfo[business][bEntranceX],  // Вход X
    BizzInfo[business][bEntranceY],  // Вход Y
    BizzInfo[business][bEntranceZ],  // Вход Z
    BizzInfo[business][bExitX],   // Выход X
    BizzInfo[business][bExitY],   // Выход Y
    BizzInfo[business][bExitZ],   // Выход Z
    BizzInfo[business][bLevelNeeded],    // Уровень
    BizzInfo[business][bBuyPrice],  // Стоимость
    BizzInfo[business][bEntranceCost],    // Стоимость входа
    BizzInfo[business][bTill],   // Деньги бизнеса
    BizzInfo[business][bLocked],   // Заперто или нет
    BizzInfo[business][bInterior],  // ИД интерьера
    BizzInfo[business][bProducts],  // Количество продуктов
    BizzInfo[business][bMaxProducts],    // Максимальное количество продуктов
    BizzInfo[business][bPriceProd],  // ИД пикапа около входа
    business);
   mysql_query(queryForUpdateBusiness);
  }
  SendClientMessage(0, COLOR_YELLOW, "4");
  for(new sbusiness = 0; sbusiness <= sizeof(SBizzInfo); sbusiness++)
  {
   SendClientMessage(0, COLOR_YELLOW, "5");
   new queryForUpdateSBusiness[512];
   format(queryForUpdateSBusiness,sizeof(queryForUpdateSBusiness),"UPDATE sbusiness SET \
    sbOwned = %d,\
    sbOnwer = '%s',\
    sbMessage = '%s',\
    sbExtortion = '%s',\
    sbEntranceX = %d,\
    sbEntranceY = %d,\
    sbEntranceZ = %d,\
    sbLevelNeeded = %d,\
    sbBuyPrice = %d,\
    sbEntranceCost = %d,\
    sbTill = %d,\
    sbLocked = %d,\
    sbInterior = %d,\
    sbProducts = %d,\
    sbMaxProducts = %d,\
    sbPriceProd = %d,\
    WHERE ID = %d LIMIT 1",     
    SBizzInfo[sbusiness][sbOwned],   // Занят или продается
    SBizzInfo[sbusiness][sbOwner],   // Хозяин
    SBizzInfo[sbusiness][sbMessage],  // Описание
    SBizzInfo[sbusiness][sbExtortion],  // Заместитель
    SBizzInfo[sbusiness][sbEntranceX],  // Вход X
    SBizzInfo[sbusiness][sbEntranceY],  // Вход Y
    SBizzInfo[sbusiness][sbEntranceZ],  // Вход Z
    SBizzInfo[sbusiness][sbLevelNeeded],    // Уровень
    SBizzInfo[sbusiness][sbBuyPrice],  // Стоимость
    SBizzInfo[sbusiness][sbEntranceCost],    // Стоимость входа
    SBizzInfo[sbusiness][sbTill],   // Деньги бизнеса
    SBizzInfo[sbusiness][sbLocked],   // Заперто или нет
    SBizzInfo[sbusiness][sbInterior],  // ИД интерьера
    SBizzInfo[sbusiness][sbProducts],  // Количество продуктов
    SBizzInfo[sbusiness][sbMaxProducts],    // Максимальное количество продуктов
    SBizzInfo[sbusiness][sbPriceProd],    // ИД пикапа около входа
    sbusiness);
   mysql_query(queryForUpdateSBusiness);
  }
  SendClientMessage(0, COLOR_YELLOW, "6");
  return 1;
}


В конце паблика OnPlayerCommandText поставил "return SendClientMessage(playerid,COLOR_LIGHTRED,"Неизвестная команда!"); "
При вводе команды /222 в паблике "OnPropUpdate();" срабатывает только первый цикл (7 раз повторяется как и должно быть по кличеству домов) и далее выводится сообщение "SERVER: Unknown command". Другие два цикла не срабатывают.

Вопрос 1: почему не срабатывают оставшиеся два цикла?
Вопрос 2: почему выводится сообщение "SERVER: Unknown command" а не "Неизвестная команда!" ?
Спасибо за внимание и ответы.



生き死に
AlcoholikДата: Воскресенье, 15.07.2012, 09:39 | Сообщение # 2
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
Крендель, скорее всего обращение к несуществующему индексу массива, то есть количество ячеек в массиве меньше цикла. Сам долго ловил этот момент, в итоге ничё не нашёл и забил, команда не важной была, а потом случайно заметил, что обращение вообще идёт к левому массиву.
Quote (Крендель)
почему выводится сообщение "SERVER: Unknown command" а не "Неизвестная команда!" ?

Потому что, когда ты пишешь команду, у тебя вызывается Onplayercommandtext, там идут условия на поиск строки, когда он находит команду, он её проходит и видит
Quote (Крендель)
SendClientMessage(0, COLOR_YELLOW, "6");   return 1;

После return 1 он выйдет из поиска и всё. В твоём случае SERVER: Unknown command это не неизвестная команда, а ошибка внутри команды.
Неизвестная команда сработает только в том случае, когда onplayercommandtext пройдёт до конца, а сделает он это в твоём случае, если ни одну команду не встретит нужную. Можешь попробовать убрать ретурн из команды и посмотреть. В теории он должен дальше идти искать и в итоге дойти до "Неизвестная команда!". (Если он не встретил по пути ещё команду, которая подойдёт к условию)



if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
КрендельДата: Воскресенье, 15.07.2012, 09:51 | Сообщение # 3
Уверенный в себе
Группа: Продвинутые
Сообщений: 216
Награды: 0
Город: :дороГ
Репутация: -8
Замечания: 20%
Статус:
RoACh, Спасибо, помогли )) Проблема во всех циклах была в условии завершения циклов...везде стояло "<=", а надо было просто "<"


生き死に
AlcoholikДата: Воскресенье, 15.07.2012, 12:14 | Сообщение # 4
Мастер джэдай
Группа: Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус:
Тогда закрываю)


if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die();
Мониторинг sa:mp серверов


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua