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

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

    Вычисление веса

    Здравствуйте пользователи и не пользователи pro-pawn!
    Мне было нечего делать и пришла в голову "веселая идея ", я решил сделать команду на вычисление веса. Нужно знать объем грудной клетки и рост, что бы вычислить свой вес. Я конечно понимаю что это никому не нужно на сервере по сути, но прикольно
    Код с использованием DC_CMD(Можно ZCMD) и sscanf2:
    PHP код:
    CMD:massa(playeridparams[]) //Команда
    {
        new 
    massa[18]; //Переменная с подсчетом символов!
        
    if(sscanf(params"dd"params[0],params[1])) return SendClientMessage(playerid, -1"Введите: /massa [Рост] [Объем грудной клетки]"); //Если игрок ввел команду не правильно, выводим ему сообщение
        
    format(massa17"Вес = %d"params[0]*params[1]/240); //Формат сообщения massa, формула: [Рост]*[Объем грудной клетки]/[240]
        
    SendClientMessage(playerid, -1massa); //Выводим сообщение massa
        
    return 1//Возвращаем

    Работает!

    Поставьте ништячек(+) если понравилось :)

    P.S.
    Исправил и сделал так как нужно.
    Последний раз редактировалось Morj; 14.03.2016 в 19:05.

  2. #2
    Аватар для TheMallard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2015
    Адрес
    San Fierro
    Сообщений
    217
    Репутация:
    39 ±
    1. Размер строки вычислен без подсчетов.
    2. Не требуется переменная massa.
    3. Не стоит использовать в sscanf params, лучше объявить переменные.

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

    Статус
    Оффлайн
    Регистрация
    29.02.2016
    Сообщений
    0
    Репутация:
    0 ±
    Цитата Сообщение от TheMallard Посмотреть сообщение
    1. Размер строки вычислен без подсчетов.
    2. Не требуется переменная massa.
    3. Не стоит использовать в sscanf params, лучше объявить переменные.
    1.Ничего страшного не произойдет, если ты потеряешь 2-3 байта(Иди это рассказывай Daniel_Cortez, он же вас научил считать символы).
    2.Переменная нужна, если ты нашел вариант лучше, поправь и выложи как по твоему должно быть.
    3.Мне захотелось использовать sscanf, как хочу так и делаю.

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

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±
    PHP код:
    CMD:massa(playeridparams[])
    {
        new
            
    massa_string[21],
            
    growth,
            
    volume;

        if(
    sscanf(params"ii"growthvolume))
            return 
    SendClientMessage(playerid, -1,
                !
    "Введите: /massa [Рост] [Объем грудной клетки]");

        
    format(massa_stringsizeof massa_string"Вес = %i кг"growth*volume/240);
        
    SendClientMessage(playerid, -1massa_string);
        return 
    1;

    Результат проверки

    Мне интересно, сколько символов используется из твоего стринга? 10? Поставил 25, ибо поленился считать.

    stringer[65] вообще не используется.

    Глобальная переменная масса для какой цели, не используемая в дальнейшем? В формат напрямую полученное число записываем и выводим.
    Последний раз редактировалось BadPawn; 13.03.2016 в 11:59.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    И зачем это в разделе с мануалами, если тут всего одна команда? А размер массива достаточно выставить на 21 (9 ячеек - строка без спецификатора + 11 ячеек на число + 1 ячейка на нуль-символ)
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Цитата Сообщение от Morj Посмотреть сообщение
    как хочу так и делаю.
    Простите,но вы не на том форуме.
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

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





    #FIXSAMP

  7. #7
    Аватар для Иван Бубнов
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.12.2015
    Сообщений
    157
    Репутация:
    8 ±
    PHP код:
    CMD:massa(playeridparams[])
    {
        if(
    sscanf(params"fd"params[0], params[1]))
            return 
    SendClientMessage(playerid, -1, !"Введите: /massa [Рост] [Объем грудной клетки]");
        if(!(
    1.0 <= params[0] <= 3.0))
            return 
    SendClientMessage(playerid, -1, !"Рост может быть от 1.0 до 3.0 метров !");
        if(!(
    <= params[1] <= 100))
            return 
    SendClientMessage(playerid, -1, !"Неверное значение грудных клеток");
        new
            
    str[12+1];
        
    format(stringsizeof(string), "Ваш вес: %d кг", (params[0] * params[1]) / 240);
        
    Ваш вес999 кг
        
        SendClientMessage
    (playerid, -1string);
        return 
    1


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

    Статус
    Оффлайн
    Регистрация
    29.02.2016
    Сообщений
    0
    Репутация:
    0 ±
    1.Для каждого человека будет казаться лучшим вариантом его скрипт. Если вам что то не нравится, переделайте по своему, я просто привел пример.
    2.Почему я не сделал переменную massa локальной? А вы еще придерались ко мне за байты, глобальная переменная занимает меньше байт чем локальная.
    3.С массивами строки вы уже перегибаете палку, не стоит так жадничать(У вас этих байт достаточно много).
    4.Я не собираюсь писать так как мне говорят "опытные гуру", я напишу так как мне это будет лучше и выгодней.
    5.Хорошо, я признаю свою ошибку, можно было и без переменной massa написать, я над этим не задумывался. Остальное что вы мне рассказали - хлам(Подсчеты строки и т.п.).
    Последний раз редактировалось Morj; 14.03.2016 в 02:09.

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

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Вы реально ошиблись, тредом, порталом.
    Цитата Сообщение от Morj Посмотреть сообщение
    1.Для каждого человека будет казаться лучшим вариантом его скрипт. Если вам что то не нравится, переделайте по своему, я просто привел пример.
    2.Почему я не сделал переменную massa локальной? А вы еще придерались ко мне за байты, глобальная переменная занимает меньше байт чем локальная.
    3.С массивами строки вы уже перегибаете палку, не стоит так жадничать(У вас этих байт достаточно много).
    4.Я не собираюсь писать так как мне говорят "опытные гуру", я напишу так как мне это будет лучше и выгодней.
    5.Хорошо, я признаю свою ошибку, можно было и без переменной massa написать, я над этим не задумывался. Остальное что вы мне рассказали - хлам(Подсчеты строки и т.п.).
    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

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Morj Посмотреть сообщение
    1.Для каждого человека будет казаться лучшим вариантом его скрипт. Если вам что то не нравится, переделайте по своему, я просто привел пример.
    "Мануал" происходит от английского "Manual", что в переводе означает "Руководство" (Руководство по эксплуатации). В случае с Pawn, мануал подразумевает под собой готовый код, который либо не нужно редактировать вообще, либо в этом мануале указано какой код, возможно, придётся отредактировать, если в системе задействованы какие-то сторонние переменные (ник игрока/уровень и т.п.). Так что твоё "просто привёл пример" тут никому не нужно. С таким прямиком на п-и.

    Цитата Сообщение от Morj Посмотреть сообщение
    2.Почему я не сделал переменную massa локальной? А вы еще придерались ко мне за байты, глобальная переменная занимает меньше байт чем локальная.
    А вот с этого момента поподробнее. Где вы такое вычитали? Можно предоставить пруфы вашим словам?

    Цитата Сообщение от Morj Посмотреть сообщение
    3.С массивами строки вы уже перегибаете палку, не стоит так жадничать(У вас этих байт достаточно много).
    Ну тогда выделил бы сразу 5000 ячеек. Чего жадничать то? Только потом не ходи по форумам и не ной о том, что у тебя в моде вдруг неожиданно получился выход за пределы массива и всё начало работать неправильно.

    Цитата Сообщение от Morj Посмотреть сообщение
    4.Я не собираюсь писать так как мне говорят "опытные гуру", я напишу так как мне это будет лучше и выгодней.
    Ну тогда зачем ты ходишь в туалет? Срал бы в штаны, ведь чисто технически это выгодней, ибо не нужно совершать лишних шагов до туалета, да ещё и штаны снимать. Или срать в штаны для тебя не является нормой, а срать в своём коде - является?
    Да и зачем было выкладывать свой код, если ты так реагируешь на критику? Критика уместная и стоило бы к ней прислушаться, а не строить из себя умника, пытаясь обосновать свой кривой код.

    Цитата Сообщение от Morj Посмотреть сообщение
    5.Хорошо, я признаю свою ошибку, можно было и без переменной massa написать, я над этим не задумывался. Остальное что вы мне рассказали - хлам(Подсчеты строки и т.п.).
    Ну, опять же, не ходи и не ной потом по форумам о том, что у тебя в моде вдруг всё начало работать не так, окей? Ведь тебе же не страшно переполнение стэка или коллизия стека/кучи, когда вдруг сегмент стэка вдруг начинает "находить" на сегмент кучи. Сам потом с крашами разбирайся, хорошо?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

 

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

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

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

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

Ваши права

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