Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


deltahost

**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 100руб/мес, Текстовая 50руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12
  1. #1
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    307
    Репутация:
    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
    Адрес
    Восточный Мордор
    Сообщений
    3,650
    Репутация:
    1423 ±
    Передайте тому, кто писал этот код, что он полная бездарность и ему стоит забыть о скриптинге, пока он не изучит основы основ

    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

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

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    307
    Репутация:
    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,335
    Репутация:
    110 ±
    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
    Сообщений
    307
    Репутация:
    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
    Сообщений
    307
    Репутация:
    0 ±
    Выручайте НАРОД.

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

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,387
    Репутация:
    249 ±
    Предлагаю дату разбана/бана записывать с помощью 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
    Сообщений
    307
    Репутация:
    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,335
    Репутация:
    110 ±
    Цитата Сообщение от $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
    Адрес
    Гомель, Беларусь
    Сообщений
    330
    Репутация:
    102 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    А, ещё я бы сделал систему бана/разбана с помощью BlockIpAddress/UnBlockIpAddress
    И после перезапуска сервера баны слетят

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

 

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

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

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

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

Ваши права

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