Przeznaczenie [ENG- autotranslate] - Erwin - 26.06.2019
Z niemieckiego Wog'a z tematu Przeznaczenia, może warto to sprawdzić:
@Developers
I found maybe some issue/glitch with the disease.
If i get the disease in the normal Gothic 2 world of Khorinis and then change to another world, like Valley of Ancestors, I no longer loose max Hp. But when I return to Khorinis, I'll start again to lose max Hp.
If you`re still working on Patches, maybe you should check this
Link do wątku na niemieckim forum WoG
https://forum.worldofplayers.de/forum/threads/1539298-Przeznaczenie-Frage-an-die-polnischen-User
RE: Propozycje zmian i poprawek do 1.6. RU - N1kX - 27.06.2019
Co do wścieklizny, nie wiem jeszcze, z jednej strony to głupie, że działa tylko w Khorinis. Tutaj musimy myśleć, co robić.
Насчет бешенства я пока не знаю, с одной стороны глупо, что только в Хоринисе это работает. Тут надо подумать, что делать.
RE: Propozycje zmian i poprawek do 1.6. RU - Memorius - 27.06.2019
Cytat:Насчет бешенства я пока не знаю, с одной стороны глупо, что только в Хоринисе это работает. Тут надо подумать, что делать.
Erwin , Tituf - no jak to było w wersji polskiej? ja się tu dowiaduje po kilku latach czegoś nowego
RE: Propozycje zmian i poprawek do 1.6. RU - Tituf - 27.06.2019
Nikt na to nie zwrócił uwagi - pewnie w Khorinis ubywało normalnie, a gdy szło się do Irwina - zaraz łykało się lekarstwo i problemu nie zauważono - jeśli faktycznie tak jest
RE: Propozycje zmian i poprawek do 1.6. RU - N1kX - 27.06.2019
Niestety to jest tak, tam skomplikowany skrypt, ale wszystko zależy od NPC ,który jest wyzwalacz dla bohatera. On nie przechodzi w inne światy i pozostaje w Хоринисе, z czego w innych światach nie działa skrypt Wściekliźnie. Można oczywiście dodać dodatkowe kontrole na inne światy i wklejać tam tego samego NPC. Oto część kodu o urzeczywistnienie. Ten NPC zawsze niewidoczny.
Увы это так, там сложный скрипт, но все зависит от НПС ,который является триггером для героя. Он не переходит в другие миры и остается в Хоринисе, из-за чего в других мирах не работает скрипт Бешенства. Можно конечно добавить дополнительные проверки на другие миры и вставлять туда этого же НПС. Вот часть кода про вставку. Этот НПС всегда невидим.
Po śmierci zainfekowanej bestii pojawia się kod z zs_dead.d
После смерти зараженного зверя, происходит код из zs_dead.d
zs_dead.d
if((Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_01)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_02)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_03)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_05)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_06)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_07)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_08)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_10)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_11)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_12)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_15)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_16)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_17)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_18)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_19)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_21)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_22)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_23)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_24)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_25)))
{
if(BESH_MOLOTINNOSA == FALSE)
{
if((Npc_IsPlayer(other)) && (BESHENSTVO == FALSE))
{
rnd = Hlp_Random(100);
if((Npc_GetDistToNpc(self,other) < 300) && ((rnd > 50)||(Hlp_GetInstanceID(self) == Hlp_GetInstanceID(besh_21))))
{
BESHENSTVO = TRUE;
PrintScreen("Я заразился бешенством!",-1,30,FONT_Screen,2);
Wld_InsertNpc(helperbugrab,Npc_GetNearestWP(hero));
npc helperbugrab ma następujący kod
нпс helperbugrab имеет следующий код
B_SetVisuals_HelperBug.d
prototype MST_DEFAULT_HELPERBUG(C_Npc)
{
name[0] = "";
guild = GIL_MEATBUG;
flags = NPC_FLAG_IMMORTAL | NPC_FLAG_GHOST;
level = 1;
noFocus = 1;
bodyStateInterruptableOverride = 1;
attribute[ATR_STRENGTH] = 1;
attribute[ATR_DEXTERITY] = 1;
attribute[ATR_HITPOINTS_MAX] = 10;
attribute[ATR_HITPOINTS] = 10;
attribute[ATR_MANA_MAX] = 0;
attribute[ATR_MANA] = 0;
protection[PROT_BLUNT] = 0;
protection[PROT_EDGE] = 0;
protection[PROT_POINT] = 0;
protection[PROT_FIRE] = 0;
protection[PROT_FLY] = 0;
protection[PROT_MAGIC] = 0;
damagetype = DAM_EDGE;
senses = SENSE_SMELL;
senses_range = 0;
aivar[AIV_EnemyOverride] = TRUE;
aivar[AIV_MM_FollowInWater] = FALSE;
aivar[AIV_MM_WuselStart] = OnlyRoutine;
damage[DAM_INDEX_EDGE] = 0;
};
func void b_setvisuals_helperbug()
{
Mdl_SetVisual(self,"helperbug.mds");
Mdl_SetVisualBody(self,"Mbg_Body",DEFAULT,DEFAULT,"",DEFAULT,DEFAULT,-1);
Mdl_SetModelScale(self,0.01,0.01,0.01);
};
instance HELPERBUGRAB(MST_DEFAULT_HELPERBUG)
{
b_setvisuals_helperbug();
start_aistate = zs_mm_rtn_rabbies;
};
To z kolei powoduje status zs_mm_rtn_rabbies.
Он вызывает в свою очередь состояние zs_mm_rtn_rabbies.
zs_mm_rtn_rabbies
b_rabbies.d
func void b_rabbies()
{
hero.attribute[ATR_HITPOINTS_MAX] = hero.attribute[ATR_HITPOINTS_MAX] - 1;
if(hero.attribute[ATR_HITPOINTS] >= 2)
{
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] - 1;
};
TOTBESH = TOTBESH + 1;
if(hero.guild > GIL_SEPERATOR_HUM)
{
BEASTBESH = BEASTBESH + 1;
};
};
var int kk;
func void zs_mm_rtn_rabbies()
{
B_ResetAll(self);
perception_set_helper_rtn();
self.aivar[AIV_EnemyOverride] = TRUE;
Npc_SetStateTime(self,0);
};
func int zs_mm_rtn_rabbies_loop()
{
if(Wld_IsTime(0,0,2,0) && (T1 == FALSE))
{
T1 = TRUE;
b_rabbies();
SLEEP_RAB = 2;
T12 = FALSE;
}
else if(Wld_IsTime(2,0,4,0) && (T2 == FALSE))
{
T2 = TRUE;
b_rabbies();
SLEEP_RAB = 4;
T1 = FALSE;
}
else if(Wld_IsTime(4,0,6,0) && (T3 == FALSE))
{
T3 = TRUE;
b_rabbies();
SLEEP_RAB = 6;
T2 = FALSE;
}
else if(Wld_IsTime(6,0,8,0) && (T4 == FALSE))
{
T4 = TRUE;
b_rabbies();
SLEEP_RAB = 8;
T3 = FALSE;
}
else if(Wld_IsTime(8,0,10,0) && (T5 == FALSE))
{
T5 = TRUE;
b_rabbies();
SLEEP_RAB = 10;
T4 = FALSE;
}
else if(Wld_IsTime(10,0,12,0) && (T6 == FALSE))
{
T6 = TRUE;
b_rabbies();
SLEEP_RAB = 12;
T5 = FALSE;
}
else if(Wld_IsTime(12,0,14,0) && (T7 == FALSE))
{
T7 = TRUE;
b_rabbies();
SLEEP_RAB = 14;
T6 = FALSE;
}
else if(Wld_IsTime(14,0,16,0) && (T8 == FALSE))
{
T8 = TRUE;
b_rabbies();
SLEEP_RAB = 16;
T7 = FALSE;
}
else if(Wld_IsTime(16,0,18,0) && (T9 == FALSE))
{
T9 = TRUE;
b_rabbies();
SLEEP_RAB = 18;
T8 = FALSE;
}
else if(Wld_IsTime(18,0,20,0) && (T10 == FALSE))
{
T10 = TRUE;
b_rabbies();
SLEEP_RAB = 20;
T9 = FALSE;
}
else if(Wld_IsTime(20,0,22,0) && (T11 == FALSE))
{
T11 = TRUE;
b_rabbies();
SLEEP_RAB = 22;
T10 = FALSE;
}
else if(Wld_IsTime(22,0,24,0) && (T12 == FALSE))
{
T12 = TRUE;
b_rabbies();
SLEEP_RAB = 24;
T11 = FALSE;
};
if(HEROZVER == FALSE)
{
if(hero.guild > GIL_SEPERATOR_HUM)
{
HEROZVER = TRUE;
KK = hero.attribute[ATR_HITPOINTS] / hero.attribute[ATR_HITPOINTS_MAX];
if(hero.attribute[ATR_HITPOINTS] > ((((hero.attribute[ATR_HITPOINTS_MAX] / 4) + TOTBESH + HPSLEEP) * KK) + 1))
{
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] - ((TOTBESH - HPSLEEP - (hero.attribute[ATR_HITPOINTS_MAX] / 4)) * KK);
}
else
{
hero.attribute[ATR_HITPOINTS] = 2;
};
hero.attribute[ATR_HITPOINTS_MAX] = hero.attribute[ATR_HITPOINTS_MAX] - (hero.attribute[ATR_HITPOINTS_MAX] / 4) - TOTBESH - HPSLEEP;
Npc_ChangeAttribute(hero,ATR_STRENGTH,hero.attribute[ATR_STRENGTH] / 2);
Npc_ChangeAttribute(hero,ATR_DEXTERITY,hero.attribute[ATR_DEXTERITY] / 2);
};
}
else if(hero.guild < GIL_SEPERATOR_HUM)
{
if(HUMANBESH == TRUE)
{
KK = hero.attribute[ATR_HITPOINTS] / hero.attribute[ATR_HITPOINTS_MAX];
hero.attribute[ATR_HITPOINTS_MAX] = hero.attribute[ATR_HITPOINTS_MAX] - BEASTBESH;
if(hero.attribute[ATR_HITPOINTS] > ((BEASTBESH * KK) + 1))
{
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] - (BEASTBESH * KK);
}
else
{
hero.attribute[ATR_HITPOINTS] = 2;
};
BEASTBESH = 0;
}
else
{
KK = hero.attribute[ATR_HITPOINTS] / hero.attribute[ATR_HITPOINTS_MAX];
HUMANBESH = TRUE;
STRLBESH = (hero.attribute[ATR_STRENGTH] - TEMPSTR) / 2;
DEXBESH = (hero.attribute[ATR_DEXTERITY] - TEMPDEX) / 2;
MANABESH = (hero.attribute[ATR_MANA_MAX] - TEMPMANA) / 4;
HPBESH = (hero.attribute[ATR_HITPOINTS_MAX] - TEMPHP) / 4;
Npc_ChangeAttribute(hero,ATR_STRENGTH,STRLBESH);
Npc_ChangeAttribute(hero,ATR_DEXTERITY,DEXBESH);
hero.attribute[ATR_HITPOINTS_MAX] = hero.attribute[ATR_HITPOINTS_MAX] - HPBESH - BEASTBESH;
if(hero.attribute[ATR_HITPOINTS] > (((HPBESH + BEASTBESH) * KK) + 1))
{
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] - ((HPBESH + BEASTBESH) * KK);
}
else
{
hero.attribute[ATR_HITPOINTS] = 2;
};
hero.attribute[ATR_MANA_MAX] = hero.attribute[ATR_MANA_MAX] - MANABESH;
if(hero.attribute[ATR_MANA] >= MANABESH)
{
hero.attribute[ATR_MANA] = hero.attribute[ATR_MANA] - MANABESH;
}
else
{
hero.attribute[ATR_MANA] = 0;
};
BEASTBESH = 0;
};
HEROZVER = FALSE;
};
if((hero.guild < GIL_SEPERATOR_HUM) && ((hero.attribute[ATR_HITPOINTS_MAX] - TEMPHP) <= 0))
{
hero.attribute[ATR_HITPOINTS_MAX] = 0;
hero.attribute[ATR_HITPOINTS] = 0;
AI_PlayAni(hero,"T_DEAD");
return LOOP_END;
}
else if(hero.attribute[ATR_HITPOINTS_MAX] <= 0)
{
hero.attribute[ATR_HITPOINTS_MAX] = 0;
hero.attribute[ATR_HITPOINTS] = 0;
AI_PlayAni(hero,"T_DEAD");
return LOOP_END;
};
if(BESHENSTVO == FALSE)
{
return LOOP_END;
};
AI_Teleport(self,Npc_GetNearestWP(hero));
return LOOP_CONTINUE;
};
func void zs_mm_rtn_rabbies_end()
{
self.flags = NPC_FLAG_GHOST;
Npc_ChangeAttribute(self,ATR_HITPOINTS,-self.attribute[ATR_HITPOINTS_MAX]);
};
RE: Propozycje zmian i poprawek do 1.6. RU - Memorius - 27.06.2019
i tak było wcześniej właśnie
z jakiejś przyczyny to zniknęlło ze skryptu i możliwe że to jest powodem ewentualnego błędu
tu oczywiście trzeba przywrócić to
RE: Propozycje zmian i poprawek do 1.6. RU - Tituf - 27.06.2019
zarażony wścieklizną w Khorinis - z 50 pkt -->37:
![[Obrazek: 8H73N1R.jpg]](https://i.imgur.com/8H73N1R.jpg)
Dolina Przodków - przed spaniem i po:
![[Obrazek: thw89kv.jpg]](https://i.imgur.com/thw89kv.jpg)
![[Obrazek: kbcZJdg.jpg]](https://i.imgur.com/kbcZJdg.jpg)
na wersji polskiej 1.5.1 - wszystko jest OK...
RE: Propozycje zmian i poprawek do 1.6. RU - Memorius - 27.06.2019
Cytat:na wersji polskiej 1.5.1 - wszystko jest OK...
i to zamyka dyskusję w tej kwestii
RE: Propozycje zmian i poprawek do 1.6. RU - N1kX - 27.06.2019
Rus wszystko jest dobrze
Khorinis
![[Obrazek: -nwlEn4T_Ic.jpg]](https://pp.userapi.com/c855036/v855036990/7ffbc/-nwlEn4T_Ic.jpg)
Dolina Predkow
RE: Propozycje zmian i poprawek do 1.6. RU - Tituf - 27.06.2019
więc nie ma się co przejmować uwagami Niemców grających w polskiego moda po angielsku - trzeba uważnie testować wersję rosyjską 
wrzucam tu małą próbkę:
dialog z Sharky po angielsku-translator
https://imgur.com/a/m9KiCHW
RE: Sprawy organizacyjne ekipy - Erwin - 27.06.2019
Mimo iż ta wersja ENG jest nieautoryzowana i jak widać pojawią się w niej błędy, które zapewne wynikają z rozpakowywania moda na siłę, to myślę, że jeśli tam na forum coś się pojawi z uwag, to warto to przeanalizować i przedyskutować. Jeśli zauważę na WoGu jeszcze jakieś uwagi, to otworzę nowy temat.
Jak ktoś może, to niech się wypowie, jak to wypada na tle analogicznego polskiego i rosyjskiego dialogu.
RE: G2 Przeznaczenie ENG autotranslate - Memorius - 27.06.2019
Czytałem Sharkiego. Obiektywnie powiem że jest to przekład wysokiej jakości. Także w literackim sensie.
RE: G2 Przeznaczenie ENG autotranslate - Erwin - 27.06.2019
Kiedyś tam czytałem, że tłumacze chwalą sobie przy pracy z językiem polskim tłumacz DeepL.com i może on przez to przepuścił Przeznaczenie.
Może Tobie N1kX przyda się taka informacja, bo nie wiem z czego tam korzystasz.
RE: G2 Przeznaczenie ENG autotranslate - N1kX - 27.06.2019
Zawsze jest tłumaczenie z języka obcego na inny (nawet maszyna okazuje się dobra) niż w języku rosyjskim. W języku rosyjskim jedno słowo może mieć do 10 różnych znaczeń, więc trudno jest znaleźć właściwe słowa i tłumaczenie.
С иностранного языка на другой всегда перевод (даже машинный получается хороший), чем на русском. В русском языке одно слово может иметь до 10 разных значений, поэтому бывает тяжело подобрать нужные слова и перевод.
RE: G2 Przeznaczenie ENG autotranslate - Tituf - 29.06.2019
Cytat:Ah, danke. kommt man unkompliziert an diese Skripte? Wäre so ein "im-Krankenhaus-Zeitvertreib", das nachoptimieren - dachte ich mir.
Mam tylko nadzieję, że ewentualne tłumaczenie nie będzie POL>EN>DE a POL>DE, jeśli kiedykolwiek będzie...
|