Если Вы нашли ответ на вопрос, пожалуйста, пометьте необходимый ответ лучшим (галочка сбоку от сообщения) и поблагодарите автора этого ответа поднятием репутации (плюс в нижней правой части сообщения). Спасибо.
Подробнее:
FAQ по форуму
Как пометить ответ лучшим

Вопросы

Помогите не работает команда /invite

Команда:

  Команда (открыть спойлер)

Отредактировано пользователем stibs
Причина: Спойлер

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


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

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

  • 0

Во-первых, копируйте на русской раскладке из pawno, 

Во-вторых, что именно не работает ? Вообще ничего не происходит? 

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


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

Вот это мне на русском языке предоставьте:

new string[256];
SendMes(playerid,COLOR_BLUE,"Âû ïðåäëîæèëè %s ïðèñîåäèíèòüñÿ â âàøó îðãàíèçàöèþ",GetName(targetid));
format(string,sizeof(string),"%s %s ïðåäëàãàåò âàì ïðèñîåäèíèòüñÿ ê \"%s\"\n\nÂû ñîãëàñíû?",Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), Fraction_Name[PI[playerid][pMember]]);
ShowPlayerDialog(targetid, D_INVITEFRAC, 0, "{ffa500}Âñòóïëåíèå âî ôðàêöèþ",string,"Äà","Íåò");
SetPVarInt(targetid, "offerfractionid", PI[playerid][pMember]);
SetPVarInt(targetid, "offerplayer", playerid);
SetPVarInt(playerid, "actplayerid", params[0]);

 

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


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

@stibs 

	new string[256];
	SendMes(playerid,COLOR_BLUE,"Вы предложили %s присоединиться в вашу организацию",GetName(targetid));
	format(string,sizeof(string),"%s %s предлагает вам присоединиться к \"%s\"\n\nВы согласны?",Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), Fraction_Name[PI[playerid][pMember]]);
	ShowPlayerDialog(targetid, D_INVITEFRAC, 0, "{ffa500}Вступление во фракцию",string,"Да","Нет");
	SetPVarInt(targetid, "offerfractionid", PI[playerid][pMember]);
	SetPVarInt(targetid, "offerplayer", playerid);
	SetPVarInt(playerid, "actplayerid", params[0]);

 

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


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

Массив FractionName скиньте. И, да, оно только так выводит в чат или еще и принимает во фракцию "Нет"?

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


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

@stibs 

  Код (открыть спойлер)

Отредактировано пользователем stibs
Причина: спойлер

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


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

В конец команды invite добавьте:

printf("id member = %d", PI[playerid][pMember]);

Потом используйте команду и выложите логи.

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


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

@stibs 

  Логи (открыть спойлер)

 

Отредактировано пользователем stibs
Причина: спойлер

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


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

Странно, однако, в команде и в диалоге ошибок никаких нет. 
Замените свою команду этой и попробуйте еще раз. И опять выложите логи. 

  Код (открыть спойлер)

 

Отредактировано пользователем stibs

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


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

Скиньте полный текст, который пишет при принятии. И, да, фаркция игроку выдается ? В статистике у него потом отображается название фракции?

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


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

Диалог D_INVITESKIN замените тем, который я скину, и вновь скиньте логи. Вообще, в нем ошибок тоже нет.

case D_INVITESKIN:
{
    if(!response) return 1;
    new actplayerid = GetPVarInt(playerid, "actplayerid");
    new fractionid = PI[playerid][pMember];
    new skinid = Fraction_Skin[fractionid][listitem];
    PI[actplayerid][pMember] = fractionid;
    PI[actplayerid][pRank] = 1;
    PI[actplayerid][pMemberSkin] = skinid;
    SetPlayerSkin(actplayerid, skinid);
    PI[actplayerid][pJob] = 0;
    SetPlayerColorEx(actplayerid, TeamColors[GetTeamID(actplayerid)]);
    ResetPlayerWeaponsAC(actplayerid);
    new string[256];
    format(string, sizeof(string), "[F] %s %s[%d] принял в организацию %s[%d]",Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]),PI[playerid][pName],playerid,PI[actplayerid][pName],actplayerid);
    SendFMes(PI[playerid][pMember], COLOR_YELLOW2, string);
    SendMes(actplayerid, COLOR_BLUE, "Вы присоединились к организации \"%s\"", Fraction_Name[fractionid]);
    SendMes(playerid, COLOR_BLUE, "%s принял предложение присоединиться к \"%s\"", GetName(actplayerid), Fraction_Name[fractionid]);
    printf("actplayerid = %d, fractionid = %d, fractionname = %s", actplayerid, fractionid, Fraction_Name[fractionid]);
}

 

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


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

@stibs 

[11:04:50] id member = 1
[11:04:50] id invited = 2
[11:04:51] actplayerid = 50, fractionid = 1, fractionname = Правительство
[11:04:55] id member = 1
[11:04:55] id invited = 2
[11:04:57] actplayerid = 50, fractionid = 1, fractionname = Правительство

Но не принимает что бы не писалось в скобках

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


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

@Daniil Roslyakov Вот мы и нашли ошибку. Ошибка в том, что неверное значение у PVaR "actplayerid". 50 ид на сервере, как я полагаю, не было. В будущем бы это вызвало большие проблемы. 

Команду попробуйте заменить этой, проблем быть не должно. 

  Код (открыть спойлер)

 

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


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

@stibs Спасибо!!! Только на этом форме быстро решили проблему! А на сторонем был ждал 3 дня и 1 ответ неверный

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


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

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

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

    • Dev_Persona
      От Dev_Persona
      Приветствую всех, у меня возник такой вопрос:
       
      - хочу изменить базовую регистрацию в админке в крмп, на Болле сложную то-есть, сейчас изначально пароль от админки может быть только из цифр, хотелось бы узнать как можно было бы сделать что бы можно было использовать и цифры и буквы, вот код:
       
      case DIALOG_ADMIN_REG:
         {
          if(!response) return FixKick(playerid);
       
          if(strval(inputtext) < 100000 || strval(inputtext) > 999999) return ShowPlayerDialog(playerid, DIALOG_ADMIN_REG, DIALOG_STYLE_INPUT, "{FF6347}"PROJECT_NAME" {ffffff}| Придумайте пароль", "{FFFFFF}Для того, чтобы продолжить дальше - придумайте и введите\n{FFFFFF}пароль от панели администратора в диалоговое поле ниже.\n\n{FFFFFF}Пароль должен быть из 6 цифр.\n", "Готово", "");
                   SetPlayerData(playerid, P_APASS, strval(inputtext));
       
                   UpdatePlayerDatabaseInt(playerid, "AdminPassword", GetPlayerData(playerid, P_APASS));
       
                   AdminAuthorization(playerid);
         }