Narzędzia, skrypty, problemy techniczne
#61
Это да. Я немного изменил её, и вот встал вопрос сундуки без имени, если мы не даем фокусное имя это запланировано, или простая лень, или просто полагаемся на неё, чтобы не писать focusname?
Если фокусное имя не выводить, тогда ладно, но если сундук пуст, надпись все равно будет, что сундук пуст.
Odpowiedz
#62
Nie bardzo zrozumiałem  Smutny
Trzeba wszystkie nazwy mobname przy skrzyniach usunąć, czy wszystkie muszą mieć nazwy? 
I tak mam robić teraz skrzynie w IP to przejrzę wszystkie,
Odpowiedz
#63
Скажу так.
Можно имена не писать или писать без разницы.
Конструкция следующая будет.
if name сундука = MOBNAME_CHEST
if сундук полон
focusname Сундук
сундук пуст
focusname Пустой сундук
if name сундука = MOBNAME_CRATE
if сундук полон
focusname Ящик
сундук пуст
focusname Пустой Ящик
.... такие же примеры для уникальных сундуков

иначе
все сундуки
if сундук полон
focusname Сундук
сундук пуст
Focusname Пустой сундук


Красным я выделил место, где могу сделать, если сундук не попадает под все условия, которые предложены раньше focusname сундука будет пусто ""

То есть, если по сюжету надо, чтобы какой-то сундук был без фокусного имени, ты его не добавляешь, и оно будет без фокусного имени, но как только ты его проверил и забрал предметы, фокусное имя будет Пустой сундук
Если тебе надо, чтобы было фокусное имя - ты пишешь в focusname:string MOBNAME_...


Это я к чему, надо привести в порядок
Сундук-сундук
Ящик-Ящик
Саргофаг-Саркофаг и так далее
Сейчас все OCMobContainter всегда сундук.... *facepalm*

Вот кодом, может понятнее будет
//если в фокусе сундук
if((Hlp_StrCmp(mob._oCMob_name, "MOBNAME_CHEST")) || (Hlp_StrCmp(mob._oCMob_name, "CHEST")))
{
if(mob.containList_next != 0)
{
//фокусное имя Сундук
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_CHEST");
}
else
{
//фокусное имя Пустой сундук
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_EMPTYCHEST");
};
}
//если в фокусе Саркофаг
else if((Hlp_StrCmp(mob._oCMob_name, "MOBNAME_SARKOFAG")) || (Hlp_StrCmp(mob._oCMob_name, "SARKOFAG")))
{
if(mob.containList_next != 0)
{
//фокусное имя Саркофаг
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_SARKOFAG");
}
else
{
//фокусное имя Пустой саркофаг
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_EMPTYSARKOFAG");
};
}
//если в фокусе Ящик
else if((Hlp_StrCmp(mob._oCMob_name, "MOBNAME_CRATE")) || (Hlp_StrCmp(mob._oCMob_name, "CRATE")))
{
if(mob.containList_next != 0)
{
//фокусное имя Ящик
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_CRATE");
}
else
{
//фокусное имя Пустой Ящик
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_EMPTYCRATE");
};
}
//если в фокусе сундук не попадает ни под одно условие
//его фокусные имена будут стандартные
else
{
if(mob.containList_next != 0)
{
//фокусное имя сундук
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_CHEST");
}
else
{
//фокусное имя Пустой сундук
mob._oCMob_focusNameIndex = MEM_FindParserSymbol("MOBNAME_EMPTYCHEST");
};

};
Odpowiedz
#64
Na razie i tak nie ma sensu, żebym te skrzynie przeglądał , bo dużo skrzyń zostanie jeszcze usunięta. Jak zostaną tylko te, które mają być, to się tym zajmę.

Sprawdź jeszcze, bo chyba w Nocy Kruka, a może i Przeznaczeniu, niektóre skrzynie miały unikatowe nazwy - Skrzynia Fortuno chyba Skrzynia Torusa. Podejrzewam, że w takiej formie jak to było, to wszystkie takie nazwy były niedostępne, bo co by nie wpisać w pole mobname, to i tak zawsze pojawił się napis "skrzynia".
Odpowiedz
#65
Вот я и спросил :)
Уникальные сундуки будут исправлены.
Сундуки без фокусного имени - оставить им фокусные имена или я убираю их? (Фокусное имя, что сундук пуст останется)
Odpowiedz
#66
Nie wiem N1kX jak będzie lepiej  Hmm

Bo kiedy nie będzie potrzeby dodawania nazwy do mobname i wszystkie skrzynie będą je miały narzucone z góry, to jeśli przyjdzie potrzeba zrobienia jakiejś nietypowej nazwy, to wtedy trzeba będzie zmieniać skrypt, żeby dodać ten wyjątek.
Natomiast jeśli zrobić tak, że to działa tylko przy nazwach mobname_chest i mobname_crate i tak dalej, to tego problemu nie ma, tylko trzeba się pilnować i dodawać te nazwy.

Chyba jednak lepiej żeby skrzyniom bez nazwy też się to wyświetlało - w razie czego łatwiej dopisać kilka linijek skryptu, żeby zrobić wyjątek, niż przeglądać czy wszystkie skrzynie są podpisane.
Odpowiedz
#67
Тогда я осталю, если фокусный сундук не подходит ни под одно условие - у него будет имя по умолчанию Сундук (MOBNAME_CHEST)
Остальные случаи буду рассматривать отдельно, ну и если добавляется уникальное имя, сообщайте.

Кстати, знаешь как различать, кому написать Crate, а кому Chest?
В названии Visual ответ.
Если в названии Visual есть crate -> focusname должно стоять MOBNAME_CRATE, иначе он будет сундуком.
Odpowiedz
#68
A jest w ogóle jakiś visual, która ma w nazwie CRATE? Ja tak z pamięci kojarzę, że wszystkie mają w nazwie CHEST.
Z resztą, dla większości graczy, raczej nie ma żadnego znaczenia czy jest to KUFER, czy SKRZYNIA, byleby nie nazywało się np. ławka.
Odpowiedz
#69
CHESTBIG_OCCRATELARGE

Сделал для удобства такую вещь, теперь текстуры, которые потеряны будет легче увидеть :)
На картинке ниже потеряна (для примера) текстура -> Texture not found 'NW_CITY_HAFEN_HOLZWAND_01.TGA', using default-texture .... <zTexture.cpp,#1377>
https://imgur.com/jbaNlhU
Odpowiedz
#70
A gdzie takie coś można ustawić / włączyć ?
Odpowiedz
#71
Это я просто изменил стандартную текстуру Deafult.tga
Когда игра не находит текстуру она всегда вставляет вместо пропущенной Default.
Сделай vdf том с этой текстурой, чтобы том перекрыл оригинальный Default
https://yadi.sk/d/jXlYFfAr343JeA
Для игроков не рекомендуется, только для моддеров, чтобы исправлять забытые текстуры

Локация Долина Предков очень много текстур потеряно из-за чего вся карта становится такой красной xD
Odpowiedz
#72
OK  Ściągnąłem sobie.
Odpowiedz
#73
В будущем надо будет отключить везде в STALABIT.d
Диалог выхода, потому что когда игрок не делает разогрев стали, у него все равно в интентарь добавляется сталь.
Я попытался исправить этот баг, но он вышел немного некрасивый - > когда игрок отменяет действие, прямо из рук удаляется сталь, чтобы она не попадала в инвентарь, но я посчитал это таким себе решением.
Лучшее решение убрать nostal1, чтобы игрок сразу грел сталь, а не пытался выйти из диалога, либо оставлю вариант с диалогом выхода, но будет такой конфуз..

Я сделал vdf, можешь просто положить его в Data, зато видно где есть проблемы в текстурах...
Пару моделей доспехов я поправил уже.
https://yadi.sk/d/CZj-4IXGMKlJkw
Odpowiedz
#74
W takim razie, może spróbować przepisać skrypt biorąc za wzór ten od szlifowania mieczy, gdzie jest łój kretoszczura potrzebny, on jest chyba dobry.

Nie wiem, o który moment w tym rozgrzewaniu chodzi, ale na tej ostatniej wersji IP wydaje się, że jest dobrze. Jak biorę "koniec" to nic mi nie zabiera i nic nie dodaje.
Odpowiedz
#75
Не путай. На корабле у BSFIRE_OC.MDS в onStateFunc=string: пусто, а должно стоять onStateFunc=string:STALABIT
В Яркендаре попробуй.
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości