Перейти к содержанию

Сообщения от Скрипты

Аватар пользователя
#1292

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
Аватар пользователя
#1293
сори не туда (редактирую, если что удалю)

Добавлено через 1 минуту
Warrior, цикл ... (тут фунцию щас вставлю)остановить

Whatever
Аватар пользователя
#1294
А на второй вопрос мне тоже нужен ответ
502 Bad Gateway
__________________________________
nginx/0.8.54
Аватар пользователя
#1295
насчет 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
Аватар пользователя
#1296
Насколько я знаю, break полностью останавливает while, или нет?
502 Bad Gateway
__________________________________
nginx/0.8.54
Аватар пользователя
#1297
breake исправил

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

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

а надо random (2) = выпадает или 0 или 1

Whatever
Аватар пользователя
#1298
блин можно выделить скрипт тегом
а то неудобно будет его вставлять
502 Bad Gateway
__________________________________
nginx/0.8.54
В ответ пользователю Warrior777
Аватар пользователя
#1299
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
Аватар пользователя
#1300
брэйк убрал, код поправил. Слишком много сообщений сразу =)

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
#1302
Добавлено через 1 минуту
RedHeavenHero
А что именно вам от неё надо?


Ну, чтобы после боя с героем 'Berein', в случае, если он таки победил, узнавалось число погибших существ врага и давалось ему в количестве 100% отборных костяшек :smile51: :smile51: :smile51:

Whatever
В ответ пользователю Heroist
Аватар пользователя
#1303
Heroist
Добавлено через 1 минуту


Ну, чтобы после боя с героем 'Berein', в случае, если он таки победил, узнавалось число погибших существ врага и давалось ему в количестве 100% отборных костяшек :smile51: :smile51: :smile51:
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
Аватар пользователя
#1304
Добавлено через 1 минуту
вроде все ясно, кроме одного:

а что вообще означает we ~= -1 ? Он же вроде становится равен 1/0

Whatever
В ответ пользователю Heroist
Аватар пользователя
#1305
Heroist
Добавлено через 1 минуту
вроде все ясно, кроме одного:

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
#1306
ааа. все, теперь понял. Большое спасибо.

Whatever

Статистика

Приветствуем новейшего участника: Фёдор Фёдорович