Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 3 из 3
  1. #1
    Аватар для Skyline
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.01.2014
    Адрес
    Россия
    Сообщений
    304
    Репутация:
    2 ±

    Продажа по символам

    Здравствуйте, подскажите, каким образом можно реализовать продажу дома по символу, если сделать так.

    /sellhouse [id] [$/M/D] [Цена] - Это игроку.
    /sellhouse - просто продаешь дом штату.

    С проверкой на наличие символов сделать можно, чтобы продать дом штату, а как сделать чтобы проверка была на символы, т.е. если игрок вводит /sellhouse [id] [$] [100000] - Это продажа за деньги. [M] - маты, а [D] - наркотики?

    Подскажите пожалуйста как сделать проверку на символы, буду очень благодарен.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Писал в браузере и не проверял, но логика такова:
    PHP код:
    if(isnull(params))
    {
       
    // Продажа дома штату
    }
    else
    {
        new 
            
    giveplayerid,
            
    currency,
            
    price;
        
    sscanf(params"uci"giveplayeridcurrencyprice);
        if(
    giveplayerid == INVELID_PLAYER_ID)
            return 
    SendClientMessage(playerid, -1"Указанный игрок не найден на сервере");
        switch(
    currency)
        {
            case 
    '$':
            {
                if(!(
    1000 <= price <= 10000))
                    return 
    SendClientMessage(playerid, -1"Цена не может быть меньше $1000 или больше $10000");
                
    //Прочие проверки и если всё норм, отнимаем деньги (дом пока не передаём)
            
    }
            case 
    'м''М''m''M':// Учитываем как русские, так и английские буквы всех регистров
            
    {
                if(!(
    <= price <= 1000))
                    return 
    SendClientMessage(playerid, -1"Цена не может быть меньше 1 или больше 1000 матов");
                
    //То же самое
            
    }
            case 
    'd''D''н''Н':// То же самое для наркотиков
            
    {
                if(!(
    <= price <= 1000))
                    return 
    SendClientMessage(playerid, -1"Цена не может быть меньше 1 или больше 1000 грамм наркотиков");
                
    //То же самое
            
    }
        }
        
    //А вот тут уже производим передачу дома от одного игрока другому
        //Ибо дублировать это действие в каждой проверке бессмысленно, так как оно для всех случаев одинаково
        
    return 1;

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

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

    Steve Pavlina

  3. Пользователь сказал cпасибо:
    Skyline (01.05.2017)
  4. #3
    Аватар для Skyline
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.01.2014
    Адрес
    Россия
    Сообщений
    304
    Репутация:
    2 ±
    Спасибо. Решено, можно закрыть.

 

 

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

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

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

Ваши права

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