Как сделать?

Re: Как сделать?

Как работают проценты в QSP? Один уже задавал ему этот вопрос, но ему так и не ответили.
То есть мне надо, чтобы переменная была увеличена/увеличена на n%. Простое n=+10% не работает - ошибка "Неизвестное действие". Как это делается правильно?

RomaDova
useravatar
Offline
288 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Спасибо. А в настройках никак не исправляется?

Ways
useravatar
Offline
8 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

RomaDova,
всё просто:

Код:

N+=N*10/100

Вместо числа 10 подставляешь нужное число процентов. Само собой нужно учитывать, что QSP работает только с целыми числами, поэтому один процент от единицы ты к единице не прибавишь.
Ways,
Эм... в настройках чего? И что там должно исправляться? То, что выделение действий происходит таким образом, — это, так сказать, особенность плеера. Нужно копать код плеера, чтобы это изменить.

Aleks Versus
воздвигатель башни
useravatar
Offline
1430 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Aleks Versus написал(а):

всё просто:
Код:

N+=N*10/100

Вместо числа 10 подставляешь нужное число процентов.

Примерно так и пришлось сделать. Спросил, надеясь сократить число символов в коде, но видимо это просто невозможно.
Но спасибо за помощь

RomaDova
useravatar
Offline
288 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Есть ли тут знатоки Навигатора? Требуется ваша помощь.

Можно ли выполнять в нём запросы к JS?
Можно ли заставить js-функцию возвращать нужное значение так, чтобы QSP его принял?

NickoAilus
Фантаст-любитель
useravatar
Offline
78 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

NickoAilus,
запросы к JS можно.

Код:

EXEC('JS:код java-script')

А вот в обратную сторону — нет. Посмотри на вот этот плеер http://qsp.su/index.php?option=com_agor … ;Itemid=57

Aleks Versus
воздвигатель башни
useravatar
Offline
1430 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Aleks Versus,

QQSP я уже давно использую, спасибо. Дело в том, что и там нет интересующей меня функции. Точнее, она есть, но нигде не объясняется, как её использовать.

Благодарю за помощь. smile

NickoAilus
Фантаст-любитель
useravatar
Offline
78 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Здравствуйте. Не судите строго. Просто заскок в тексте игры есть.Перед обращением на форум, я сам ковырялся в синтаксисе. Спасибо Версусу, что сотворил уроки по такой проге.

Я делаю пародию на ферму. В магазине фермер покупает животных.
Математика такая: в рамдоме  есть  раса-вид животного, его ПОЛ.
С некоторой вероятностью (ver), которое задается рамдомно от 20 до 100% в магазине появляется список покупок.
Проблем много.
1. Прога должна выбрать по условию равенства переменной ver, но она идёт сразу в конец и в гендере пишет МУЖ, хотя по значению надо писать ЖЕН или ДЕТИ.
2. Я сделал ограничение по деньгам, но у меня программа не прерывает  покупки выражением "закончились деньги"
3. Момент есть 1: где можно всунуть  команду для очистки   экрана?
4. Есть магазин, локация- загон для животных-мальчиков, загон для животных-девочек.
Вопрос: как в коде магазина  сделать запись, которая делает после покупки животных запись в соответствующем вольере?
Вот текст:
$Trace=''
$Tgen=''
$race[0]='собака'
$race[1]='кошка'
$gender[0]='жен'
$gender[1]='дети'
$gender[2]='муж'

*pl'<table border=1>
<tr>
    <th>Расса</th>
    <th>Пол</th>
    <th>Цена</th>
    <th>Контроль</th>
   </tr>'
ver=rand(20,100)
*pl"Вероятность "+ver
i=rand(0,1)
$race[]=$race[i]
$Trace=$race[]
if ver=rand(61,100):
    i=rand(0,1)
    $Trace=$race[i]
    *pl"Вероятность ДЕТИ "+ver
    $Tgen=$gender[1]
    price=rand(50,80)
    Tprice=price
    *pl'<tr>
    <td><<$Trace>></td>
    <td><<$Tgen>></td>
    <td><<Tprice>></td>
    <td><a href="exec:gs''магазин'',''buy''">Купить</a></td>
   </tr>'
   elseif ver=rand(41,60):
   i=rand(0,1)
    $Trace=$race[i]
   *pl"Вероятность девочек "+ver
    $Tgen=$gender[0]
    price=rand(50,80)
    Tprice=price
    *pl'<tr>
    <td><<$Trace>></td>
    <td><<$Tgen>></td>
    <td><<Tprice>></td>
    <td><a href="exec:gs''магазин'',''buy''">Купить</a></td>
   </tr>'
   end
   else
   i=rand(0,1)
    $Trace=$race[i]
   *pl"Вероятность мальчиков "+ver
    $Tgen=$gender[2]
    price=rand(85,100)
    Tprice=price
    *pl'<tr>
    <td><<$race[]>></td>
    <td><<$Tgen>></td>
    <td><<Tprice>></td>
    <td><a href="exec:gs''магазин'',''buy''">Купить</a></td>
   </tr>'
   end
end
if $ARGS[0]="buy":
    money=money-Tprice
    *pl"Остаток= "+money
    end
    elseif money<=0: *pl"у вас нет денег"
end
if money<=0:
money=0
*pl"у вас нет денег"
end

Poganec37
useravatar
Offline
14 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Poganec37 написал(а):


1. Прога должна выбрать по условию равенства переменной ver, но она идёт сразу в конец и в гендере пишет МУЖ, хотя по значению надо писать ЖЕН или ДЕТИ.

У тебя проверка случайного числа ver с другим случайным числом.

Код:


...
ver=rand(20,100)
...
if ver=rand(61,100):
...

Шанс совпадения двух случайных чисел в таком случае, если я не ошибаюсь, чуть больше одного процента. Первые два события будут происходить, считай, никогда. Поэтому подключается последнее условие (иначе: МУЖ).
Должно быть:

Код:


...
if ver>=61:
...
elseif ver>=41 and ver<=60:
...

Engineer
useravatar
Offline
14 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Спасибо, сработало. Есть ещё 1 косяк, который я не понимаю.
Когда я  вошел на  магазин - высвечивается товар с ценой и действием КУПИТЬ.
действие КУПИТЬ должна работать так: вот я зашел на локацию магазина- висит товар. купил- деньги вычитаются из общей суммы.
А в реале код программы выполняет следующее:  вот игрок зашел на локацию магазина- висит товар. Если выполнить КУПИТЬ, то высвечивается товар следующий и цена этого товара вычитается из общей суммы.
А тот товар, который при входе был- вообще не учитывается.
Можно ли это исправить? я не вижу чем.
Сработало-то срадотало. Но первый товар также не учитывается. не понимаю, как исправить. Фишка с переносом на верх не работает.

Poganec37
useravatar
Offline
14 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
1027
Всего опросов:
14
Всего сообщений:
16790433
Сообщений на этой неделе:
10
Пользователи форума:
 
Всего пользователей:
2258
Последним зарегистрировался:
новичок