Hello,
to display external urls for clients within the ingame browser you have to execute the following code:
Code:
public OnPluginStart()
{
RegServerCmd("my_browse", my_browse);
}
public Action:my_browse(args)
{
if (args < 2) {
PrintToServer("Usage: my_browse <userid><url> - open client ingame browser");
return Plugin_Handled;
}
decl String:client_id[32];
GetCmdArg(1, client_id, 32);
new String:client_url[192];
decl String:argument_string[512];
GetCmdArgString(argument_string, 512);
new find_pos = StrContains(argument_string, "http://", true);
if (find_pos == -1) {
new argument_count = GetCmdArgs();
for(new i = 1; i < argument_count; i++) {
decl String:temp_argument[192];
GetCmdArg(i+1, temp_argument, 192);
if ((192 - strlen(client_url)) > strlen(temp_argument)) {
strcopy(client_url[strlen(client_url)], 192, temp_argument);
}
}
} else {
strcopy(client_url, 192, argument_string[find_pos]);
}
new client = StringToInt(client_id);
if (client > 0) {
new player_index = GetClientOfUserId(client);
if ((player_index > 0) && (!IsFakeClient(player_index)) && (IsClientConnected(player_index))) {
decl Handle:hBf;
hBf = StartMessageOne("VGUIMenu", player_index);
if (hBf != INVALID_HANDLE) {
BfWriteString(hBf, "info");
BfWriteByte(hBf, 1);
BfWriteByte(hBf, 3);
BfWriteString(hBf, "title");
BfWriteString(hBf, "MyTitle");
BfWriteString(hBf, "type");
BfWriteString(hBf, "2");
BfWriteString(hBf, "msg");
BfWriteString(hBf, client_url);
BfWriteString(hBf, "cmd");
BfWriteString(hBf, "");
EndMessage();
}
}
}
return Plugin_Handled;
}
This could be maybe useful for anyone.
Bye
Tobi