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

 



 
        
[SA-MP] Hosted Tab (119)
DieSeL 23.09.2017 14:53
GTA IV Mod Installer (5)
jasper2 23.09.2017 02:50
 





Рекомендуем:
Добавить IP: 95.172.59.51:7777





Последние Файлы 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
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
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 1 из 11
Модератор форума: AXE, Weddew 
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » SERVER: Unknown command. Команда срабатывает наполовину.
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
Группа: Администратор
Сообщений: 8287
Награды: 111
Город: Санкт-Петербург
Репутация: 5945
Статус:
Крендель, скорее всего обращение к несуществующему индексу массива, то есть количество ячеек в массиве меньше цикла. Сам долго ловил этот момент, в итоге ничё не нашёл и забил, команда не важной была, а потом случайно заметил, что обращение вообще идёт к левому массиву.
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
Группа: Администратор
Сообщений: 8287
Награды: 111
Город: Санкт-Петербург
Репутация: 5945
Статус:
Тогда закрываю)


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


Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги.
Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » SERVER: Unknown command. Команда срабатывает наполовину.
Страница 1 из 11
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM