Скрипты - Страница 86 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.

Ответ
Страница 86 из 237
 
Опции темы
#1276
Старый 06.05.2013, 17:08
  #1276
^
Warrior777
 
Аватар для Warrior777
📖
Регистрация: 15.09.2012
Адрес: Под кроватью
Сообщения: 602
Регистрация: 15.09.2012
Адрес: Под кроватью
Сообщения: 602
По умолчанию
Re: Скрипты

	
hp = random(1);
dp = random(1);
tep = random(1);

function politica()
	while 1 do
		if dp == 1 then
			SetPlayerTeam(2,1);
			print("Demon is on you!");
			sleep(5);
		else
			SetPlayerTeam(2,2);
			print("Demon is not on you");
			sleep(5);
		end;
		if hp == 1 then
			SetPlayerTeam(3,1);
			print("Human is on you!");
			sleep(5);
		else
			SetPlayerTeam(3,3);
			print("Human is not on you");
			sleep(5);
		end;
		if tep == 1 then
			SetPlayerTeam(4,1);
			print("Dark elf is on you!");
			sleep(5);
		else
			SetPlayerTeam(2,2);
			print("Dark elf is not on you");
			sleep(5);
		end;
	end;
end;

startThread(politica);

1)Как сделать так, чтобы print постоянно не писал одни и те же сообщения?
2)Значения hp, dp и tep постоянно равны 0. Не является ли это ошибкой скрипта или пакости рандома?
__________________
502 Bad Gateway

__________________________________

nginx/0.8.54
502 Bad Gateway

__________________________________

nginx/0.8.54
Warrior777 вне форума
Ответить с цитированием
#1277
Старый 06.05.2013, 17:11
  #1277
^
Heroist
 
Аватар для Heroist
📖
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
По умолчанию
Re: Скрипты

сори не туда (редактирую, если что удалю)

Добавлено через 1 минуту
Warrior, цикл ... (тут фунцию щас вставлю)остановить
__________________
Whatever
Whatever
Heroist вне форума
Ответить с цитированием
#1278
Старый 06.05.2013, 17:15
  #1278
^
Warrior777
 
Аватар для Warrior777
📖
Регистрация: 15.09.2012
Адрес: Под кроватью
Сообщения: 602
Регистрация: 15.09.2012
Адрес: Под кроватью
Сообщения: 602
По умолчанию
Re: Скрипты

А на второй вопрос мне тоже нужен ответ
__________________
502 Bad Gateway

__________________________________

nginx/0.8.54
502 Bad Gateway

__________________________________

nginx/0.8.54
Warrior777 вне форума
Ответить с цитированием
#1279
Старый 06.05.2013, 17:16
  #1279
^
Heroist
 
Аватар для Heroist
📖
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
По умолчанию
Re: Скрипты

насчет breake: ступил, поправил

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

пример:

	a = 0
b = 0
c = 0
hp = random(1);
dp = random(1);
tep = random(1);

function politica()
	while 1 do
		if dp == 1 and a == 0 then
a = 1
			SetPlayerTeam(2,1);
			print("Demon is on you!");
			sleep(5);
		else
			SetPlayerTeam(2,2);
			print("Demon is not on you");
			sleep(5);
		end;
		if hp == 1 and b == 0 then
b = 1
			SetPlayerTeam(3,1);
			print("Human is on you!");
			sleep(5);
		else
			SetPlayerTeam(3,3);
			print("Human is not on you");
			sleep(5);
		end;
		if tep == 1 and c == 0 then
c = 1
			SetPlayerTeam(4,1);
			print("Dark elf is on you!");
			sleep(5);
		else
			SetPlayerTeam(2,2);
			print("Dark elf is not on you");
			sleep(5);
		end;

	end;
end;

startThread(politica); 
__________________
Whatever
Whatever
Heroist вне форума
Ответить с цитированием
#1280
Старый 06.05.2013, 17:16
  #1280
^
Warrior777
 
Аватар для Warrior777
📖
Регистрация: 15.09.2012
Адрес: Под кроватью
Сообщения: 602
Регистрация: 15.09.2012
Адрес: Под кроватью
Сообщения: 602
По умолчанию
Re: Скрипты

Насколько я знаю, break полностью останавливает while, или нет?
__________________
502 Bad Gateway

__________________________________

nginx/0.8.54
502 Bad Gateway

__________________________________

nginx/0.8.54
Warrior777 вне форума
Ответить с цитированием
#1281
Старый 06.05.2013, 17:17
  #1281
^
Heroist
 
Аватар для Heroist
📖
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
По умолчанию
Re: Скрипты

breake исправил

Второй вопрос: random (1) возвращает числа от 0 до (число в скобках) - 1

таким образом, у вас рандом получается от 0 до 1-1 = 0

а надо random (2) = выпадает или 0 или 1
__________________
Whatever
Whatever
Heroist вне форума
Ответить с цитированием
#1282
Старый 06.05.2013, 17:17
  #1282
^
Warrior777
 
Аватар для Warrior777
📖
Регистрация: 15.09.2012
Адрес: Под кроватью
Сообщения: 602
Регистрация: 15.09.2012
Адрес: Под кроватью
Сообщения: 602
По умолчанию
Re: Скрипты

блин можно выделить скрипт тегом [code] а то неудобно будет его вставлять
__________________
502 Bad Gateway

__________________________________

nginx/0.8.54
502 Bad Gateway

__________________________________

nginx/0.8.54
Warrior777 вне форума
Ответить с цитированием
#1283
Старый 06.05.2013, 17:17
  #1283
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2369
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2369
Выставка наград
По умолчанию
Re: Скрипты

Warrior777
	
hp = random(1);
dp = random(1);
tep = random(1);

function politica()
	while 1 do
		if dp == 1 then
			SetPlayerTeam(2,1);
			print("Demon is on you!");
			sleep(5);
		else
			SetPlayerTeam(2,2);
			print("Demon is not on you");
			sleep(5);
		end;
		if hp == 1 then
			SetPlayerTeam(3,1);
			print("Human is on you!");
			sleep(5);
		else
			SetPlayerTeam(3,3);
			print("Human is not on you");
			sleep(5);
		end;
		if tep == 1 then
			SetPlayerTeam(4,1);
			print("Dark elf is on you!");
			sleep(5);
		else
			SetPlayerTeam(2,2);
			print("Dark elf is not on you");
			sleep(5);
		end;
	end;
end;

startThread(politica);

1)Как сделать так, чтобы print постоянно не писал одни и те же сообщения?
2)Значения hp, dp и tep постоянно равны 0. Не является ли это ошибкой скрипта или пакости рандома?
Почитай в руководстве, как работает рандом.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1284
Старый 06.05.2013, 17:19
  #1284
^
Heroist
 
Аватар для Heroist
📖
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
По умолчанию
Re: Скрипты

брэйк убрал, код поправил. Слишком много сообщений сразу =)
__________________
Whatever
Whatever
Heroist вне форума
Ответить с цитированием
#1285
Старый 06.05.2013, 17:21
  #1285
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2369
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2369
Выставка наград
По умолчанию
Re: Скрипты

Heroistааа... блин, ступил. спасибо
Кстати, я тут немного переделал кампайную функцию по пересчету количества погибших врагов. Но она теперь работает странно. Не подскажите, что не так?
А что именно вам от неё надо?
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1286
Старый 06.05.2013, 17:22
  #1286
^
Heroist
 
Аватар для Heroist
📖
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
По умолчанию
Re: Скрипты

Добавлено через 1 минуту
RedHeavenHeroА что именно вам от неё надо?


Ну, чтобы после боя с героем 'Berein', в случае, если он таки победил, узнавалось число погибших существ врага и давалось ему в количестве 100% отборных костяшек
__________________
Whatever
Whatever
Heroist вне форума
Ответить с цитированием
#1287
Старый 06.05.2013, 17:41
  #1287
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2369
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2369
Выставка наград
По умолчанию
Re: Скрипты

HeroistДобавлено через 1 минуту



Ну, чтобы после боя с героем 'Berein', в случае, если он таки победил, узнавалось число погибших существ врага и давалось ему в количестве 100% отборных костяшек
	Trigger( COMBAT_RESULTS_TRIGGER, "combat_results" )

function combat_results(c)
	local we = -1
	if GetSavedCombatArmyPlayer(c, 1) == PLAYER_1 then we = 1 end
	if GetSavedCombatArmyPlayer(c, 0) == PLAYER_1 then we = 0 end
	if we ~= -1 then
		local they = 1 - we
		if GetSavedCombatArmyHero(c,we) == "Berein" then
			local stackscount = GetSavedCombatArmyCreaturesCount(c, they)
			for i=0,stackscount-1 do
				local creature, creaturescount, died = GetSavedCombatArmyCreatureInfo(c, they, i)
				if died > 0 then
					AddHeroCreatures('Berein', 29, died)
				end
			end
		end
	end
end
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1288
Старый 06.05.2013, 17:44
  #1288
^
Heroist
 
Аватар для Heroist
📖
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
По умолчанию
Re: Скрипты

Добавлено через 1 минуту
вроде все ясно, кроме одного:

а что вообще означает we ~= -1 ? Он же вроде становится равен 1/0
__________________
Whatever
Whatever
Heroist вне форума
Ответить с цитированием
#1289
Старый 06.05.2013, 17:45
  #1289
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2369
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2369
Выставка наград
По умолчанию
Re: Скрипты

HeroistДобавлено через 1 минуту
вроде все ясно, кроме одного:

а что вообще означает we ~= -1 ? Он же вроде становится равен 1/0
На случай, если игрок 1 не участвовал в бою.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1290
Старый 06.05.2013, 17:46
  #1290
^
Heroist
 
Аватар для Heroist
📖
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 12465
Выставка наград
По умолчанию
Re: Скрипты

ааа. все, теперь понял. Большое спасибо.
__________________
Whatever
Whatever
Heroist вне форума
Ответить с цитированием
Ответ
Страница 86 из 237


Опции темы



Часовой пояс GMT +4, время: 07:37.


vBulletin v3.5.0, Copyright ©2000-2021, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru