SayText2 - params

uhx

Участник
Сообщения
20
Реакции
0
C-подобный:
PbReadString reported: Invalid field "params" for message "CCSUsrMsg_SayText2"
C-подобный:
public Action:OnSayText2(UserMsg:msg_id, Handle:bf, const players[], playersNum, bool:reliable, bool:init){
	decl String:sType[32];
	decl String:sName[64];
	decl String:sText[256];
	new Handle:data = CreateDataPack();
	
	WritePackCell(data, PbReadInt(bf, "ent_idx"));
	WritePackCell(data, playersNum);
	
	for(new i = 0; i < playersNum; i++){
		WritePackCell(data, players[i]);
	}
	
	WritePackCell(data, PbReadBool(bf, "chat"));
	
	PbReadString(bf, "msg_name", sType, sizeof(sType));
	WritePackString(data, sType);
	
	PbReadString(bf, "params", sName, sizeof(sName));
	WritePackString(data, sName);
	
	PbReadString(bf, "params", sText, sizeof(sText));
	WritePackString(data, sText);
	
	CreateTimer(0, ResendMessage, data);
	
	return Plugin_Handled;
}
Что не так то? ._.
Смотрю здесь:
C-подобный:
Name:	SayText2
Structure:	
int32			ent_idx	
bool			chat	
string			msg_name	
[B][COLOR="Red"]repeated string		params[/COLOR][/B]
bool			textallchat
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2
PbReadString(bf, "params", sText, sizeof(sText));
PHP:
PbReadString(bf, "params", sText, sizeof(sText), 0);
Хотя.. такжется так:
PHP:
PbReadRepeatedString(bf, "params", 0, sText, sizeof(sText)); // ник
PbReadRepeatedString(bf, "params", 1, sText, sizeof(sText)); // сообщение
 

uhx

Участник
Сообщения
20
Реакции
0
R1KO,
C-подобный:
Syntax:
native Handle:PbReadRepeatedMessage(Handle:pb, const String:field[], index);

Usage:
 pb			protobuf handle.
 field			Field name.
 index			Index in the repeated field.
Notes:
Retrieve a handle to an embedded protobuf message in a protobuf message repeated field.

Return:
protobuf handle to embedded message.
Оно возвращает хендл. А дальше то че мне с ним делать?))
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #4
uhx, при чем PbReadRepeatedMessage к PbReadRepeatedString ?
 

uhx

Участник
Сообщения
20
Реакции
0
uhx, при чем PbReadRepeatedMessage к PbReadRepeatedString ?

Я в край упоролся xD
Видимо, потому что больше никаких функций со словом 'Repeated' нет))
Попробую индекс поставить все таки (последний аргумент)

Добавлено через 2 минуты
Получилось так:
C-подобный:
	PbReadString(bf, "params", sName, sizeof(sName), 0);
	WritePackString(data, sName);
	
	PbReadString(bf, "params", sText, sizeof(sText), 1);
	WritePackString(data, sText);
вроде бы))
 
Последнее редактирование:
Сверху Снизу