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

Тема: /coin

  1. #1
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±

    /coin

    Однажды увидел на одном из серверов команду бросания кубиков (/dice) и в голову пришла идея создания того же самого, но с подбрасыванием монетки.

    Команда сделана в 2 версиях: обычная и для ZCMD (также подойдёт и для других обработчиков команд типа LifeCMD, TCMD и т.п.)
    Подойдёт практически для любого мода.
    Оптимизация и комментарии к коду прилагаются.

     Обычная версия
    PHP код:
        if(== strcmp(cmd"/coin"true))
        {
            
    // если денег нет - отсечка
            
    if(PlayerInfo[playerid][pMoney] <= 0)
                return 
    SendClientMessage(playerid0xB0B0B000"У вас нет монеток.");
            
    // строки сделаны в константах для автоматического подсчёта длины string
            
    static const    coin_str0[] = " подбросил монетку, выпал",
                            
    coin_str1[] = "а \"решка\"."coin_str2[] = " \"орёл\".";
            
    // ячеек будет выделено ровно столько, сколько нужно
            
    new    string[MAX_PLAYER_NAME+(sizeof(coin_str0)-1)+(sizeof(coin_str1)-1)+1];
            
    // переменные для сравнения местоположений игроков
            
    new GetMaxPlayers(),
                
    inter GetPlayerInterior(playerid),
                
    world GetPlayerVirtualWorld(playerid),
                
    Float:xFloat:yFloat:z;
            
    // составление строки сообщения
            
    GetPlayerName(playeridstringsizeof(string));
            
    strcat(stringcoin_str0);
            
    strcat(string, (random(2)) ? (coin_str1) : (coin_str2));
            
    // показ сообщения игрокам
            
    GetPlayerPos(playeridxyz);
            do{
                if(
    IsPlayerConnected(--i) == 0
                
    || GetPlayerVirtualWorld(i) != world
                
    || GetPlayerInterior(i) != inter
                
    || IsPlayerInRangeOfPoint(i8.0xyz) == 0) continue;
                
    SendClientMessage(i0xC8A8E000string);
            }while(
    i);
            return 
    1;
        } 

     Версия для ZCMD
    PHP код:
    CMD:coin(playeridparams[])
    {
        
    // если денег нет - отсечка
        
    if(PlayerInfo[playerid][pMoney] <= 0)
            return 
    SendClientMessage(playerid0xB0B0B000"У вас нет ни одной монеты.");
        
    // строки сделаны в константах для автомагического подсчёта длины string
        
    static const    coin_str0[] = " подбросил монетку, выпал",
                        
    coin_str1[] = "а \"решка\"."coin_str2[] = " \"орёл\".";
        
    // автоматический подсчёт необходимой длины строки
        
    new    string[MAX_PLAYER_NAME+(sizeof(coin_str0)-1)+(sizeof(coin_str1)-1)+1];
        
    // переменные для сравнения местоположений игроков
        
    new GetMaxPlayers(),
            
    inter GetPlayerInterior(playerid),
            
    world GetPlayerVirtualWorld(playerid),
            
    Float:xFloat:yFloat:z;
        
    // составление строки сообщения
        
    GetPlayerName(playeridstringsizeof(string));
        
    strcat(stringcoin_str0);
        
    strcat(string, (random(2)) ? (coin_str1) : (coin_str2));
        
    // показ сообщения игрокам
        
    GetPlayerPos(playeridxyz);
        do{
            if(
    IsPlayerConnected(--i) == 0
            
    || GetPlayerVirtualWorld(i) != world
            
    || GetPlayerInterior(i) != inter
            
    || IsPlayerInRangeOfPoint(i8.0xyz) == 0) continue;
            
    SendClientMessage(i0xC8A8E000string);
        }while(
    i);
        return 
    1;



    Скриншоты из игры:
    • Когда нет денег
    • Орёл/решка


    Автор: Daniel_Cortez
    Копирование на других ресурсах без указания автора запрещено.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  2. 7 пользователя(ей) сказали cпасибо:
    Alexander (23.01.2015) ALIT13 (22.12.2014) L0ndl3m (30.06.2014) Osetin (15.04.2013) Ruskadance (23.06.2013) Sarah (12.12.2015) Sp1ke (07.12.2015)
  3. #2
    Аватар для Dimon_Fanat
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Сообщений
    131
    Репутация:
    0 ±
    хм прикольно.

  4. #3
    Аватар для -WorcOut-
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    12.12.2014
    Сообщений
    30
    Репутация:
    23 ±
    Мне интересно для такой команды зачем параметры задаёшь , если их вообще нету!!!

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Цитата Сообщение от -WorcOut- Посмотреть сообщение
    Мне интересно для такой команды зачем параметры задаёшь , если их вообще нету!!!
    Простите, что?

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

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

  7. #6
    Аватар для -WorcOut-
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    12.12.2014
    Сообщений
    30
    Репутация:
    23 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Простите, что?
    Emae as they say professionals

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

    Статус
    Оффлайн
    Регистрация
    23.04.2014
    Сообщений
    29
    Репутация:
    5 ±
    Цитата Сообщение от -WorcOut- Посмотреть сообщение
    Emae as they say professionals
    Как они сказать профессионалы

    Молодец, выпендрился

  9. 2 пользователя(ей) сказали cпасибо:
    "Volk" (04.01.2015) L0ndl3m (23.12.2014)
  10. #8
    Аватар для -WorcOut-
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    12.12.2014
    Сообщений
    30
    Репутация:
    23 ±
    Ты мне соска ?

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

    Статус
    Оффлайн
    Регистрация
    14.04.2014
    Адрес
    Omsk, Russia
    Сообщений
    349
    Репутация:
    49 ±
    Цитата Сообщение от -WorcOut- Посмотреть сообщение
    Ты мне соска ?
    штоблять? гугл себе свой в жопу затолкай, professional
    Skype: sp3ctrum_attack

  12. Пользователь сказал cпасибо:
    L0ndl3m (12.01.2015)
  13. #10
    Аватар для Adrenalin :3
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.07.2015
    Сообщений
    6
    Репутация:
    1 ±
    После того как смотришь на этот код, понимаешь какой же ты быдло-скриптер

 

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

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

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

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

Метки этой темы

Ваши права

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