Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 12
  1. #1
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±

    Ошибки при компиляции.

    PHP код:
    C:\Users\Âëàäåëåö\Desktop\Samp Stories\gamemodes\SampStories.pwn(20806 -- 20807) : error 028invalid subscript (not an array or too many subscripts): "unbandate"
    C:\Users\Âëàäåëåö\Desktop\Samp Stories\gamemodes\SampStories.pwn(20806 -- 20808) : error 001expected token"}"but found "new"
    C:\Users\Âëàäåëåö\Desktop\Samp Stories\gamemodes\SampStories.pwn(20808) : warning 217loose indentation
    C
    :\Users\Âëàäåëåö\Desktop\Samp Stories\gamemodes\SampStories.pwn(20813) : error 010invalid function or declaration
    Pawn compiler 3.2.3664              Copyright 
    (c1997-2006ITB CompuPhase


    3 Errors

    PHP код:
    publics CheckBanList(playerid)
    {
        new 
    str[500],rows,fields;
        new 
    BID[10],IP[32],time[30];
        
    GetPlayerIp(playerid,IP,32);
        
    cache_get_data(rows,fields);
        if(!
    rows)return 0;
        new 
    unbandate cache_get_field_content_int(0,"unbandate");
        if(
    unbandate gettime())
        {
            new 
    ip[16],bandate cache_get_field_content_int(0,"unbandate"),reason[32];
            
    cache_get_field_content(0,"IP",ip);
            
    cache_get_field_content(0,"time",time);
            
    cache_get_field_content(0,"reason",reason);
            
    cache_get_field_content(0,"BID",BID);

            
    f(str,"{F5DEB3}Ник: %s (ID: %s)\nIP: %s\nЗаблокировал:\nДата блокировки: %s\nПричина: %s\n\nДата разблокировки: %s\n",sendername(playerid),BID,ip,date("%dd.%mm.%yyyy %hh:%ii:%ss",unbandate),reason,date("%dd.%mm.%yyyy %hh:%ii:%ss",bandate));
            
    SPD(playerid,302,0,"{33CCFF}Аккаунт забанен",str,"OK","");
            return 
    SetTimerEx("KickFix",1000,0,"i",playerid);
        }
        else(
    unbandate gettime())
        {
            new 
    query[100];
            
    f(query,"DELETE FROM bans WHERE name = '%s'",sendername(playerid));
             
    mysql_tquery(mySQLDB,query,"","" );
            return 
    send(playerid, -1,"Срок Вашей блокировки истёк, пожалуйста не нарушайте правила сервера!");
        }
        return 
    1;


  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Передайте тому, кто писал этот код, что он полная бездарность и ему стоит забыть о скриптинге, пока он не изучит основы основ

    PHP код:
    publics CheckBanList(playerid

        if(!
    cache_num_rows())
            return 
    0

        new 
    str[500],
            
    unbandate cache_get_field_content_int(0"unbandate"); 

        if(
    unbandate gettime()) 
        { 
            new 
    bandate cache_get_field_content_int(0"unbandate"),
                
    BID[10],
                
    ip[16],
                
    time[30]; 
            
    cache_get_field_content(0,"IP"ip); 
            
    cache_get_field_content(0,"time"time); 
            
    cache_get_field_content(0,"reason"str); 
            
    cache_get_field_content(0,"BID"BID); 

            
    f(str"{F5DEB3}Ник: %s (ID: %s)\nIP: %s\nЗаблокировал:\nДата блокировки: %s\nПричина: %s\n\nДата разблокировки: %s\n"
                    
    sendername(playerid), 
                    
    BID
                    
    ip
                    
    date("%dd.%mm.%yyyy %hh:%ii:%ss",unbandate), 
                    
    str
                    
    date("%dd.%mm.%yyyy %hh:%ii:%ss"bandate)); 

            
    SPD(playerid3020"{33CCFF}Аккаунт забанен"str"OK"""); 
            
    SetTimerEx("KickFix",1000,0,"i",playerid); 
        } 
        else(
    unbandate gettime()) 
        { 
            
    f(str"DELETE FROM bans WHERE name = '%s'"sendername(playerid)); 
            
    mysql_tquery(mySQLDB,query,"","" ); 
            
    send(playerid, -1,"Срок Вашей блокировки истёк, пожалуйста не нарушайте правила сервера!"); 
        } 
        return 
    1

    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Передайте тому, кто писал этот код, что он полная бездарность и ему стоит забыть о скриптинге, пока он не изучит основы основ

    PHP код:
    publics CheckBanList(playerid

        if(!
    cache_num_rows())
            return 
    0

        new 
    str[500],
            
    unbandate cache_get_field_content_int(0"unbandate"); 

        if(
    unbandate gettime()) 
        { 
            new 
    bandate cache_get_field_content_int(0"unbandate"),
                
    BID[10],
                
    ip[16],
                
    time[30]; 
            
    cache_get_field_content(0,"IP"ip); 
            
    cache_get_field_content(0,"time"time); 
            
    cache_get_field_content(0,"reason"str); 
            
    cache_get_field_content(0,"BID"BID); 

            
    f(str"{F5DEB3}Ник: %s (ID: %s)\nIP: %s\nЗаблокировал:\nДата блокировки: %s\nПричина: %s\n\nДата разблокировки: %s\n"
                    
    sendername(playerid), 
                    
    BID
                    
    ip
                    
    date("%dd.%mm.%yyyy %hh:%ii:%ss",unbandate), 
                    
    str
                    
    date("%dd.%mm.%yyyy %hh:%ii:%ss"bandate)); 

            
    SPD(playerid3020"{33CCFF}Аккаунт забанен"str"OK"""); 
            
    SetTimerEx("KickFix",1000,0,"i",playerid); 
        } 
        else(
    unbandate gettime()) 
        { 
            
    f(str"DELETE FROM bans WHERE name = '%s'"sendername(playerid)); 
            
    mysql_tquery(mySQLDB,query,"","" ); 
            
    send(playerid, -1,"Срок Вашей блокировки истёк, пожалуйста не нарушайте правила сервера!"); 
        } 
        return 
    1

    Ну этот код был взят с другого мода так что передать я уж точно не смогу.

    PHP код:
    C:\Users\Владелец\Desktop\Samp Stories\gamemodes\SampStories.pwn(20803 -- 20804) : error 028invalid subscript (not an array or too many subscripts): "unbandate"
    C:\Users\Владелец\Desktop\Samp Stories\gamemodes\SampStories.pwn(20805) : warning 217loose indentation
    C
    :\Users\Владелец\Desktop\Samp Stories\gamemodes\SampStories.pwn(20806) : error 017undefined symbol "query"
    C:\Users\Владелец\Desktop\Samp Stories\gamemodes\SampStories.pwn(20808) : warning 209: function "CheckBanList" should return a value
    C
    :\Users\Владелец\Desktop\Samp Stories\gamemodes\SampStories.pwn(20809) : error 010invalid function or declaration
    Pawn compiler 3.2.3664              Copyright 
    (c1997-2006ITB CompuPhase


    3 Errors


  4. #4
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    PHP код:
    forward CheckBanList(playerid);
    public 
    CheckBanList(playerid

        if(!
    cache_num_rows())
            return 
    0

        new 
    str[500],
            
    unbandate cache_get_field_content_int(0"unbandate"); //а этот столбец точно содержит целые числа, а не строку с символами?

        
    if(unbandate gettime()) 
        { 
            new 
    bandate cache_get_field_content_int(0"unbandate"), // вот тут что правильно выбран столбец?
                
    BID[10],
                
    ip[16],
                
    time[30]; 
            
    cache_get_field_content(0,"IP"ip); 
            
    cache_get_field_content(0,"time"time); 
            
    cache_get_field_content(0,"reason"str); 
            
    cache_get_field_content(0,"BID"BID); 

            
    f(str"{F5DEB3}Ник: %s (ID: %s)\nIP: %s\nЗаблокировал:\nДата блокировки: %s\nПричина: %s\n\nДата разблокировки: %s\n"
                    
    sendername(playerid), 
                    
    BID
                    
    ip
                    
    date("%dd.%mm.%yyyy %hh:%ii:%ss",unbandate), 
                    
    str
                    
    date("%dd.%mm.%yyyy %hh:%ii:%ss"bandate)); 

            
    SPD(playerid3020"{33CCFF}Аккаунт забанен"str"OK"""); 
            
    SetTimerEx("KickFix",1000,0,"i",playerid); 
        } 
        else(
    unbandate gettime()) 
        { 
            
    f(str"DELETE FROM bans WHERE name = '%s'"sendername(playerid)); 
            
    mysql_tquery(mySQLDB,str,"","" ); 
            
    send(playerid, -1,"Срок Вашей блокировки истёк, пожалуйста не нарушайте правила сервера!"); 
        } 
        return 
    1

    Последний раз редактировалось vovandolg; 06.01.2017 в 11:56.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  5. #5
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    PHP код:
    forward CheckBanList(playerid);
    public 
    CheckBanList(playerid

        if(!
    cache_num_rows())
            return 
    0

        new 
    str[500],
            
    unbandate cache_get_field_content_int(0"unbandate"); //а этот столбец точно содержит целые числа, а не строку с символами?

        
    if(unbandate gettime()) 
        { 
            new 
    bandate cache_get_field_content_int(0"unbandate"), // вот тут что правильно выбран столбец?
                
    BID[10],
                
    ip[16],
                
    time[30]; 
            
    cache_get_field_content(0,"IP"ip); 
            
    cache_get_field_content(0,"time"time); 
            
    cache_get_field_content(0,"reason"str); 
            
    cache_get_field_content(0,"BID"BID); 

            
    f(str"{F5DEB3}Ник: %s (ID: %s)\nIP: %s\nЗаблокировал:\nДата блокировки: %s\nПричина: %s\n\nДата разблокировки: %s\n"
                    
    sendername(playerid), 
                    
    BID
                    
    ip
                    
    date("%dd.%mm.%yyyy %hh:%ii:%ss",unbandate), 
                    
    str
                    
    date("%dd.%mm.%yyyy %hh:%ii:%ss"bandate)); 

            
    SPD(playerid3020"{33CCFF}Аккаунт забанен"str"OK"""); 
            
    SetTimerEx("KickFix",1000,0,"i",playerid); 
        } 
        else(
    unbandate gettime()) 
        { 
            
    f(str"DELETE FROM bans WHERE name = '%s'"sendername(playerid)); 
            
    mysql_tquery(mySQLDB,str,"","" ); 
            
    send(playerid, -1,"Срок Вашей блокировки истёк, пожалуйста не нарушайте правила сервера!"); 
        } 
        return 
    1

    PHP код:
    C:\Users\Âëàäåëåö\Desktop\Samp Stories\gamemodes\SampStories.pwn(20804 -- 20805) : error 028invalid subscript (not an array or too many subscripts): "unbandate"
    C:\Users\Âëàäåëåö\Desktop\Samp Stories\gamemodes\SampStories.pwn(20806) : warning 217loose indentation
    C
    :\Users\Âëàäåëåö\Desktop\Samp Stories\gamemodes\SampStories.pwn(20809) : warning 209: function "CheckBanList" should return a value
    C
    :\Users\Âëàäåëåö\Desktop\Samp Stories\gamemodes\SampStories.pwn(20810) : error 010invalid function or declaration
    Pawn compiler 3.2.3664              Copyright 
    (c1997-2006ITB CompuPhase


    2 Errors


  6. #6
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Выручайте НАРОД.

  7. #7
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Предлагаю дату разбана/бана записывать с помощью NOW().
    А, ещё я бы сделал систему бана/разбана с помощью BlockIpAddress/UnBlockIpAddress

    P.S: unix_timestamp(now()) - возвращает UNIX время от NOW()



    у DeimoS'a опечатка: он запрос форматирует в str, а в отправку запроса он указывает переменную query.
    Собственно готовый код:
    PHP код:
    publics CheckBanList(playerid

        if(!
    cache_num_rows())
            return 
    0

        new 
    str[500],
            
    unbandate cache_get_field_content_int(0"unbandate"); 

        if(
    unbandate gettime()) 
        { 
            new 
    bandate cache_get_field_content_int(0"unbandate"),
                
    BID[10],
                
    ip[16],
                
    time[30]; 
            
    cache_get_field_content(0,"IP"ip); 
            
    cache_get_field_content(0,"time"time); 
            
    cache_get_field_content(0,"reason"str); 
            
    cache_get_field_content(0,"BID"BID); 

            
    f(str"{F5DEB3}Ник: %s (ID: %s)\nIP: %s\nЗаблокировал:\nДата блокировки: %s\nПричина: %s\n\nДата разблокировки: %s\n"
                    
    sendername(playerid), 
                    
    BID
                    
    ip
                    
    date("%dd.%mm.%yyyy %hh:%ii:%ss",unbandate), 
                    
    str
                    
    date("%dd.%mm.%yyyy %hh:%ii:%ss"bandate)); 

            
    SPD(playerid3020"{33CCFF}Аккаунт забанен"str"OK"""); 
            
    SetTimerEx("KickFix",1000,0,"i",playerid); 
        } 
        else(
    unbandate gettime()) 
        { 
            
    f(str"DELETE FROM bans WHERE name = '%s'"sendername(playerid)); 
            
    mysql_tquery(mySQLDBstr""""); 
            
    send(playerid, -1,"Срок Вашей блокировки истёк, пожалуйста не нарушайте правила сервера!"); 
        } 
        return 
    1

    А на счет unbandate: Вы уверен, что нет глобальной переменной с таким же "именем"?
    Последний раз редактировалось $continue$; 07.01.2017 в 20:52.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  8. #8
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Предлагаю дату разбана/бана записывать с помощью NOW().
    А, ещё я бы сделал систему бана/разбана с помощью BlockIpAddress/UnBlockIpAddress

    P.S: unix_timestamp(now()) - возвращает UNIX время от NOW()



    у DeimoS'a опечатка: он запрос форматирует в str, а в отправку запроса он указывает переменную query.
    Собственно готовый код:
    PHP код:
    publics CheckBanList(playerid

        if(!
    cache_num_rows())
            return 
    0

        new 
    str[500],
            
    unbandate cache_get_field_content_int(0"unbandate"); 

        if(
    unbandate gettime()) 
        { 
            new 
    bandate cache_get_field_content_int(0"unbandate"),
                
    BID[10],
                
    ip[16],
                
    time[30]; 
            
    cache_get_field_content(0,"IP"ip); 
            
    cache_get_field_content(0,"time"time); 
            
    cache_get_field_content(0,"reason"str); 
            
    cache_get_field_content(0,"BID"BID); 

            
    f(str"{F5DEB3}Ник: %s (ID: %s)\nIP: %s\nЗаблокировал:\nДата блокировки: %s\nПричина: %s\n\nДата разблокировки: %s\n"
                    
    sendername(playerid), 
                    
    BID
                    
    ip
                    
    date("%dd.%mm.%yyyy %hh:%ii:%ss",unbandate), 
                    
    str
                    
    date("%dd.%mm.%yyyy %hh:%ii:%ss"bandate)); 

            
    SPD(playerid3020"{33CCFF}Аккаунт забанен"str"OK"""); 
            
    SetTimerEx("KickFix",1000,0,"i",playerid); 
        } 
        else(
    unbandate gettime()) 
        { 
            
    f(str"DELETE FROM bans WHERE name = '%s'"sendername(playerid)); 
            
    mysql_tquery(mySQLDBstr""""); 
            
    send(playerid, -1,"Срок Вашей блокировки истёк, пожалуйста не нарушайте правила сервера!"); 
        } 
        return 
    1

    А на счет unbandate: Вы уверен, что нет глобальной переменной с таким же "именем"?
    В чем и прикол переменной с таким именем нет но именно тут ошибки а чем дело понять не могу.

  9. #9
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    А, ещё я бы сделал систему бана/разбана с помощью BlockIpAddress/UnBlockIpAddress
    Они не работают вроде как на 0.3.7, тестил как на винде так и на линуксе.
    Тут тоже отписывался, видимо не кто не пробовал её юзать даже...
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  10. #10
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    А, ещё я бы сделал систему бана/разбана с помощью BlockIpAddress/UnBlockIpAddress
    И после перезапуска сервера баны слетят

    Цитата Сообщение от vovandolg Посмотреть сообщение
    Они не работают вроде как на 0.3.7, тестил как на винде так и на линуксе.
    Тут тоже отписывался, видимо не кто не пробовал её юзать даже...
    Всё отлично работает. Ты, видимо, с локального тестил (той машины, на которой и сервер), т.к. сервер не может забанить свой же ип
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •