cfgmazda
Участник
- Сообщения
- 53
- Реакции
- 34
Подскажите что я сделал не так.
суть скрипта когда игрок пишет команду к примеру:
держи target 15
должны передаваться игровые монеты.
из Command_Say args не передаются в GiveCoins.
как исправить?
суть скрипта когда игрок пишет команду к примеру:
держи target 15
должны передаваться игровые монеты.
из Command_Say args не передаются в GiveCoins.
как исправить?
PHP:
new client_coins[MAXPLAYERS+1];
public OnPluginStart() {
RegConsoleCmd("say", Command_Say);
RegConsoleCmd("say_team", Command_Say);
RegConsoleCmd("say2", Command_Say);
}
public Action:Command_Say(client, args)
{
decl String:text[192];
if (!GetCmdArgString(text, sizeof(text))) {
return Plugin_Continue;
}
new startidx;
if(text[strlen(text)-1] == '"') {
text[strlen(text)-1] = '\0';
startidx = 1;
}
if (text[startidx] == '!' || text[startidx] == '/') {
startidx++;
}
if (StrEqual(text[startidx], "give", true)
|| StrEqual(text[startidx], "дать", true)
|| StrEqual(text[startidx], "держи", true)
|| StrEqual(text[startidx], "передать", true)
|| StrEqual(text[startidx], "отдать", true)
|| StrEqual(text[startidx], "подарить", true)) {
GiveCoins(client, args);
return Plugin_Handled;
}
return Plugin_Continue;
}
GiveCoins(client, args) {
new String:arg[65], String:arg2[20];
GetCmdArg(1, arg, sizeof(arg));
new coins;
if (args < 2) {
ReplyToCommand(client, "%t %t", "Prefix", "Wrong Command");
return 0;
}
if (args >= 2 && GetCmdArg(2, arg2, sizeof(arg2))) {
coins = StringToInt(arg2);
GetCmdArg(1, arg1, sizeof(arg2));
}
if (coins == 0 || coins < 0) {
ReplyToCommand(client, "%t %t", "Prefix", "Need set coins more 0");
return 0;
}
if (coins > client_coins[client]) {
ReplyToCommand(client, "%t %t", "Prefix", "No Coins");
return 0;
}
new String:target_name[MAX_TARGET_LENGTH];
new target_list[MAXPLAYERS], target_count;
new bool:tn_is_ml;
if ((target_count = ProcessTargetString(
arg,
client,
target_list,
MAXPLAYERS,
COMMAND_FILTER_NO_BOTS|COMMAND_FILTER_CONNECTED,
target_name,
sizeof(target_name),
tn_is_ml)) <= 0)
{
ReplyToTargetError(client, target_count);
return 0;
}
for (new i = 0; i < target_count; i++) {
g_deathrunpoints[target_list[i]] += coins;
g_deathrunpoints[client] -= coins;
SavePoints(target_list[i]);
}
decl String:Giver[128];
GetClientName(client, Giver, sizeof(Giver));
if (tn_is_ml) {
PrintToChatAll("\x04%t \x01%s %t %s, \x03%d \x01%t!", "Prefix", Giver, "Give to", target_name, coins, "Name Coins");
} else {
PrintToChatAll("\x04%t \x01%s %t %s, \x03%d \x01%t!", "Prefix", Giver, "Give to", target_name, coins, "Name Coins");
}
return 0;
}