Перейти к содержанию
Друзья, важная новость! ×

Помогу в написании СКАР скрипта для МП-карт


Рекомендуемые сообщения

Привет всем мэпперам кого я знаю и не знаю (вторых наверное меньшенство)

Я давно хотел создать такой топег но то времени не было то желания. Теперь я объясню в чем смысл этого топега. Некоторые (да наверное большинство) из вас играла в мультиплеерные карты с телепортами\вызовом демона и т.д. (ну по крайней мере все играли в компанию ДК) И вам тоже хотелось создать такие карты, но вы не знали как. Так вот я готов вам помочь Я один из немногих кто занимается СКАР скриптованием и говорит по русски (Других если честно я не знаю :-)) Так вот я готов вам написать разные скрипты на вызов демона\телепорт. Могу на что либо другое (это предпочтительнее т.к. это интереснее) Так что все кто делает МП-карты на ДК стучитесь ко мне (280729999)

З.Ы. Я берусь только за МП карты - надеюсь хоть кто нибудь их делает :-)

3.3.Ы. Я не хочу делать скрипты которые уже сделали другие именно поэтмоу рекомендую валить по этому линку http://forums.relicnews.com/forumdisplay.php?f=137 - там вы найдете кучу инфы как сделать карты и сами карты (кстати их там будет много)

Ссылка на комментарий
Поделиться на другие сайты

  • 3 года спустя...

Так если не составит труда напишите плиз скриптик ,чтобы из расщелины варпа выползали демоны каждую минуту и было их всё больше и больше.

Вот карта

http://dump.ru/file/5185463

Зы выползать должны из центра и идти на базы игроков. Биения крови которые убивают пехоту которая подходит к этой расщелине. Расщелину желательно варп-портал. Я предполагаю что то но не знаю как. Знаю только маркеры , а вот скрипты..... Мапа ээмм брутальная очень для вот этого мода http://forums.warforge.ru/index.php?showto...0255&st=260

У иг есть орудие титана которое каждую минуту стреляет. Вот и всё

Изменено пользователем BoyChaos
Ссылка на комментарий
Поделиться на другие сайты

Я склоняюсь к мысли, что в данном случае некропостинг лучше, чем создание новой темы под такую "просьбу". Так что надеюсь модераторы проигнориуют это нарушение правил, совсем нестрашное. С другой стороны первый пост от 2007-ого года конечно сбивает с толку :D

---

И по существу:

Кто-нибудь вообще делает ещё карты для ДоВа? Для меня не проблема добавить на карту кой-каких скриптов и условий, потому что постоянно гонять скирмиш надоедает.

Так же у меня есть идеи (а точнее потребности в картах) для сценариев/миссий для ЧХ, ТА, и м.б. Стальных Легионов...

BoyChaos, конкретно, по твоему запросу, можно конечно попробовать. Единственное предупреждение, что я не собираюсь качать тот мод, и если буду делать, то для "чистого" DC. Потом тебе придется переделать под реалии "своего" мода

Изменено пользователем jONES
Ссылка на комментарий
Поделиться на другие сайты

И по существу:

Кто-нибудь вообще делает ещё карты для ДоВа? Для меня не проблема добавить на карту кой-каких скриптов и условий, потому что постоянно гонять скирмиш надоедает.

Так же у меня есть идеи (а точнее потребности в картах) для сценариев/миссий для ЧХ, ТА, и м.б. Стальных Легионов...

BoyChaos, конкретно, по твоему запросу, можно конечно попробовать. Единственное предупреждение, что я не собираюсь качать тот мод, и если буду делать, то для "чистого" DC. Потом тебе придется переделать под реалии "своего" мода

Тут надо говорить со мной, так как я понял что он хочет эту карту для моего мода.

Честно говоря мне нужнее - чтобы можно было ломать окружение, то есть элементы карты.

И во-вторых мне надо чтобы определенные элементы карты можно было захватить, как точку например)

jONES: Я могу тебе скинуть только Attrib от мода, так как если делать без него могут возникнуть лаги.

PS: Кто может помочь в написании кода для TaskBar? Надо только одно - чтобы у всех рас (у орков пость тоже) POP-ресурс отображался без прироста)

Изменено пользователем Михаил Зобов
Ссылка на комментарий
Поделиться на другие сайты

Честно говоря мне нужнее - чтобы можно было ломать окружение, то есть элементы карты.

И во-вторых мне надо чтобы определенные элементы карты можно было захватить, как точку например)

Это дофига делов, так что не ко мне, а к IronWarrior-у

Так что я ограничусь спавном демонов.

Кстати, под них нужен дополнительный/ свободный компьютерный игрок.

jONES: Я могу тебе скинуть только Attrib от мода, так как если делать без него могут возникнуть лаги.

Нет, спасибо, просто подставишь названия своих сквадов вместо стандартных.

Ссылка на комментарий
Поделиться на другие сайты

Это дофига делов, так что не ко мне, а к IronWarrior-у

Так что я ограничусь спавном демонов.

Кстати, под них нужен дополнительный/ свободный компьютерный игрок.

Нет, спасибо, просто подставишь названия своих сквадов вместо стандартных.

К IW - мне быстрее Папа Римский поможет, чем IW.

И тем более у него DT для SS, а мой мод под DC. На нем тоже идет, но вылетает.

Изменено пользователем Михаил Зобов
Ссылка на комментарий
Поделиться на другие сайты

Так если не составит труда напишите плиз скриптик ,чтобы из расщелины варпа выползали демоны каждую минуту и было их всё больше и больше.

Вот карта

http://dump.ru/file/5185463

Зы выползать должны из центра и идти на базы игроков. Биения крови которые убивают пехоту которая подходит к этой расщелине. Расщелину желательно варп-портал. Я предполагаю что то но не знаю как. Знаю только маркеры , а вот скрипты..... Мапа ээмм брутальная очень для вот этого мода http://forums.warforge.ru/index.php?showto...0255&st=260

У иг есть орудие титана которое каждую минуту стреляет. Вот и всё

А корованы там грабить можно будет?

Ссылка на комментарий
Поделиться на другие сайты

http://www.gamefront.com/files/20249168/The_curse_eye.scar

Вот, начало положено, дальше сами разбирайтесь, осваивайте программирование :D

Скрипт выставляет последнему игроку на карте расу "хаос", определяет его в "собственную" команду, т.е. этот игрок будет "против всех".

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

Каждые 10 сек создается отряд.

Отрядами рулит ИИ по своему компьютерному желанию.

Время между спавнами задаётся в начале скрипта. Там же, список доступных отрядов. В нем 5 позиций, но по умолчанию рандомом выбирается один из первых 3х.

Изменено пользователем jONES
Ссылка на комментарий
Поделиться на другие сайты

А где можно почитать про scar? Как на нем программировать. Я сам программирую на Pascal, VB.net и на Delphi. И думаю что в scar разберусь довольно быстро.

Ссылка на комментарий
Поделиться на другие сайты

А где можно почитать про scar? Как на нем программировать. Я сам программирую на Pascal, VB.net и на Delphi. И думаю что в scar разберусь довольно быстро.

Тебе точно 15 лет? :D

Описание Scar-функций идут в комплекте или DoW Mod Tools. Поищи там каталог ScarDoc\

Язык там lua, тот же что для программирования AI, только набор доступных функций другой. Собственно, так и считай, что Scar - это библиотека функций. В инете кстати тоже есть инфа, и даже переведенный на русский tutorials.

Изменено пользователем jONES
Ссылка на комментарий
Поделиться на другие сайты

http://www.gamefront.com/files/20249168/The_curse_eye.scar

Вот, начало положено, дальше сами разбирайтесь, осваивайте программирование :D

Скрипт выставляет последнему игроку на карте расу "хаос", определяет его в "собственную" команду, т.е. этот игрок будет "против всех".

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

Каждые 10 сек создается отряд.

Отрядами рулит ИИ по своему компьютерному желанию.

Время между спавнами задаётся в начале скрипта. Там же, список доступных отрядов. В нем 5 позиций, но по умолчанию рандомом выбирается один из первых 3х.

А как сделать что бы он выбирал из 20 юнитов?

Ссылка на комментарий
Поделиться на другие сайты

А как сделать что бы он выбирал из 20 юнитов?

По аналогии.

Там табличка из 5 разных "отрядов"

И функция которая рандомом выбирает индекс, 1 из 3, (+ на другие 2 вероятность выбора задана 0)

Добавь отрядов в таблицу и перепиши функцию выбора индекса

Ссылка на комментарий
Поделиться на другие сайты

По аналогии.

Там табличка из 5 разных "отрядов"

И функция которая рандомом выбирает индекс, 1 из 3, (+ на другие 2 вероятность выбора задана 0)

Добавь отрядов в таблицу и перепиши функцию выбора индекса

Ссылка на комментарий
Поделиться на другие сайты

Вот что я имею
-------------------------------------------------
--[[ IMPORTS ]]
-------------------------------------------------
import("ScarUtil.scar")
import("WXPScarUtil.scar")


_debug_mode = true

g_spawn_squad_table = { "chaos_marine_squad", "chaos_havoc_squad", "chaos_noise_marine_squad",

"chaos_plague_marine_squad", "chaos_rubric_marine_squad", "chaos_squad_khorne_berserker", "chaos_squad_scorpion",

"chaos_squad_land_raider", "chaos_squad_bloodthirster" }
g_spawn_time_interval = 1 --60
g_player_daemon = nil
g_player_daemon_spawn_pos = nil
-------------------------------------------------
--[[ GAME SETUP ]]
-------------------------------------------------

--[[ the OnGameSetup() function is mandatory! ]]
function OnGameSetup()
local i_last_player = World_GetPlayerCount()-1
g_player_daemon = Setup_Player (i_last_player, "Daemons", "chaos_marine_race", 8)
end

function OnGameRestore()
local i_last_player = World_GetPlayerCount()-1
g_player_daemon = World_GetPlayerAt( i_last_player)

g_player_daemon_spawn_pos = Player_GetStartPosition( g_player_daemon )
end
-------------------------------------------------
--[[ ON INITIALIZATION ]]
-------------------------------------------------

function OnInit()
if _debug_mode then
FOW_RevealAll()
end

---

local i_last_player = World_GetPlayerCount()-1
g_player_daemon = World_GetPlayerAt( i_last_player)

Util_GetSquadsByBP( SGroup_GetName(Player_GetSquads(g_player_daemon)), "g_PlayerAI_builders",

"chaos_squad_slave")
g_player_daemon_SG = SGroup_FromName("g_PlayerAI_builders")

if (SGroup_Count(g_player_daemon_SG) > 0) then
SGroup_DestroyAllSquads("g_PlayerAI_builders")
end
SGroup_Clear( g_player_daemon_SG )

Player_RestrictSquad( g_player_daemon, "chaos_squad_slave" )

---

g_player_daemon_spawn_pos = Player_GetStartPosition( g_player_daemon )

Rule_AddInterval(Rule_SpawnDaemons, g_spawn_time_interval)
end

Scar_AddInit(OnInit)


function Rule_SpawnDaemons()


if( Player_IsAlive(g_player_daemon) ) then
local i_squad_index = Select_Squad_Index()
local i_num_squad = 1

if i_squad_index < 9 then
i_num_squad = math.mod(0, 8) + 1
end

--print(i_squad_index)
--print(g_spawn_squad_table[i_squad_index])
Util_CreateSquadsAtPositionRandom(g_player_daemon, "SG_player_daemon", g_spawn_squad_table[i_squad_index],

g_player_daemon_spawn_pos, i_num_squad)
end
end


function Select_Squad_Index()

iBuildProgram1 = 15
iBuildProgram2 = 12
iBuildProgram3 = 12
iBuildProgram4 = 12
iBuildProgram5 = 12
iBuildProgram6 = 12
iBuildProgram7 = 10
iBuildProgram8 = 10
iBuildProgram9 = 5

-- Now choose a program
iBuildProgram2 = iBuildProgram1 + iBuildProgram2
iBuildProgram3 = iBuildProgram2 + iBuildProgram3
iBuildProgram4 = iBuildProgram3 + iBuildProgram4
iBuildProgram5 = iBuildProgram4 + iBuildProgram5
iBuildProgram6 = iBuildProgram5 + iBuildProgram6
iBuildProgram7 = iBuildProgram6 + iBuildProgram7
iBuildProgram8 = iBuildProgram7 + iBuildProgram8
iBuildProgram9 = iBuildProgram8 + iBuildProgram9

local iRandom = World_GetRand(1, iBuildProgram5)
if (iRandom <= iBuildProgram1) then
return 1
elseif (iRandom <= iBuildProgram2) then
return 2
elseif (iRandom <= iBuildProgram3) then
return 3
elseif (iRandom <= iBuildProgram4) then
return 4
elseif (iRandom <= iBuildProgram5) then
return 5
elseif (iRandom <= iBuildProgram6) then
return 6
elseif (iRandom <= iBuildProgram7) then
return 7
elseif (iRandom <= iBuildProgram8) then
return 8
elseif (iRandom <= iBuildProgram9) then
return 9
end

end
Ссылка на комментарий
Поделиться на другие сайты

А как сделать условие победы, чтобы в при его использовании изменялись некоторые числовые значения, указанные в модификаторах в .rgd?

То есть, у меня при захвате точки прирост лимита 50\25, а я хочу чтобы про использовании условия он был 5\5 например.

Ссылка на комментарий
Поделиться на другие сайты

А как сделать условие победы, чтобы в при его использовании изменялись некоторые числовые значения, указанные в модификаторах в .rgd?

То есть, у меня при захвате точки прирост лимита 50\25, а я хочу чтобы про использовании условия он был 5\5 например.

Я чото плохо представляю, как у тебя сделано " при захвате точки прирост лимита 50\25". В корсиксе есть кнопка в контекстном меню, "dump to lua", вот ты сделай дамп, и выложи тут кусок кода с модификатором. Я погляжу к какому месту ты его прикрутил и подумаю.

В общем случае, надо сделать модификатор, который сминусует тебе прирост лимита, т.е. -45 к твоим 50

Надо впрочем тестить, будет ли работать, т.к. всяко может быть...

Изменено пользователем jONES
Ссылка на комментарий
Поделиться на другие сайты

Я чото плохо представляю, как у тебя сделано " при захвате точки прирост лимита 50\25". В корсиксе есть кнопка в контекстном меню, "dump to lua", вот ты сделай дамп, и выложи тут кусок кода с модификатором. Я погляжу к какому месту ты его прикрутил и подумаю.

В общем случае, надо сделать модификатор, который сминусует тебе прирост лимита, т.е. -45 к твоим 50

Надо впрочем тестить, будет ли работать, т.к. всяко может быть...

Я неправильно выразился :183_posteroops:, я имею ввиду, что припостройке Пункта Прослушки срабатывает модификатор.

Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...