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

Вопросы

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

Команда:

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

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

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


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

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

  • 0

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

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

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

 

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


Ссылка на сообщение
  • 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

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

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


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

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

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

    • djxxx
      От djxxx
      приветствую всех.
       
      Задался таким вопросом при добавлении одной системы на DIALOG_STYLE_TABLIST_HEADERS.
       
      Суть проблемы в том, что диалог не выравнивается под нужные показатели, а просто как будто находиться по середине, в диалоге используется \t, но они особо не помогают в решении, также не ровно.
       
      а если попытаться выравнивать большим количеством \t, оно компилируется но в игре происходят вылеты
       
      Код такой:
      DialogAdmShop ( playerid, DIALOG_EPOINTSHOP, DIALOG_STYLE_TABLIST_HEADERS, fmt_str, ""BR"номер\t"BR"наименование\t"BR"доступное действие\n"\ "{EB4C42}#1\t{FFFFFF}Виртуальная валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#2\t{FFFFFF}Донат валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#3\t{FFFFFF}Вип статусы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#4\t{FFFFFF}Кейсы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#5\t{FFFFFF}Уникальные аксессуары\t{888888}нажмите для взаимодействия", "Выбрать", "Закрыть" ); }  
      сток dialogadmshop:
      stock DialogAdmShop(playerid, dialogid, style, title[], text[], button[], button2[]) {   if(style == 5)   {      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "...", "...", "...", "");    }   ShowPlayerDialog(playerid, dialogid, style, title, text, button, button2);   return 1; }