Урок № 13. Изменение моделей офицеров, горожан и т.д.
Myth Дата: Четверг, 29.12.2011, 13:26 | Сообщение # 21
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
посмотри как в коде на нацию у меня пираты прописаны. chr.model = "citizen"+(rand(13)+1); вот верный вариант
Myth: Make Your Thought Heard
Сообщение отредактировал Myth - Четверг, 29.12.2011, 13:35
Джин-Бейн Дата: Четверг, 29.12.2011, 14:31 | Сообщение # 22
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Понял. Опять моя не внимательность, просто я пока между делом это делаю =), уборка у меня дома)) Добавлено (29.12.2011, 14:12) --------------------------------------------- Myth , МАЙКА ЗАПУСТИЛАСЬ!!!! Добавлено (29.12.2011, 14:31) --------------------------------------------- Попробовал... в место того чтоб добавить горожанина код убирает все гражданское население с городов, кроме торговцев и квестодателей(( вот кусок кода для горожан с изменение рекомендованым тобой (выделено жирным)
// горожане --> arrayNPCModelHow = 0; if (checkAttribute(loc, "citizens") || loc.type == "church") { iCitizensQuantity = rand(8) + 6; if(loc.type == "church") { iCitizensQuantity = rand(6) + 2; if(Colonies[iColony].id == "Caiman") { int iPopulation = sti(PChar.ColonyBuilding.Population); iCitizensQuantity = iPopulation / 60; } if(iCitizensQuantity > 8) iCitizensQuantity = 8; } if(PChar.DisappearPeople.Action == true) { iCitizensQuantity /= 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); } if(IsSanJuan(loc) && bSanJuanIsDamned) { iSex = MAN; } sType = "citizen"; iChar = NPC_GeneratePhantomCharacter("citizen", iNation, iSex, 1); } else { iSex = MAN; sType = "pirate"; iChar = NPC_GeneratePhantomCharacter("pirate", iNation, iSex, 1); } chr = &characters[iChar]; chr.model = "citizen"+(rand(13)+1); chr.City = Colonies[iColony].id; chr.CityType = "citizen"; chr.CanChangeModel = true; /* 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") { if(rand(1) == 1) { chr.greeting = "cit_common1"; } else { chr.greeting = "cit_common"; } } else { chr.greeting = "Gr_Woman_Citizen"; } } // горожане <--
Сообщение отредактировал Джин-Бейн - Четверг, 29.12.2011, 14:33
Myth Дата: Четверг, 29.12.2011, 16:22 | Сообщение # 23
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
Джин-Бейн , завтра отпишу, как еще можно сделать их.
Myth: Make Your Thought Heard
Джин-Бейн Дата: Четверг, 29.12.2011, 16:58 | Сообщение # 24
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Ок я пока майкой побалуюсь
Myth Дата: Пятница, 30.12.2011, 13:21 | Сообщение # 25
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
Джин-Бейн , если я правильно понял у горожан модели надо прописать sType = модели, только обрати внимание что там есть деление на пол.
Myth: Make Your Thought Heard
Джин-Бейн Дата: Суббота, 31.12.2011, 01:03 | Сообщение # 26
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Myth , Это все замечательно. но как добавить модель все таки?
Myth Дата: Суббота, 31.12.2011, 10:09 | Сообщение # 27
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
Джин-Бейн , немного не понял тебя. sType и после равно должны быть модели.
Myth: Make Your Thought Heard
Джин-Бейн Дата: Пятница, 06.01.2012, 14:46 | Сообщение # 28
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Ок понял тебя. Как тока освобожусь)) после праздников попробую.Добавлено (06.01.2012, 14:46) --------------------------------------------- Вот оригинал
// горожане --> 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"; 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"; } } } } // горожане <--
Как я делал уже забыл всеравно не получилось. Где здесь править чтоб горожан добавить, какую строку?
Myth Дата: Суббота, 07.01.2012, 18:12 | Сообщение # 29
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
Джин-Бейн , извиняюсь что сразу не ответил. Проглядел что ты сюда написал. Тут хитрость в том, что тот кусок кода генерирует и горожан и церковь. sType = "citizen"; нужно править. После равно указывай лишь модели chr.model не нужна.
Myth: Make Your Thought Heard
Джин-Бейн Дата: Воскресенье, 08.01.2012, 18:28 | Сообщение # 30
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Пробовал я в общем и sType = "citizen_13"; и sType = "citizen"+(rand(13)+1); нифига не вышло. Новые модели так и не видать. Хотел добавить две.
Myth Дата: Среда, 11.01.2012, 11:40 | Сообщение # 31
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
Джин-Бейн , как смогу найти время, попробую переделать метод генерирующий горожан, если получится скину. А старые модели были когда ты пробовал "citizen"+(rand(13)+1)?
Myth: Make Your Thought Heard
Джин-Бейн Дата: Среда, 11.01.2012, 13:10 | Сообщение # 32
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Quote (Myth )
А старые модели были когда ты пробовал "citizen"+(rand(13)+1)?
Смотря в каой строке вставлять этот код. Когда и проподают все гражданские, когда тока старые модели.
Myth Дата: Среда, 11.01.2012, 13:31 | Сообщение # 33
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
Джин-Бейн , как новая модель называется?
Myth: Make Your Thought Heard
Джин-Бейн Дата: Среда, 11.01.2012, 13:57 | Сообщение # 34
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Их две, citiz_13 и citiz_14
Myth Дата: Среда, 11.01.2012, 14:21 | Сообщение # 35
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
Джин-Бейн , похоже я нашел твою ошибку: "citizen_"+(rand(13)+1) у тебя черта была пропущена. И у меня таких моделей 9, а не 14
Myth: Make Your Thought Heard
Джин-Бейн Дата: Среда, 11.01.2012, 14:30 | Сообщение # 36
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
После тейп равно чтоли пробовать?
Myth Дата: Среда, 11.01.2012, 14:36 | Сообщение # 37
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
Джин-Бейн , угу
Myth: Make Your Thought Heard
Джин-Бейн Дата: Среда, 11.01.2012, 14:48 | Сообщение # 38
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Я не предупредил я на ПС эти эксперементы делаю, хочу идеализировать ее под себя, ща на Гапаке попробую
Сообщение отредактировал Джин-Бейн - Среда, 11.01.2012, 14:48
Джин-Бейн Дата: Среда, 11.01.2012, 14:58 | Сообщение # 39
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды:
40
Репутация:
197
Статус: В открытом море
Quote (Myth )
И у меня таких моделей 9, а не 14
Имеешь в виду добавленных девять? или радных девять?
Сообщение отредактировал Джин-Бейн - Среда, 11.01.2012, 14:58
Myth Дата: Среда, 11.01.2012, 15:08 | Сообщение # 40
Мичман
Группа: Пират
Сообщений: 146
Награды:
8
Репутация:
-13
Статус: В открытом море
Джин-Бейн , родных
Myth: Make Your Thought Heard