Вопросы

Возникла проблема, не работает команда /giverank Что здесь может работать не так? Заранее спасибо за ответ)
Вот строки кода связанные с этой командой (мод Аризона)
 

CMD:giverank(playerid, params[])
{
    if(PI[playerid][pMember]<=0)return 0;
    if(PI[playerid][pRank] < 9 && PI[playerid][pLeader] == 0) return SCM(playerid, COLOR_RED, !"Отказано в доступе!");
    if(sscanf(params,"ud",params[0],params[1])) return SCM(playerid, COLOR_RED, !"Используйте: /giverank [id] [rank]");
    if(!ProxDetectorS(8.0, playerid, params[0])) return SCM(playerid, COLOR_GREY, !"Вы должны находиться рядом с игроком!");
    if(PI[params[0]][pLeader] > 0 ) return SCM(playerid, COLOR_RED, !"Вы не можете изменять ранг лидеру");
    if(params[1] < 1) return SCM(playerid, COLOR_GREY, !"Нельзя повысить до этого ранга");
    if(Clother[params[0]]!=-1)return 0;
    if(GetPlayerVirtualWorld(playerid)!=GetPlayerVirtualWorld(params[0]))return 0;
    if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GREY, !"Игрок не найден");
    if(PI[playerid][pRank] <= PI[params[0]][pRank]) return SCM(playerid, COLOR_GREY, !"Вы не можете повысить/понизить этого игрока");
    if(PI[playerid][pRank] == 9 && params[1] > 8) return SCM(playerid, COLOR_RED, !"Нельзя выдать ранг больше 8");
    if(params[1] > 9) return SCM(playerid, COLOR_GREY, !"Нельзя повысить до этого ранга");
    if(PI[params[0]][pMember] != PI[playerid][pMember]) return SCM(playerid, COLOR_GREY, !"Игрок находиться в другой организации!");
    str_1[0] = EOS;
    f(str_1,100,"Лидер %s %s до %i ранга",PN(playerid),PI[params[0]][pRank] > params[1] ? ("понизил"):("повысил"),params[1]);
    SCM(params[0],COLOR_LIGHTBLUE,str_1);
    f(str_1,100,"Вы %sи игрока %s до %i ранга",PI[params[0]][pRank] > params[1] ? ("понизил"):("повысил"),PN(params[0]),params[1]);
    SCM(playerid,COLOR_LIGHTBLUE,str_1);
    PI[params[0]][pRank] = params[1];
    UpdatePlayerDataInt(params[0], "Rank", params[1]);
    if(PI[params[0]][pSex] == 2) if(TeamDuty{params[0]}) SetPlayerSkinEx(params[0],GOrgSkins[GetTeamID(params[0])][params[1]]), TogglePlayerControllable(params[0],true);
    else if(TeamDuty{params[0]}) SetPlayerSkinEx(params[0],MOrgSkins[GetTeamID(params[0])][params[1]]), TogglePlayerControllable(params[0],true);
    return 1;
}

Поделиться сообщением


Ссылка на сообщение

5 ответов на этот вопрос

  • 0
  • Пожалуйста объясните вашу проблему по подробнее! 

Поделиться сообщением


Ссылка на сообщение
  • 0

@JAFAR При вводе команды просто ничего не происходит, ни ошибки, ни какого окошка

Поделиться сообщением


Ссылка на сообщение
  • 0

@Yashich попробуй поставить вместо return 0; return SendClientMessage(playerid, -1, "тест 1,2,3 и тд"); или что то типо такого.Также обычно ретурн ставят через пробел,попробуй сделать также.
(онли мои предположения)

Поделиться сообщением


Ссылка на сообщение
  • 0

@Topowich Спасибо! Решил проблему, поставив пробел.

Поделиться сообщением


Ссылка на сообщение
  • 0
В 20.11.2024 в 19:41, Topowich сказал:

попробуй поставить вместо return 0; return SendClientMessage(playerid, -1, "тест 1,2,3 и тд"); или что то типо такого

И таким образом возвращаемое из функции значение станет просто неопределенным на момент компиляции, если возвращаемое значение функции SendClientMessage может варьироваться в зависимости от каких-либо условий.

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Akcent RolePlay
      От Akcent RolePlay
      Akcent RolePlay — многопользовательская онлайн-игра, погружающая игроков в атмосферу Советского Союза, где каждый может ощутить уникальный вкус истории, культуры и общественной жизни этой великой страны. Игра предлагает широкий спектр возможностей для взаимодействия с окружающим миром, включая реализацию ролей, от трудяг на заводах до высокопоставленных партийных чиновников.

      Игроки могут выбирать свои профессии, создавать семьи и участвовать в политической жизни, принимая участие в выборах и обсуждениях, что добавляет элемент стратегии и реализма. Роскошные улицы Москвы в 80-х, многолюдные рынки и уютные дворы становятся идеальной площадкой для серьезных разборок, дружеских встреч и неожиданных событий.

      Кроме того, Akcent RolePlay включает в себя разнообразные квесты, позволяющие познавать не только игровой сюжет, но и элементы настоящей истории, такие как важные события, культурные достижения и социальные изменения того времени. Разнообразие игровых механизмов и глубокая проработка персонажей делают каждую сессию уникальной и насыщенной, погружая игроков в многослойный и яркий мир Советского Союза.

    • Kirill_Boom
      От Kirill_Boom
      Как использовать не могу авторизоваться на сервере