void ConvertSIDv2ToSIDv3(char[] szSID, char[] szOutput, int iMaxLength)
{
PrintToChatAll("Входит: %s", szSID);
FormatEx(szOutput, iMaxLength, "[U:1:%d]", (StringToInt(szSID[9]) * 2) + (szSID[8]-48));
PrintToChatAll("Выходит: %s", szOutput);
return true;
}
void ConvertSIDv2ToSIDv3(char[] szSID, char[] szOutput, int iMaxLength)
{
PrintToChatAll("Входит: %s", szSID);
char parts[3][10];
int universe;
int steamid32;
ExplodeString(szSID, ":", parts, sizeof(parts), sizeof(parts[]));
ReplaceString(parts[0], sizeof(parts[]), "STEAM_", "");
universe = StringToInt(parts[0]);
if (universe == 0) universe = 1;
steamid32 = StringToInt(parts[1]) + (StringToInt(parts[2]) << 1);
Format(szOutput, iMaxLength, "U:%d:%d", universe, steamid32);
PrintToChatAll("Выходит: %s", szOutput);
return true;
}
stock void ConvertSIDv2ToSIDv3(char[] szSID, char[] szOutput, int iMaxLength)
{
FormatEx(szOutput, iMaxLength, "[U:1:%u]", (StringToInt(szSID[10]) * 2) + (szSID[8] - 48));
}
В своём первом сообщении уже давал ссылку: SteamID - Valve Developer Community@Kailo, [U:1: - это я так понял константа? зачем эта 1 ?
Добрый день подскажи пожалуйста как стим id поместить в "" чтоб было не STEAM_1:0:541622947 а "STEAM_1:0:541622947" без скобок не работает а в настройках шопа не ставится шоп от @stwx.@Jafa, да. константа. там всегда 1
protected function sendRcon($server, $cmd, $value)
{
$steam = new SteamID($_SESSION['steamid64']);
$steamid_64 = $_SESSION['steamid64'];
$steamid_32 = $_SESSION['steamid32'];
$account_id = $steam->accountId();
$cmd = str_replace("{steamid_64}", $steamid_64, $cmd);
$cmd = str_replace("{steamid_32}", $steamid_32, $cmd);
$cmd = str_replace("{account_id}", $account_id, $cmd);
$cmd = str_replace("{value}", $value, $cmd);
$ip = explode(":", $server->ip)[0];
$port = explode(":", $server->ip)[1];
$_RCON = new Rcon($ip, $port);
if ($_RCON->Connect()) {
$_RCON->RconPass($server->rcon);
$_RCON->Command($cmd);
$_RCON->Disconnect();
return true;
}
return false;
}
// Запсукаем при покупке
public function onBuyEvent($data)
{
$server = ServerController::getServer($data['item']->sid);
$web_server = ServerController::getWebServer($server->web_sid);
if ($this->sendRcon($web_server, $data['item']->value, $data['price']->value))
return ["status" => "success", "message" => Store::translate("_RCON_ACQUIRED", ['item' => $data['item']->name])];
return ["status" => "fail", "message" => Store::translate("_SERVER_ERROR")];
}
Добрый день подскажи пожалуйста как стим id поместить в "" чтоб было не STEAM_1:0:541622947 а "STEAM_1:0:541622947" без скобок не работает а в настройках шопа не ставится шоп от @stwx.
код rcon запроса (ПРИКРЕПЛЯЮ С ЦЕЛЬЮ ПОЛУЧЕНИЕ ПОМОЩИ):protected function sendRcon($server, $cmd, $value) { $steam = new SteamID($_SESSION['steamid64']); $steamid_64 = $_SESSION['steamid64']; $steamid_32 = $_SESSION['steamid32']; $account_id = $steam->accountId(); $cmd = str_replace("{steamid_64}", $steamid_64, $cmd); $cmd = str_replace("{steamid_32}", $steamid_32, $cmd); $cmd = str_replace("{account_id}", $account_id, $cmd); $cmd = str_replace("{value}", $value, $cmd); $ip = explode(":", $server->ip)[0]; $port = explode(":", $server->ip)[1]; $_RCON = new Rcon($ip, $port); if ($_RCON->Connect()) { $_RCON->RconPass($server->rcon); $_RCON->Command($cmd); $_RCON->Disconnect(); return true; } return false; } // Запсукаем при покупке public function onBuyEvent($data) { $server = ServerController::getServer($data['item']->sid); $web_server = ServerController::getWebServer($server->web_sid); if ($this->sendRcon($web_server, $data['item']->value, $data['price']->value)) return ["status" => "success", "message" => Store::translate("_RCON_ACQUIRED", ['item' => $data['item']->name])]; return ["status" => "fail", "message" => Store::translate("_SERVER_ERROR")]; }
str_replace("{steamid_32}", "\"".$steamid_32."\"", $cmd);
Спасибо попробую отпишуПопробуйте для каждого реплейса где вам нужны кавычки сделать так:
PHP:str_replace("{steamid_32}", "\"".$steamid_32."\"", $cmd);