Команда для предупреждения игрока
#1

Помогите исправить ошибки

Код:
D:\Games\GTA San Andreas\server\server\gamemodes\new12.pwn(3635) : error 003: declaration of a local variable must appear in a compound block
D:\Games\GTA San Andreas\server\server\gamemodes\new12.pwn(3635) : error 017: undefined symbol "pName"
D:\Games\GTA San Andreas\server\server\gamemodes\new12.pwn(3635) : warning 215: expression has no effect
D:\Games\GTA San Andreas\server\server\gamemodes\new12.pwn(3635) : error 001: expected token: ";", but found "]"
D:\Games\GTA San Andreas\server\server\gamemodes\new12.pwn(3635) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Код:
{
        new target, reason[128];
        if (sscanf(params,"us[128]", target,reason)) return SendClientMessage(playerid,0xFF0000AA,"Используй: /warn [playerid] [Причина]");
        if(level[playerid] >= 1)
        new pName[MAX_PLAYER_NAME], gName[MAX_PLAYER_NAME], string[128];
        GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
        GetPlayerName(target, gName, MAX_PLAYER_NAME);
        SetPVarInt(target, "Warnings", GetPVarInt(target, "Warnings") + 1);
        if(GetPVarInt(target, "Warnings") == 3)
        {
            format(string, sizeof string, "{FF0A00}-[Moderator: %s]- {FFFFFF} has auto-kicked %s for receiving 3 warnings, last: %s", pName, gName, reason);
            SendClientMessageToAll(COLOR_YELLOW, string);
            SendClientMessage(target, COLOR_RED, "You've been kicked for having 3 warnings, behave better in the future!");
            format(string, sizeof string, "{FF0A00}-[Moderator: %s]- {FFFFFF} warned %s: %s [Kick]", pName, gName, reason);
            Kick(target);
        }
        else
        {
                format(string, sizeof string, "{FF0A00}-[Moderator: %s]- {FFFFFF} warned %s for: %s", pName, gName, reason);
                SendClientMessageToAll(string);
                format(string, sizeof string, "{FF0A00}-[Moderator: %s]- {FFFFFF} has warned you for: %s [Warning %d/3]", pName, reason, GetPVarInt(target, "Warnings"));
                SendClientMessage(target, COLOR_YELLOW, string);
                format(string, sizeof string, "{FF0A00}-[Moderator: %s]- {FFFFFF} warned %s: %s [%i/3]", pName, gName, reason, GetPVarInt(target, "Warnings"));
        }
        return 1;
}
Reply
#2

А нет все нормально исправил))извените
Но он не кикает игрока за 3 предупреждения и непишет имя причину и сколько предупреждений помогите пожалуйста
Код:
{
        new target, reason[128], pName[MAX_PLAYER_NAME], gName[MAX_PLAYER_NAME], string[128];
        if (sscanf(params,"us[128]", target,reason)) return SendClientMessage(playerid,0xFF0000AA,"Используй: /warn [playerid] [Причина]");
        if(level[playerid] >= 1)
        GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
        GetPlayerName(target, gName, MAX_PLAYER_NAME);
        SetPVarInt(target, "Warnings", GetPVarInt(target, "Warnings") + 1);
        if(GetPVarInt(target, "Warnings") == 3)
        {
            format(string, sizeof string, "{FF0A00}-[Администратор: %s]- {FFFFFF} автоматический кик %s за 3 предупреждения, последнее: %s", pName, gName, reason);
            SendClientMessageToAll(COLOR_YELLOW, string);
            SendClientMessage(target, COLOR_RED, "Ты был кикнут за 3 предупреждения!");
            format(string, sizeof string, "{FF0A00}-[Администратор: %s]- {FFFFFF} предупредил %s: %s [Кикнут]", pName, gName, reason);
            Kick(target);
        }
        else
        {
                format(string, sizeof string, "{FF0A00}-[Администратор: %s]- {FFFFFF} предупреждил %s причина: %s", pName, gName, reason);
                SendClientMessageToAll(COLOR_YELLOW,string);
                format(string, sizeof string, "{FF0A00}-[Администратор: %s]- {FFFFFF} предупредил игрока: %s [Предупреждений %d/3]", pName, reason, GetPVarInt(target, "Warnings"));
                SendClientMessage(target, COLOR_YELLOW, string);
                format(string, sizeof string, "{FF0A00}-[Администратор: %s]- {FFFFFF} предупреждения %s: %s [%i/3]", pName, gName, reason, GetPVarInt(target, "Warnings"));
        }
        return 1;
}
Reply
#3

GetPVarInt == 2 надо ставить.
Reply
#4

ничего не изменилось
Reply
#5

[HHT]DRON, Вы даете список ошибок, где указаны номера строк, а в кусочке кода эти номера не указаны. Как мы можем на глаз прикинуть какая ошибка на какой строке? Даже если бы и сделал это кто-то, но только 1 раз, потому что у Вас очень смешные ошибки, которые Вы просите исправить буквально каждый час. Подучите немного основы языка - точка с запятой где должна ставиться, в каком месте можно создавать новые переменные. Это все основы, о которых Вы явно не читали в учебнике.
Reply
#6

существует павно учебник?
Reply
#7

в последнем коде который написал сюда в нём павно не выдает ошибок,просто когда я даю предупреждение игрокам в чат не пишет кому я дал предупреждение и по какой причине и сколько раз был предупреждён игрок
Reply
#8

Quote:
Originally Posted by [HHT]DRON
Посмотреть сообщение
существует павно учебник?
Существует документация по языку pawn:
www.compuphase.com/pawn/Pawn_Language_Guide.pdf
Но если английский недостаточно хорош - можно воспользоваться русскоязычным разделом на википедии:
https://sampwiki.blast.hk/wiki/Scripting_Basics_RU
Reply
#9

Как сделать?
пишешь /warn iD [причина] не кикает игрока за 3 предупреждения и непишет имя причину и сколько предупреждений помогите пожалуйста
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)