Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Скрипт "Крестьянин-Налогоплательщик"
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III > Моды > Скрипты
aurangzeb_inferno
Доброго времени суток всем, кто посещает этот форум.

Хочу предложить свой первый скрипт, исправляющий "несправедливость" в виде отсутствия налога с крестьян. Налог составляет 1 монету с человека в день. В случае каких-либо ошибок просьба писать на почтовый ящик.

Тем кто заинтересован, просьба написать в этой теме, я выложу скрипт в виде текста или перешлю готовый (по каким-то причинам я не могу загрузить в тему прикрепленный файл).
Docent Picolan
прикрепления у нас по доброй традиции не работают smile.gif так что для выкладки можете использовать любой из воистину широкого спектра обменников)
Iv
Выложи на RGhost, например. Вот так
gamecreator
не надо rghost, я же с него потом не скачаю с моим скачущим ip. лучше сюда
XEL
Сендспейс тоже очень хорош.
aurangzeb_inferno
Скачать отсюда. Оценки/комментарии приветствуются.
tolich
Ещё можно прямо в сообщении выложить текст скрипта, в codebox.
CODE
#include <iostream.h>

void main()
{
cout<<"Hello, kitty!"<<endl;
}
gamecreator
замечания по коду:
можно обойтись без глобальных переменных (локальные начинаются на у)
не стоит пренебрегать встроенным счетчиком цикла х16
золото прибавится в размере кратном количеству игроков. таймер для каждого игрока работает, а проверки на владельца нет
напрямую прибавить к значению аргумента можно с помощью модификатора d
для параметров функции работает модификатор получения ?
значения параметров функции сохраняются на протяжении всего цикла
ну и обход армии героя можно было тоже циклом сделать, но это на любителя.

Цитата(tolich @ 01 May 2012, 00:19) *
в codebox
хотел бы я знать какой злой человек поставил ему фиксированную высоту
tolich
Это добрый человек. Для больших текстов прокрутка.
CODE
ZVSE
!#UN:P800/?v5000;
!#VRy1&v5000=1:S1;
!#TM51&v5000=1:S1/999/y1/255;
!#VRz639&v5000=1:Sz190139;
!#UN&v5000=1:G1/139/2/639;
!?TM51;
!!VRv5002:S0;
!!VRv5003:S0;
!!OW:R-1/6/?v5004;
!!DO20900/0/155/1:P;
!!VRv5001:Sv5004+v5002;
!!OW:R-1/6/v5001;
!?FU20900&v5000=1;
!!HEv5003:C0/0/?y3/?y2; !!VRv5002&y3=139:Sv5002+y2;
!!HEv5003:C0/1/?y3/?y2; !!VRv5002&y3=139:Sv5002+y2;
!!HEv5003:C0/2/?y3/?y2; !!VRv5002&y3=139:Sv5002+y2;
!!HEv5003:C0/3/?y3/?y2; !!VRv5002&y3=139:Sv5002+y2;
!!HEv5003:C0/4/?y3/?y2; !!VRv5002&y3=139:Sv5002+y2;
!!HEv5003:C0/5/?y3/?y2; !!VRv5002&y3=139:Sv5002+y2;
!!HEv5003:C0/6/?y3/?y2; !!VRv5002&y3=139:Sv5002+y2;
!!VRv5003:+1;


А для маленьких есть code:
Код
#include <iostream.h>

void main()
{
cout<<"Hello, kitty!"<<endl;
}
gamecreator
Цитата(tolich @ 01 May 2012, 00:30) *
Это добрый человек. Для больших текстов прокрутка.
нет, злой. max-height же
aurangzeb_inferno
Цитата(gamecreator @ 01 May 2012, 00:25) *
замечания по коду:
1) можно обойтись без глобальных переменных (локальные начинаются на у)
2) не стоит пренебрегать встроенным счетчиком цикла х16
3) золото прибавится в размере кратном количеству игроков. таймер для каждого игрока работает, а проверки на владельца нет
4) напрямую прибавить к значению аргумента можно с помощью модификатора d
5) для параметров функции работает модификатор получения ?
6) значения параметров функции сохраняются на протяжении всего цикла
7) ну и обход армии героя можно было тоже циклом сделать, но это на любителя.


Отвечу как смогу, и поскольку я новичок в этом деле, хочу задать вопросы:

1) какую именно глобальную переменную я использовал? Покажите мне ее в моем коде, пожалуйста.
2) кажется я использовал его, нет? если нет, то как ом мне помог бы в данной ситуации?
3) золото прибавляется всем игрокам, если я правильно понял вашу мысль? мое упущение, нужно добавить проверку на владельца армии.
4) где этот метод можно использовать? покажите мне, пожалуйста, на примере моего кода.
5) что это означает? получение чего?
6) то есть, если у нескольких игроков будут крестьяне в армии, то деньги за них будут получать все игроки за всех крестьян в армиях у всех игроков оптом (например, 3 игрока, у каждого по 100 крестьян, значит каждый игрок получит по 300 монет в день?)?
7) делать циклом пробовал, результат не сильно меня впечатлил.

Как всегда, вопросов, больше чем ответов smile.gif

С праздником, господа! С 1 Мая!
gamecreator
да, мутно я написал. как всегда. сейчас проиллюстрирую на примере
а глобальные переменные - это v
gamecreator
инструкции остались прежними. не тестировал.
CODE
!?TM51;
!!OW:С?y1; получаем владельца
!!DO20900/0/155/1:Py1/?y2; передаем его в функцию и забираем результат в у2
!!OW:R-1/6/dy2; добавляем золото

!?FU20900; если проверка уже есть на этапе установки таймера, то здесь она не нужна
!!HEx16:O?y1; используем счетчик цикла х16, он будет принимать значения от 0 до 155 включительно
!!FU&x1<>y1:E; отмена, если владелец не совпал
!!DO20901/0/6/1:Px16/?y2; получаем количество крестьян у этого героя
!!VRx2:+y2; прибавляем к количеству у игрока

!?FU20901; приблизительно так должна выглядет функция проверки отряда
!!HEx1:C0/x16/?y1/?y2;
!!VRx2&y1=139:+y2;
hippocamus
А может, брать деньги только с гарнизонных крестьян? Нелогично, если, находясь в регулярной армии, они тоже вынуждены платить налоги. Это сподвигнет героя оставлять крестьян в замках.
tolich
А я считаю, что армия вообще не должна платить игроку. Это он ей должен платить зарплату.
Berserker
Где-то это уже сделано... ))
tolich
В King's Bounty. wink.gif

RZT? MoP? Нет, не слышал.
gamecreator
Цитата(tolich @ 27 May 2012, 08:22) *
RZT? MoP? Нет, не слышал.
так там и нет жалования же
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.