Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 3 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя
Показано с 21 по 30 из 40
  1. #21
    Аватар для heralt
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.12.2014
    Сообщений
    164
    Репутация:
    0 ±
    Файл .amx весит 220 КБ.
    Сейчас займусь загрузкой сервера с другой сборки.
    Может быть проблема в W8, кто знает. Но он запускался. На 0.3z

  2. #22
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Цитата Сообщение от heralt Посмотреть сообщение
    Файл .amx весит 220 КБ.
    Сейчас займусь загрузкой сервера с другой сборки.
    Может быть проблема в W8, кто знает. Но он запускался. На 0.3z
    эм,а не проще скачать с оф. сайта сервер? Там и pawno в комплекте.
    да и дело возможно в плагинах,у меня была подобная проблема,решил именно тем что закинул(указанные ранее плагины) в корень сервера.
    В винде не должно быть проблемы,хотя всякое может быть.
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

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

    Статус
    Оффлайн
    Регистрация
    21.12.2014
    Сообщений
    164
    Репутация:
    0 ±
    Проблему с консолью решена. Следом за ней появилась проблема с регистрацией, не сохраняются аккаунты.

    (Проблема была решена загрузкой сборки 0.3.7 и компиляции их же Pawno.)

    PHP код:
    public OnPlayerDisconnect(playeridreason)
    {
        return 
    1;

    Пытался воспользоваться stock'ом, но ничего не работало

    PHP код:
    public OnPlayerDisconnect(playeridreason)
    {
        
    SavePlayer(playerid);
        return 
    1;

    PHP код:
    stock SavePlayer(playerid)
    {
       new 
    string[64];// Массив с путём для файла
       
    new playername[MAX_PLAYER_NAME];// Массив для получения имени игрока
       
    GetPlayerName(playeridplayernamesizeof(playername));// Получаем Имя игрока
       
    format(stringsizeof(string), "player/%s.ini"playername);// Добавляем имя игрока, в путь для сохранения
       
    new iniFile ini_openFile(string);// Открываем файл по тому пути который указали.
       
    ini_setString(iniFile,"Pass",Player[playerid][pPass]);// Записываем пароль игрока в файл
       
    ini_setInteger(iniFile,"Admin",Player[playerid][pAdmin]);// Записываем уровень админа
       
    ini_setInteger(iniFile,"Leader"PlayerInfo[playerid][pLeader]);
       
    ini_setInteger(iniFile,"Member"PlayerInfo[playerid][pMember]);
       
    ini_setInteger(iniFile,"Rang"PlayerInfo[playerid][pRang]);
       
    ini_closeFile(iniFile);// Закрываем файл

    В моём распоряжении есть еще:

    PHP код:
    forward OnPlayerRegister(playeridpassword[]);
    public 
    OnPlayerRegister(playeridpassword[])// Паблик регистрации
    {
       if(
    IsPlayerConnected(playerid))// Проверка на подключение игрока
       
    {
          new 
    string[64];// Массив с путём для файла
          
    new playername[MAX_PLAYER_NAME];// Массив для получения имени игрока
          
    GetPlayerName(playeridplayernamesizeof(playername));// Получаем Имя игрока
          
    format(string,sizeof(string), "player/%s.ini"playername);// Добавляем имя игрока, в путь для сохранения
          
    new iniFile ini_createFile(string);// Создаём файл с именем игрока в папке players
          
    if(iniFile 0)// Если Файла нет
          
    {
             
    iniFile ini_openFile(string);// Открываем
          
    }
          if(
    iniFile >= 0)// Если файл есть
          
    {
             
    strmid(Player[playerid][pPass],password,0,strlen(password),255);// Присваиваем массиву pPass, значение password[]
             
    ini_setString(iniFile,"Pass",Player[playerid][pPass]);// Записываем пароль игрока в файл
             
    ini_setInteger(iniFile,"Admin",Player[playerid][pAdmin]);

             
    ini_closeFile(iniFile);// Закрываем файл
             
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT"Авторизация""{FFFFFF}Добро пожаловать на NAME\n{FFFFFF}Вы зарегестрированы\n\n{FFFFFF}Введите ваш пароль:""Войти""");
          }
       }
       return 
    1;
    }

    forward OnPlayerLogin(playerid,password[]);
    public 
    OnPlayerLogin(playerid,password[])
    {
       if(
    IsPlayerConnected(playerid))// Проверка на подключение игрока
       
    {
          new 
    string[64];// Массив с путём для файла
          
    new pass[64];// Массив с паролем
          
    new playername[MAX_PLAYER_NAME];// Массив для получения имени игрока
          
    GetPlayerName(playeridplayernamesizeof(playername));// Получаем Имя игрока
          
    format(string,sizeof(string), "player/%s.ini"playername);// Добавляем имя игрока, в путь для загрузки
          
    new iniFile ini_openFile(string);// Открываем файл
          
    ini_getString(iniFile,"Pass",pass,64);// Загружаем пароль
          
    if(strcmp(pass,password,true) == 0)// Если введёный пароль, соответсвует паролю при регистрации, то загружаем акк
          
    {
             
    ini_getString(iniFile,"Pass",Player[playerid][pPass],64);// Загружаем пароль
             
    ini_getInteger(iniFile,"Admin",Player[playerid][pAdmin]);// Загружаем уровень админа

             
    ini_closeFile(iniFile);// Закрываем файл
          
    }
          else
    // Если пароль не верен..
          
    {
             
    ini_closeFile(iniFile);// Закрываем файл
             
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT"Авторизация""{FFFFFF}Добро пожаловать на NAME\n{FFFFFF}Вы зарегестрированы\n\n{FFFFFF}Введите ваш пароль:""Войти""");
             return 
    1;
          }
          
    SendClientMessage(playerid,0xFF00000,"Добро пожаловать на наш сервер");// Выводим игрок сообщение
          
    SpawnPlayer(playerid);// Спавним игрока
       
    }
       return 
    1;forward OnPlayerRegister(playeridpassword[]);
    public 
    OnPlayerRegister(playeridpassword[])// Паблик регистрации
    {
       if(
    IsPlayerConnected(playerid))// Проверка на подключение игрока
       
    {
          new 
    string[64];// Массив с путём для файла
          
    new playername[MAX_PLAYER_NAME];// Массив для получения имени игрока
          
    GetPlayerName(playeridplayernamesizeof(playername));// Получаем Имя игрока
          
    format(string,sizeof(string), "player/%s.ini"playername);// Добавляем имя игрока, в путь для сохранения
          
    new iniFile ini_createFile(string);// Создаём файл с именем игрока в папке players
          
    if(iniFile 0)// Если Файла нет
          
    {
             
    iniFile ini_openFile(string);// Открываем
          
    }
          if(
    iniFile >= 0)// Если файл есть
          
    {
             
    strmid(Player[playerid][pPass],password,0,strlen(password),255);// Присваиваем массиву pPass, значение password[]
             
    ini_setString(iniFile,"Pass",Player[playerid][pPass]);// Записываем пароль игрока в файл
             
    ini_setInteger(iniFile,"Admin",Player[playerid][pAdmin]);

             
    ini_closeFile(iniFile);// Закрываем файл
             
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT"Авторизация""{FFFFFF}Добро пожаловать на NAME\n{FFFFFF}Вы зарегестрированы\n\n{FFFFFF}Введите ваш пароль:""Войти""");
          }
       }
       return 
    1;
    }

    forward OnPlayerLogin(playerid,password[]);
    public 
    OnPlayerLogin(playerid,password[])
    {
       if(
    IsPlayerConnected(playerid))// Проверка на подключение игрока
       
    {
          new 
    string[64];// Массив с путём для файла
          
    new pass[64];// Массив с паролем
          
    new playername[MAX_PLAYER_NAME];// Массив для получения имени игрока
          
    GetPlayerName(playeridplayernamesizeof(playername));// Получаем Имя игрока
          
    format(string,sizeof(string), "player/%s.ini"playername);// Добавляем имя игрока, в путь для загрузки
          
    new iniFile ini_openFile(string);// Открываем файл
          
    ini_getString(iniFile,"Pass",pass,64);// Загружаем пароль
          
    if(strcmp(pass,password,true) == 0)// Если введёный пароль, соответсвует паролю при регистрации, то загружаем акк
          
    {
             
    ini_getString(iniFile,"Pass",Player[playerid][pPass],64);// Загружаем пароль
             
    ini_getInteger(iniFile,"Admin",Player[playerid][pAdmin]);// Загружаем уровень админа

             
    ini_closeFile(iniFile);// Закрываем файл
          
    }
          else
    // Если пароль не верен..
          
    {
             
    ini_closeFile(iniFile);// Закрываем файл
             
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT"Авторизация""{FFFFFF}Добро пожаловать на NAME\n{FFFFFF}Вы зарегестрированы\n\n{FFFFFF}Введите ваш пароль:""Войти""");
             return 
    1;
          }
          
    SendClientMessage(playerid,0xFF00000,"Добро пожаловать на наш сервер");// Выводим игрок сообщение
          
    SpawnPlayer(playerid);// Спавним игрока
       
    }
       return 
    1




    Еще сделла две команды, для назначения лидерки и админки, но на мои запросы команды шлют меня на все 16 =(

    PHP код:
    if (strcmp("/setadmin"cmdtexttrue9) == 0)
        {
        new 
    string[50], params[64];
        if(
    sscanf(params"ud"params[0], params[1])) return SendClientMessage(playerid0xAFAFAFAA"Используйте: /setadmin [id игрока] [уровень]");
        
    format(stringsizeof(string), "Вы были назнычены лидером организации \"%s\""GetOrgName(PlayerInfo[params[0]][pLeader]));
        
    SendClientMessage(params[0], 0xFFFF00AAstring);
        
    PlayerInfo[params[0]][pAdmin] = params[1];
        return 
    1;
        }
        if (
    strcmp("/setleader"cmdtexttrue10) == 0)
        {
        new 
    string[50], params[64];
        if(
    sscanf(params"ud"params[0], params[1])) return SendClientMessage(playerid0xAFAFAFAA"Используйте: /setleader [id игрока] [id организации]");
        
    format(stringsizeof(string), "Вы были назнычены лидером организации \"%s\""GetOrgName(PlayerInfo[params[0]][pLeader]));
        
    SendClientMessage(params[0], 0xFFFF00AAstring);
        
    PlayerInfo[params[0]][pMember] = params[1];
        
    PlayerInfo[params[0]][pLeader] = params[1];
        
    PlayerInfo[params[0]][pRang] = 10;
        return 
    1;
        } 
    Последний раз редактировалось heralt; 11.03.2015 в 00:25.

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

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Мой совет начинайте с базы данных (mysql) и сразу с DC_CMD, когда начнешь понимать в Pawn, и разберешься в структуре сервера поймешь что на файлах далеко не уедешь (Не вывести мониторинг сервера, не информацию об аккаунте на сайт)
    DC_CMD с связкой scanff очень прост и удобен в использовании.

    Если не убедил то почитай урок: ТЫК
    Убедил почитай вот это: ТЫК и ТЫК

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

    Статус
    Оффлайн
    Регистрация
    05.12.2013
    Сообщений
    188
    Репутация:
    116 ±
    Цитата Сообщение от gangzone.ini Посмотреть сообщение
    PHP код:
    stock GetRangName(playerid)
    {
        new 
    rangname[11]; //Если название больше 11 символов изменяй.
        
    switch(PlayerInfo[playerid][pMember])
        {
            case 
    1
            {
                 switch(
    PlayerInfo[playerid][pRang])
                 {
                     case 
    1rangname "Ранг 1";
                     case 
    2rangname "Ранг 2";
                     case 
    3rangname "Ранг 3";
                     
    // И т.д
                     
    default: rangname "Ранг лидера";
                }
            }
            case 
    2:
            {
                switch(
    PlayerInfo[playerid][pRang])
                {
                    case 
    1rangname "Ранг 1";
                    case 
    2rangname "Ранг 2";
                    case 
    3rangname "Ранг 3";
                    
    //И т.д
                    
    default: rangname "Ранг лидера";
                }
            }
        }
        return 
    rangname;

    PHP код:
    new RankName[] =
    {
    "1",
    "2",
    "3"
    };

    (
    Player [playerid] [pMember] > 0) && format (strsizeof (str), RankName[Player [playerid] [pMember] - 1]); 
    Как пример.

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

    Статус
    Оффлайн
    Регистрация
    21.12.2014
    Сообщений
    164
    Репутация:
    0 ±
    Думаю стоит попробывать DC_CMD.

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

    Статус
    Оффлайн
    Регистрация
    21.12.2014
    Сообщений
    164
    Репутация:
    0 ±
    На счет регистрации, проблему решил с сохранением. Тестирование проводил по команде, завтра буду переводить на DC_CMD.
    На счет мускула, пока что не стану переписывать мод на мускул, я не силен в павно =(

    PHP код:
    if (strcmp("/rang"cmdtexttrue10) == 0)
        {
        new 
    params[4];
        
    SendClientMessage(params[3], 0xFFFF00AA"Тест.");
        
    PlayerInfo[playerid][pRang] = 10;
        
    PlayerInfo[playerid][pMember] = 3;
        
    PlayerInfo[playerid][pAdmin] = 4;
        return 
    1;
        } 
    PHP код:
    Pass mdaamasmma
    Admin 
    4
    Leader 
    0
    Member 
    3
    Rang 
    10 
    PHP код:
    stock SavePlayer(playerid)
    {
       new 
    string[64];// Массив с путём для файла
       
    new playername[MAX_PLAYER_NAME];// Массив для получения имени игрока
       
    GetPlayerName(playeridplayernamesizeof(playername));// Получаем Имя игрока
       
    format(stringsizeof(string), "player/%s.ini"playername);// Добавляем имя игрока, в путь для сохранения
       
    new iniFile ini_openFile(string);// Открываем файл по тому пути который указали.
       
    ini_setString(iniFile,"Pass",Player[playerid][pPass]);// Записываем пароль игрока в файл
       
    ini_setInteger(iniFile,"Admin",Player[playerid][pAdmin]);// Записываем уровень админа
       
    ini_setInteger(iniFile,"Member"PlayerInfo[playerid][pMember]);
       
    ini_setInteger(iniFile,"Rang"PlayerInfo[playerid][pRang]);
       
    ini_closeFile(iniFile);// Закрываем файл
       
    return 1

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

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    А какой жопой павн связано с скл?

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

    Статус
    Оффлайн
    Регистрация
    21.12.2014
    Сообщений
    164
    Репутация:
    0 ±
    Решив проблемы с регистрацией и остальными недоработками, я занялся доделкой Организацей и Рангов для них.
    Проверив команду, ничего не работало =(


    PHP код:
        if (strcmp("/rang"cmdtexttrue10) == 0)
        {
        new 
    string[64], params[64];
        
    format(stringsizeof(string), "Вы состоите в организации \"%s\""GetOrgName(PlayerInfo[playerid][pMember]));
        
    SendClientMessage(playerid0xFFFF00AAstring);
        
    format(paramssizeof(params), "Ваш ранг: \"%s\""GetRangName(PlayerInfo[playerid][pRang]));
        
    SendClientMessage(playerid0xFFFF00AAparams);
        return 
    1;
        } 
    PHP код:
    stock GetRangName(playerid)
    {
        new 
    rangname[23];
        switch(
    PlayerInfo[playerid][pMember])
        {
            case 
    1:
            {
                 switch(
    PlayerInfo[playerid][pRang])
                 {
                     case 
    1rangname "Охранник";
                     case 
    2rangname "Секретарь";
                     case 
    3rangname "Лицёнзер";
                     case 
    4rangname "Депутат";
                     case 
    5rangname "Управляющий СМИ";
                     case 
    6rangname "Министр Внутренних Дел";
                     case 
    7rangname "Министр Обороны";
                     case 
    8rangname "Премьер - Министр";
                     case 
    9rangname "Вице - Президент";
                     case 
    10rangname "Президент";
                }
            }
            case 
    2:
            {
                 switch(
    PlayerInfo[playerid][pRang])
                 {
                     case 
    1rangname "Рядовой";
                     case 
    2rangname "Ефрейтор";
                     case 
    3rangname "Сержант";
                     case 
    4rangname "Cтаршина";
                     case 
    5rangname "Лейтенант";
                     case 
    6rangname "Капитан";
                     case 
    7rangname "Майор";
                     case 
    8rangname "Подполковник";
                     case 
    9rangname "Полковник";
                     case 
    10rangname "Генерал";
                }
            }
            case 
    3:
            {
                 switch(
    PlayerInfo[playerid][pRang])
                 {
                     case 
    1rangname "Матрос";
                     case 
    2rangname "Мичман";
                     case 
    3rangname "Старшина";
                     case 
    4rangname "Лейтенант";
                     case 
    5rangname "Старпом";
                     case 
    6rangname "Капитан 3 ранга";
                     case 
    7rangname "Капитан 2 ранга";
                     case 
    8rangname "Капитан 1 ранга";
                     case 
    9rangname "Вице - Адмирал";
                     case 
    10rangname "Адмирал";
                }
            }
            case 
    4:
            {
                 switch(
    PlayerInfo[playerid][pRang])
                 {
                     case 
    1rangname "Рядовой";
                     case 
    2rangname "Сержант";
                     case 
    3rangname "Ст.Сержант";
                     case 
    4rangname "Cтаршина";
                     case 
    5rangname "Лейтенант";
                     case 
    6rangname "Капитан";
                     case 
    7rangname "Майор";
                     case 
    8rangname "Подполковник";
                     case 
    9rangname "Полковник";
                     case 
    10rangname "Генерал";
                }
            }
            case 
    5:
            {
                 switch(
    PlayerInfo[playerid][pRang])
                 {
                     case 
    1rangname "Ремонтник";
                     case 
    2rangname "Радиотехник";
                     case 
    3rangname "Наладчик";
                     case 
    4rangname "Оператор";
                     case 
    5rangname "Телемастер";
                     case 
    6rangname "Редактор";
                     case 
    7rangname "Репортёр";
                     case 
    8rangname "Режиссёр";
                     case 
    9rangname "Зам. Директора";
                     case 
    10rangname "Директор";
                }
            }
            case 
    6:
            {
                 switch(
    PlayerInfo[playerid][pRang])
                 {
                     case 
    1rangname "Dipendente";
                     case 
    2rangname "Adjunto";
                     case 
    3rangname "Rapinatore";
                     case 
    4rangname "Asimilato";
                     case 
    5rangname "Armiere";
                     case 
    6rangname "Capo";
                     case 
    7rangname "Strada Boss";
                     case 
    8rangname "Delegato";
                     case 
    9rangname "Consigliere";
                     case 
    10rangname "Don";
                }
            }
            case 
    7:
            {
                 switch(
    PlayerInfo[playerid][pRang])
                 {
                     case 
    1rangname "Кёдай";
                     case 
    2rangname "Томодати";
                     case 
    3rangname "Вакагасира";
                     case 
    4rangname "Ози-Хон";
                     case 
    5rangname "Оя-Дзи";
                     case 
    6rangname "Камбу";
                     case 
    7rangname "Со-Хонбутё";
                     case 
    8rangname "Оядзи";
                     case 
    9rangname "Сайко-Комон";
                     case 
    10rangname "Кумитё";
                }
            }
            case 
    8:
            {
                 switch(
    PlayerInfo[playerid][pRang])
                 {
                     case 
    1rangname "Терпила";
                     case 
    2rangname "Шнырь";
                     case 
    3rangname "Носильщик";
                     case 
    4rangname "Шестёрка";
                     case 
    5rangname "Авторитет";
                     case 
    6rangname "Бригадир";
                     case 
    7rangname "Следящий";
                     case 
    8rangname "Блатной";
                     case 
    9rangname "Вор в Законе";
                     case 
    10rangname "Корон. Вор в Законе";
                }
            }
            case 
    9:
            {
                switch(
    PlayerInfo[playerid][pRang])
                {
                     case 
    1rangname "Nalakove";
                     case 
    2rangname "Аmicove";
                     case 
    3rangname "Dipendente";
                     case 
    4rangname "Razzionate";
                     case 
    5rangname "Contramaeestre";
                     case 
    6rangname "Teniente";
                     case 
    7rangname "Caposele";
                     case 
    8rangname "Capitan";
                     case 
    9rangname "Coronel";
                     case 
    10rangname "Autoritete";
                }
            }
        }
        return 
    rangname;


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

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    PHP код:
     [COLOR="#FF0000"][B]GetRangName(PlayerInfo[playerid][pRang])[/B][/COLOR
    PHP код:
     GetRangName(playerid

 

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

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

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

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

Ваши права

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