Урок № 13. Изменение моделей офицеров, горожан и т.д.
Джин-Бейн Дата: Среда, 11.01.2012, 15:36 | Сообщение # 41
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Я в отчаяние, выложи плиз весь код по гаражанам, если не можешь тут то тогда в личку. Вот выкладываю весь свой код по гаражанам, что я пробовал (и не прокатило опять) измененая мной строчка выделена жирным.
arrayNPCModelHow = 0; if (checkAttribute(loc, "citizens") || loc.type == "church") { iCitizensQuantity = rand(8) + 6; if (loc.type == "church") iCitizensQuantity = rand(6) + 2; for(i=0; i<iCitizensQuantity; i++) { if(iNation != PIRATE || sti(Colonies[iColony].HeroOwn) == true) { // пусть нормальные горожане будут тоже, куда без жителей? солдаты == пираты - это да if (loc.type == "church") iSex = MAN; else iSex = rand(WOMAN); sType = "citizen_"+(rand(13)+1); iChar = NPC_GeneratePhantomCharacter("citizen", iNation, iSex, 2); } else { iSex = MAN; sType = "pirate"; iChar = NPC_GeneratePhantomCharacter("pirate", iNation, iSex, 2); } chr = &characters[iChar]; SetNPCModelUniq(chr, sType, iSex); chr.City = Colonies[iColony].id; chr.CityType = "citizen"; /* to_do if(!CheckAttribute(chr, "quest.questflag") && iNation != PIRATE) { int isQuest = rand(15); if(isQuest == 1) { chr.quest.questflag = GeneratePassengerQuest(chr, 0, "", 0, rand(1), 0, 0); } } */ LAi_SetLoginTime(chr, 6.0, 21.99); if (sti(chr.nation) == PIRATE && sti(Colonies[iColony].HeroOwn) != true) { LAi_SetWarriorType(chr); LAi_warrior_DialogEnable(chr, true); } else { if (loc.type == "church" && chr.sex == "man") { LAi_SetSitType(chr); } else { LAi_SetCitizenType(chr); } } if (LAi_IsCapturedLocation) // to_do трупы на земле, пока не работет, тк суда не доходит { chr.location.loadcapture = 1; LAi_SetActorType(chr); LAi_ActorSetLayMode(chr); LAi_SetImmortal(chr, 1); LAi_group_MoveCharacter(chr, LAI_GROUP_PLAYER_OWN); } else { if (sti(Colonies[iColony].HeroOwn) == true) { LAi_group_MoveCharacter(chr, LAI_GROUP_PLAYER_OWN); } else { LAi_group_MoveCharacter(chr, slai_group); } } if (loc.type == "church" && chr.sex == "man") { PlaceCharacter(chr, "sit", "random_free"); } else { PlaceCharacter(chr, "goto", "random_free"); } if (loc.type == "church") { chr.dialog.filename = "Enc_Walker.c"; chr.nonTable = true; } else { chr.dialog.filename = "Common_citizen.c"; } chr.dialog.currentnode = "first time"; /*if(chr.sex == "man") { chr.dialog.currentnode = SelectTutorial(); if(chr.dialog.currentnode != "First Time") { chr.tutorial.link = chr.dialog.currentnode; chr.quest.questflag.model = ""; if(sti(InterfaceStates.EnabledQuestsMarks) == 1 && LAi_IsCapturedLocation == false) { if(sti(InterfaceStates.EnabledQuestsMarks) == 1) { chr.quest.questflag.model = "questionmarkI"; chr.quest.questflag.technique = GetTechNameForSign(); } } } } */ if(sti(chr.nation) == PIRATE && sti(Colonies[iColony].HeroOwn) != true) { chr.greeting = "pirat_common"; } else { if(chr.sex == "man") { chr.greeting = "cit_common"; } else { chr.greeting = "Gr_Woman_Citizen"; } } } }
Это код из Гапака
Сообщение отредактировал Джин-Бейн - Среда, 11.01.2012, 15:38
Myth Дата: Среда, 11.01.2012, 15:40 | Сообщение # 42
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
Джин-Бейн , а ты уверен что в ГПК родных моделей 14?
Myth: Make Your Thought Heard
Джин-Бейн Дата: Среда, 11.01.2012, 16:14 | Сообщение # 43
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Родных моделей там двенадцать. Тока смотрел, у меня версия 1.2. Я хочу две добавить, поэтому и прописываю в коде 13+1. Если ты пробовал гражданских добавить, выложи плиз свой вариант тода по этой теме.
Сообщение отредактировал Джин-Бейн - Среда, 11.01.2012, 17:05
Myth Дата: Суббота, 14.01.2012, 18:38 | Сообщение # 44
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
Джин-Бейн , к сожалению у меня не осталось подкорректированной копии файла. На днях буду не восстанавливать, а буду пытаться переписать метод с нуля из за пиратских городов. Как я понял они без жителей нормальных. Хочу попробовать перенести пиратов из липовой охраны в реальную и добавить жителей (возможно некоторые модели из ПКМ подойдут под стиль пиратов - горожан). Если метод корректно прокатит, то выложу. Добавлено (14.01.2012, 18:38) --------------------------------------------- Ух жесть! Переделал я код, генерирующий горожан. Они теперь могут быть и не с родной анимацией, ранг растет вместе с рангом ГГ, теперь они не будут слабаками всю игру. В пиратских поселениях теперь тоже есть горожане, правда, стража исчезла, но надо лишь поработать с локаторами через TOOL (нет нужной группы локаторов для стражи). Джин-Бейн , распишу все в виде новой части урока, и выложу. Будет в виде второй главы к первому уроку про офицеров.
Myth: Make Your Thought Heard
Сообщение отредактировал Myth - Суббота, 14.01.2012, 20:49
Джин-Бейн Дата: Воскресенье, 15.01.2012, 14:49 | Сообщение # 45
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Ну вот и отлично, получиться полный урок , будем ждать
Myth Дата: Воскресенье, 15.01.2012, 19:38 | Сообщение # 46
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
Джин-Бейн , урок написал, выложил в том сообщении, где и первый. Часть вторая: горожане.
Myth: Make Your Thought Heard
Джин-Бейн Дата: Понедельник, 16.01.2012, 00:46 | Сообщение # 47
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Ну вот и чудненько
Myth Дата: Понедельник, 16.01.2012, 16:17 | Сообщение # 48
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
Джин-Бейн , думаю тут вопросов не будет, но если что: спрашивай.
Myth: Make Your Thought Heard
Джин-Бейн Дата: Вторник, 17.01.2012, 20:01 | Сообщение # 49
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Ок скоро попробую. Р.С. И локаторы для пировских патрулей по любому выставлю
revival Дата: Четверг, 10.05.2012, 16:30 | Сообщение # 50
Матрос
Группа: Пират
Сообщений: 44
Награды:
1
Репутация:
9
Статус: В открытом море
Народ кто нибудь выложите пожалуйста оригинальный чистый LAi_utilites очень нужно. Спасибо!
Джин-Бейн Дата: Пятница, 11.05.2012, 13:10 | Сообщение # 51
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
revival , На лови, под полоской на которой написано "Нажмите, чтоб увидеть прикрепления к посту"
Сообщение отредактировал Джин-Бейн - Пятница, 11.05.2012, 13:12
revival Дата: Среда, 16.05.2012, 16:56 | Сообщение # 52
Матрос
Группа: Пират
Сообщений: 44
Награды:
1
Репутация:
9
Статус: В открытом море
Джин-Бейн , А мифу в скриптах еще копаться и копаться. Есть способ проще.
корсар180 Дата: Суббота, 09.06.2012, 13:21 | Сообщение # 53
Матрос
Группа: Корсар
Сообщений: 51
Награды:
0
Репутация:
2
Статус: В открытом море
подскажите папку в которой находятся горожане в версии 1.3.2
revival Дата: Суббота, 09.06.2012, 13:48 | Сообщение # 54
Матрос
Группа: Пират
Сообщений: 44
Награды:
1
Репутация:
9
Статус: В открытом море
корсар180 , в версии 1.3.2 скрипты закрыты! Там такое не провернуть!
Джин-Бейн Дата: Суббота, 20.10.2012, 00:55 | Сообщение # 55
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Myth , Попробовал наконец по части второй переписать горожан... вернее скопипастил отсюда, игра ваобще перестала запускаться, если у тебя сохранился файл с этими изменениями по гражданским скинь пожайлуста.
Новик4 Дата: Воскресенье, 08.11.2015, 16:15 | Сообщение # 56
Матрос
Группа: Корсар
Сообщений: 21
Награды:
0
Репутация:
4
Статус: В открытом море
И снова я и снова с вопросом. Как-то давно увлекался модостроем делал кой-какие правка, в том числе добавлял новых горожан. Но было это давно, а память у меня девичья. Прочитал этот урок и мягко говоря не понял. Хочу всего лишь добавить одну горожанку. Для этого обязательно заменять старый код на код, данный в этой теме?
WMC Дата: Воскресенье, 08.11.2015, 19:16 | Сообщение # 57
Матрос
Группа: Корсар
Сообщений: 53
Награды:
5
Репутация:
22
Статус: В открытом море
Цитата Новик4 (
)
Для этого обязательно заменять старый код на код, данный в этой теме?
Не обязательно. Можно сделать по-другому. В файле utils.c найдите вот этот фрагмент:Код
case "citizen": if(iSex == MAN) { sBody = "citiz"; iNumber = rand(21)+1; } else { sBody = "girl"; iNumber = rand(10)+1; } break;
Нас интересует то, что после else В данном случае у нас 11 моделей горожанок, а сами модели называются girl_1, girl_2, girl_3 и т.д. до girl_11 . Добавляем в папку с моделями нужную модель и обзываем её girl_12 , а строчку:iNumber = rand(10)+1; заменяем на iNumber = rand(11)+1; Только и всего. Начинаем новую игру. Теперь в городах будет генерироваться горожанка с моделью girl_12 .
Новик4 Дата: Воскресенье, 08.11.2015, 20:36 | Сообщение # 58
Матрос
Группа: Корсар
Сообщений: 21
Награды:
0
Репутация:
4
Статус: В открытом море
WMC , вот спасибо! А я то голову ломал над этим, искал как раз эти строки, но в другом документе.
dimonchik555 Дата: Воскресенье, 03.03.2019, 13:01 | Сообщение # 59
Пороховая обезьяна
Группа: Пират
Сообщений: 2
Награды:
0
Репутация:
0
Статус: В открытом море
а как женскому офицеру прописать женские имена?
xsenus Дата: Воскресенье, 16.06.2019, 14:48 | Сообщение # 60
Пороховая обезьяна
Группа: Пират
Сообщений: 7
Награды:
0
Репутация:
0
Статус: В открытом море
Цитата dimonchik555 (
)
а как женскому офицеру прописать женские имена?
Можно дописать статическое имя для каждой модели например chr.Name = "Мэри"; (фамилии будут разные, имя одно)