Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 28. 04. 2025 03:53 — Editoval ChapelGeist (02. 05. 2025 03:05)

ChapelGeist
Zelenáč
Příspěvky: 6
Reputace:   
 

Procesy stejného typu

Pokud běží jeden, druhý stejného typu nemůže proběhnout, nelze je "stackovat"..
Upozorňuji předem, že nejsem programátor, pouze se snažím přeložit logiku věci. Při testech různých hodnot tří argumentů ( (TI - TN) = jeden argument, jeden výsledek ) mi to vychází zatím správně, ale netuším jak nejlépe napsat podmínky před. Potřebuji v případě úspěšného splnění podmínky annulaci celého plusu času původní akce, jinak průběh a přičtení navýšení času trvání...

Aplicattion in cancel if not possible to apply action section like: "When not 0 value, than + length of running acrion of same type by this time (in form of time value, that form of time value).
Aplikace v sekci zrušení akce pro nemožnost aplikace z důvodu běhu předchozí akce stejného typu jako + čas v hodnotě dodané nebo 0 hodnoty, When not 0, than verze, která odpovídá.

TS - start typu akce ( na zápis na konec a vytažení posledního data )
TI - čas startu akce daného stejného typu - ke konci bootu akce se zapíše do TS na konec ( s "s" při změně času ) kvůli procesům bootu, které stále ještě běží s původní hodnotou a zápis nové by mohl pozměnit výsledek. Další akce se tedy bude počítat od nové hodnoty startu atd..
TN - čas, který je  relevantní pro dané akce, v ten moment
OL - celková doba trvání původní akce
NL - celková doba trvání nové akce


Místo zrušení další akce stejného typu během jejího průběhu pozměníme zrušení na - Od startu akce doby do konce původního bufu tenhle plus:
If{[NL<(OL-(TN-TI)]then=0;1}&&If[(NL=OL-(TN-TI)time)then=0;1]*([NL+(TN-TI)]-OL)time         čas rostoucí nahoru
          nebo
If{[NL<(OL-(TI-TN)]then=0;1}&&If[(NL=OL-(TI-TN)time)then=0;1]*([NL+(TI-TN)]-OL)time         čas klesající do nuly

Cílem if je dát hodnotu 0 v případě nedodržení podmínky, v opačném případě 1. Asi nemám dobrý zápis atd..

Původní akce celá + tenhle bonus času výpočet.
In your system will stay original action untouched, just original time length of original action + this account version time value result (+1,45s or +01:45:01 to original time length, not replacing). Sometimes spin out 0, so better not happens that + this time value, because od found miracle exceptions.
Ve vašem systému původné akce zůsrane nedotknuta, jenom původní délka původního procesu se navýší o hodnotu, co to vyplivne, ve formátu dodaných hodnot,, není to náhrada. Občas vyplivne 0 ( viz výše).
Vždy ten větší Tx- ten menší Tx první, protože závorky TN a TI musí skončit plusovou hodnotou !!
Každý atribut vlastní TS - "typ = Jměno" + Start (RiseUpStart =RS, CancelStart=CS, BuffStart=BS, DebuffStart=DS, AnalyseStart=AS).


Zapíše se historie akcí do vlastních zdrojů nebo prostě a "přehledně", aby statistiky byly přehledné a nedošlo třeba k načítání chybného sloupce.  Může se monitorovat délka prodloužené akce od prvního bez "s" do posledního s "s" plus délka posledního procesu jako jeden dlouhý process atd..

Příklad (jen teoretický): Debuff Surpress ve hře Mythic Heroes nemůže triggrovat pokud je stále aktivní na charakteru. Normálně by se zrušil, teď se místo toho prodlouží o 1.55s doba trvání. Stejně tak i Stun..

Někde máte kontrolu nebo test zda užít nebo zrušit. Místo "zrušit" by bylo možno teoreticky dát When not 0 then.. a příslušnou verzi výpočtu pro čas jdoucí odzadu nebo normálně, výsledkem navýšit pouze délku trvání předchozího stejného procesu ( Stun ). Poté zapsat, stále v bootu, novou hodnotu "TI" do "TS", aby se další aplikace nepočítala z nereálné hodnoty.. (TI - čas startu akce stejného typu, TS - na zápis a načtení těchto hodnot... ).
Netuším, zda funkce time nebude upravovat výsledek podle vstupního formátu času....

"Hello,
when second action could not be applied because that first of the same type/name is in process and is CANCELLED by check in boot, instead could apply this prolong it by seconds/minutes/hours/ in time period.. ( New Action length of time period(for example 5s ability) format to 0:05:00 ) + ( length of their diffecrence of time period(time now (1:12:51) - start of ability before(1:09:47) = 0:03:04 ) - Action Before length of time period(for example 3,5s ability) format to 0:03:30 ) = result of prolong that ability of "before" by length of time period (by 0:04:59). Also needs condition to prevent apply when New Action is shorter than Action Before "rest" of time period( NewAction<(ActionBefore-(TimeNow-StartOfAbilityTime)) ). Also is there case when 10s first, 5s second and 5th second apply that second after 5th second process(that Action Before) is giving zero values.
After still in boot you need to record Time in that moment to some Data at the end to be readable and uploadable for next action. Also record of every action of every type INDIVIDUALLY, what you will just want. Like StunStart(SS), SurpressStart(US), or any buff in the game or maybe even actions of could not trigger because of acrion before...."

Pokud někdo může okomentovat a případně i poopravit, zejména si nejsem jist s time funkcí, nejsem programátor.:)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson