User talk:Iritscen: Difference between revisions

From OniGalore
Jump to navigation Jump to search
(→‎About operators: mea culpa)
m (+cat)
 
(42 intermediate revisions by 7 users not shown)
Line 1: Line 1:
__TOC__
'''Talk page archives''': [[/Archive1|#1]] (2008); [[/Archive2|#2]] (2009-2014)
'''Talk page archives''': [[User:Iritscen/Talk Archive 1|#1]]
----
Hello,


This pre-beta image really seems bio lab to me. Didn't you agree?
==Re: Banner==


[[Image:Pre-beta Vago Lab.png]]
Hey,


See you. [[User:Script 10k|Script 10k]]
haha yes, I'm sorry for that. The banner was located on my installation CD and actually, this is the installer splashscreen: [https://i.imgur.com/xti8qZC.png Click] --[[User:Noneatme|Noneatme]]


:Ah, you're right, that must be the pre-beta night-time version of the Lab! I've re-named it and moved it to the proper place on the page. Thanks. --[[User:Iritscen|Iritscen]] 01:31, 23 November 2009 (UTC)
:Hehe, I feel somehow cheated that these levels never made it into the final game. The jewel case image you mentioned also gave me cancer and aids so I scanned the case for myself. Here is the [https://i.imgur.com/efLP43w.jpg back], [https://i.imgur.com/aUhqU3I.jpg CD], [https://i.imgur.com/JGf5AgJ.jpg inner part] and [https://i.imgur.com/NGwIbni.jpg front]. Also, the german sounds and voice lines are also well made and we have some translated textures like STAIRS at the warehouse level. And I also found some unused textures in some levels. --[[User:Noneatme|Noneatme]] ([[User talk:Noneatme|talk]]) 17:49, 29 July 2015 (CEST)


----
==Annoying sidebar on smartphone==
When I browse the wiki with my Samsung/Android phone the side bar takes a good portion of the screen especially if you try to zoom in.


;Hi Iritscen,
It would be nice if that would hide when you scroll down and show when scroll up. --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 19:46, 23 August 2015 (CEST)
:it has been a long time since I have contributed something. I don't have time (and Oni) right now, but I ask you to try this idea out. It is connected to AI2 driven characters being able to actually use hypo sprays they possess to heal themselves (like the human player).
:It could be easy as it involves only usage of BSL. However, I don't know if several things (mainly "''chr_holdkey''" command, which is core of this idea) work the way I think they work.
:'''Requirements for the experiment:'''
::- take one AI2 character whose name you know from some level you like. But this AI should be near some savepoint for easy debugging.
::- add function to the scripts of your selected level, which will be forked from your selected savepoint, where your AI2 spawns.
::- this function will contain following commands:
:::"''ai2_showhealth=1''" - I think this is clear
:::"''ai2_spawn'' name" - clear
:::"''ai2_ignore_player''=1" - to be able to experiment
:::"''chr_inv_reset'' name" - to make sure we have everything under control
:::"''chr_givepowerup'' name hypo" - now we know our AI2 char has one hypo
:::"''chr_set_health'' name 1" - to make it logical to use a hypo ^_^
:::"''chr_wait_animtype'' 0 crouch" - to be able to trigger it when you want
:::"''chr_holdkey'' name keys_hypo 10" - THIS IS IT. Key part, if I understand that command right
::- now run the selected savepoint of selected level, don't crouch, get to your AI2, which is active but ignores you as a player and has only one HP left. NOW crouch. If everything goes according to the theory, this AI2 will use its one hypo to heal itself. Obviously should be seen with "''ai2_showhealth''=1".
:- if it works, please let us (community) know. This way, we can set up smarter behavior for AI2s, where AI2s heal themselves in battle. Well, they try at least, because if they get hit, healing effect is reduced, as we know. And we cannot command AI2 to "play defensively because it used a hypo and healing is in the process". At least not the BSL way.
:- also, this could be used for some daodanized AI2 characters, where AI2s inject hypos to get into regular overpower mode.
:- I am aware of the fact that we can use "''chr_set_health''" command to do the same work. However, "''chr_set_health''" is dependent on the value it has written in, so you have to set up some mechanisms to reduce the value in "''chr_set_health''" command as AI2s health drops if we want to use it as an hypo emulation. Plus it is tied with only one AI2 character then.
:- hypo usage emulation via "''chr_holdkey''" (if it will work) is on the other hand simply used to force '''any''' AI2 char (just input its name and be sure this char has a hypo in its inventory) to take a hypo and rest is handled by engine. Simple and effective.
:--[[User:Loser|Loser]] 00:12, 17 March 2009 (UTC)


Loser, I have tried to get chr_holdkey to work for some time now. Peering at the asm, I can see that there is code there for it, but it might have been commented out in some form. It is really hard to tell. ALSO, using a hypo doesn't seem to be one of the allowable keys. They seem to be: forward, back, stepleft, stepright, crouch, jump, fire, altfire, punch, kick, action. HOWEVER, there is a different method we can use for AIs using hypos. Record Konoko using a hypo, export\import it using Onisplit, then use the from_here option in chr_playback. I would recommend using Konoko's watch animation or something of the sort to go along as a visual cue. [[User:Gumby|Gumby]]
:When you are ready to test this on your phone, try commenting out the "div#mw-panel" modification on [[MediaWiki:Vector.css]], then see how things look on your phone. I'm not sure if this is a mobile-friendliness issue with MediaWiki 1.19, but I'm thinking it's probably the fixed sidebar CSS that's the issue. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 23:16, 23 August 2015 (CEST)


Couldn't edit the page you linked to so I took that equivalent at my place. Also cleared the browser cache but didn't work. Then I tried Google Chrome while I wasn't even logged in and it looks normal. Whatever the bug(?) is, at least I know now I could use chrome when surfing with a small-screened device. --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 21:27, 24 August 2015 (CEST)


Thank you for report, Gumby. Yes, I know about playback solution, that way of solving this problem works quite fine. Point of this BSL idea was that it requires only scripting, no files changed.
:Ah, well that's good. Sorry, I didn't realize the main Vector.css page wasn't freely editable. But keep in mind that your user Vector.css page stacks on top of the main Vector.css, so when you comment out that CSS on your user page, it simply means that the main Vector.css is still used for mw-panel. You would have to re-declare mw-panel on your user page with its original properties in order to get rid of the anchored sidebar mod. Let me know if you want help with that. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 21:44, 24 August 2015 (CEST)
: But if we have to end up with changing files, then we can modify CHAR as well, adding trigger of the function *heal_mechanicsXX.name_of_ai2_written_here* into CHAR when character is hurt. XX represents number of the healing group. If I recall correctly, engine takes "''name_of_ai2_written_here''" as string parameter of the function *heal_mechanics*.


: About that XX - enemies have various health levels, but we can see some of them have quite similar max health levels (+/- 25 HP). So my idea is - we have groups of CHARacters, which share same version of heal_mechanicsXX function, labeled by its number (saves space). These CHARacters have similar max health levels and have exactly the same amount of hypos they can use.
Yes please. I couldn't figure out the right defaults. --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 22:40, 24 August 2015 (CEST)
:Then one very simple function for such a group can look like this:
::'''func''' '''void''' heal_mechanics01(string ''ai_name'')
::{
:: '''chr_wait_health''' (''ai_name'', value_of_approximate_half_of_max_HP_for_this_group_members)
:: '''chr_playback_block''' (''ai_name'', name_of_hypo_trigger_[[FILM]]_file, fromhere)
::}


:This function would be triggered by members of heal_mechanics01 (they have writen it in their CHAR file, under "hurt" trigger). When called, it takes name of the CHAR as a parameter and then waits until this CHAR's HP drops around 1/2 (value is set maually in the script). Then it calles hypo using FILM for this CHAR.
:It seems like you only need to change "position" back to "absolute", which is the default, but that's just one of the changes made to the panel in Vector.css, so let me know how it works on your phone. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 23:31, 24 August 2015 (CEST)
: Nice, isn't it? --[[User:Loser|Loser]] 18:29, 17 March 2009 (UTC)
::Yeah, thats about what I meant. :) Either method requires changing files though, because AFAIK AI aren't given hypos in the CHAR. [[User:Gumby|Gumby]] 08:24, 18 March 2009 (UTC)


Hey. When Gumby is on it, there's another worthy thing to try. Duplicating chr_poison (ai_name, damage, interval, initial_interval) and replacing the health reducing function by a health adding function. Then that could be used instead of chr_playback_block. It would not only simulate "AI Hypos" but better AI and player regeneration than chr_set_health. Smooth health increment (for player) can be done in a looped BSL function.  20:35, 17 March 2009 (UTC)
Okay thanks. With your code it works now on the phone. --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 08:38, 25 August 2015 (CEST)


:Done that already, in ReOni. The problem lies in the fact that there isn't an easy way AFAIK to copy a function using the Daodan. The other problem is that Macs would be left out cold. [[User:Gumby|Gumby]] 08:24, 18 March 2009 (UTC)
==Red links - weapon pages==
There's no talk page for [[Special:WantedPages]] so I will my question here: Why do we need extra pages for Plasma Rifle, Super Ball Gun, Black Adder, Plasma Rifle, Screaming Cannon, Wave Motion Cannon?


::Hm, do I actually even need to say anything? The conversation is going well without me ^_^ I find your idea interesting, Loser, but I personally just can't focus on it at this point, or I won't be able to help Gumby with the Edition (Real Life is knocking hard on my door right now and demanding me to cut down on my Oni time). Besides, any topic beyond BSL is kinda over my head anyway :-) --[[User:Iritscen|Iritscen]] 14:35, 18 March 2009 (UTC)
There's this [[Quotes/Weapons]] and IMO there's not more to say about them. Let's delete the red links? --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 20:51, 24 November 2015 (CET)


:::Ran into a small problem, the character still rotates, even with "fromhere". :( [[User:Gumby|Gumby]] 19:07, 18 March 2009 (UTC)
:There's also [[Gameplay]], for some brief weapon tips. Here's the thing, though. [[Mercury Bow]] is already an article. Why should the M Bow get an article and not the other weapons? In fact, I would say that most of the red links highlighted at the top of "Wanted pages" are equally minor. While there may not be a lot to say about them, they deserve at least a short page, I think. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 04:22, 25 November 2015 (CET)


-----
==Wrong pseudo code==


Oi who are all those never editing newbees? Are you sure they are human? --[[User:Paradox-01|Paradox-01]]
Hi Iritscen thanks for fixing my wording.


== About operators ==
I have just noticed a small error.


You said '=' is an alternate form of 'eq'. Are you sure? I was considering '=' to be used for definition and 'eq' for comparison.
The following code:
[[User:Lukas Kreator|Lukas Kreator]] ([[User talk:Lukas Kreator|talk]]) 16:34, 11 November 2012 (CET)
 
:My bad, you're correct. '=' is the assignment operator. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 19:49, 11 November 2012 (CET)
for (int i = 0; i < 50; i++)
{
  print("Is this annoying yet?");
  wait(20);
}
 
found here:
[[BSL:Manual#schedule_..._repeat_..._every_...]]
 
is not correct. It is not equivalent to (at least if you change the variables, let say 50 to -1) in
schedule dprint("Is this annoying yet?") repeat 50 every 20;
 
the correct code should be the following:
 
int i = 0;
do
{
  print("Is this annoying yet?");
  wait(20);
  i++;
} while (i != 50);   
 
Why? If the conditional value is -1 or 0 (instead of 50) your code would never run (it would stop at first loop condition validation).
 
While with:
 
schedule dprint("Is this annoying yet?") repeat -1 every 20;
 
It would run forever. Please consider to edit the page or if you want I can do it. Thanks. [[User:Script 10k|Script 10k]] ([[User talk:Script 10k|talk]]) 19:27, 2 November 2017 (CET)
 
:Oh, good point! Sorry I changed your pseudocode and didn't think about why you used "!=" instead of "<". Before I fix the page, let me ask, shouldn't I just set it back to the "for" loop that you wrote before? Is there a reason why the "do-while" loop above is preferable? --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 22:41, 2 November 2017 (CET)
:: Hi, yes I used the "!=" in the for loop because the reason above. Turns out that it was also wrong! Because it would also fail for this example:
schedule dprint("Is this annoying yet?") repeat 0 every 20;
 
for (int i = 0; i != 0; i++)
{
  print("Is this annoying yet?"); # this would never run with this code because 0 == 0
  wait(20);
}
 
See, it would also never run using my code for 0, so the do while loop is the correct equivalent imo. [[User:Script 10k|Script 10k]] ([[User talk:Script 10k|talk]]) 00:17, 3 November 2017 (CET)
 
Also I am thinking if the following code:
schedule dprint("Is this annoying yet?") repeat 0 every 20;
runs for long enough it could theoretically overflow with counter becoming negative and eventually reach 0 and stop, practically this can't ever happening because even if the counter would increase one 60 times per second it would need (2^31)*2/60/60/24 hours to reach zero (sorry if I'm doing bad the math but I am sure the number of hours it would take is just ridiculous). [[User:Script 10k|Script 10k]] ([[User talk:Script 10k|talk]]) 00:41, 3 November 2017 (CET)
 
:Okay, I implemented your "do-while" loop except that I am starting "i" at 1 instead of 0. I think that's what you actually wanted because it will iterate the correct number of times in all cases. (If it was initialized to 0 then it would stop after one iteration instead of running forever.) But I'm pretty tired right now, so let me know if that is also a mistake. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 05:13, 3 November 2017 (CET)
 
::It wouldn't, note the i++ before the condition check, so the first check would be 1!=0. I will fix that part of the code no problem. [[User:Script 10k|Script 10k]] ([[User talk:Script 10k|talk]]) 11:09, 3 November 2017 (CET)
 
:::Oops, my bad. I shouldn't try to code after midnight. Thanks for the fix. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 16:35, 3 November 2017 (CET)
 
== slowmo revisited ==
 
''[In reference to [[User_talk:Iritscen/Archive2#slowmo|this old discussion]].]''<br/>
Hi guys! Sorry for the massive bump. I am finishing my Omega Tournament Level and since I use slowmo in two calls, so I needed to investigate this issue (to find the correct ratio for both platforms). So I asked EdT to run the following BSL scripts (http://script10k.oni2.net/wikifiles/EnvWarehouse_slowmo_test_scripts.7z) on mac and to record it in a 60 FPS video. I did the same thing in windows. In the end I created two videos that compare the two versions of the scripts (one with slowmo 100 and other with slowmo 600) in both operating systems. The results seem to be the same!<br/>
You can watch the comparison here (you need a libx265 player):<br/>
http://script10k.oni2.net/videos/comparison_slowmo_win_mac_1.mp4<br/>
http://script10k.oni2.net/videos/comparison_slowmo_win_mac_2.mp4
 
In case you are interested the original videos can be found here:<br/>
http://script10k.oni2.net/videos/slowmo_os_comparison_original_videos.7z --[[User:Script 10k|Script 10k]] ([[User talk:Script 10k|talk]]) 04:58, 24 August 2019‎
 
[[Category:Userspace]]

Latest revision as of 02:14, 4 May 2022

Talk page archives: #1 (2008); #2 (2009-2014)

Re: Banner

Hey,

haha yes, I'm sorry for that. The banner was located on my installation CD and actually, this is the installer splashscreen: Click --Noneatme

Hehe, I feel somehow cheated that these levels never made it into the final game. The jewel case image you mentioned also gave me cancer and aids so I scanned the case for myself. Here is the back, CD, inner part and front. Also, the german sounds and voice lines are also well made and we have some translated textures like STAIRS at the warehouse level. And I also found some unused textures in some levels. --Noneatme (talk) 17:49, 29 July 2015 (CEST)

Annoying sidebar on smartphone

When I browse the wiki with my Samsung/Android phone the side bar takes a good portion of the screen especially if you try to zoom in.

It would be nice if that would hide when you scroll down and show when scroll up. --paradox-01 (talk) 19:46, 23 August 2015 (CEST)

When you are ready to test this on your phone, try commenting out the "div#mw-panel" modification on MediaWiki:Vector.css, then see how things look on your phone. I'm not sure if this is a mobile-friendliness issue with MediaWiki 1.19, but I'm thinking it's probably the fixed sidebar CSS that's the issue. --Iritscen (talk) 23:16, 23 August 2015 (CEST)

Couldn't edit the page you linked to so I took that equivalent at my place. Also cleared the browser cache but didn't work. Then I tried Google Chrome while I wasn't even logged in and it looks normal. Whatever the bug(?) is, at least I know now I could use chrome when surfing with a small-screened device. --paradox-01 (talk) 21:27, 24 August 2015 (CEST)

Ah, well that's good. Sorry, I didn't realize the main Vector.css page wasn't freely editable. But keep in mind that your user Vector.css page stacks on top of the main Vector.css, so when you comment out that CSS on your user page, it simply means that the main Vector.css is still used for mw-panel. You would have to re-declare mw-panel on your user page with its original properties in order to get rid of the anchored sidebar mod. Let me know if you want help with that. --Iritscen (talk) 21:44, 24 August 2015 (CEST)

Yes please. I couldn't figure out the right defaults. --paradox-01 (talk) 22:40, 24 August 2015 (CEST)

It seems like you only need to change "position" back to "absolute", which is the default, but that's just one of the changes made to the panel in Vector.css, so let me know how it works on your phone. --Iritscen (talk) 23:31, 24 August 2015 (CEST)

Okay thanks. With your code it works now on the phone. --paradox-01 (talk) 08:38, 25 August 2015 (CEST)

Red links - weapon pages

There's no talk page for Special:WantedPages so I will my question here: Why do we need extra pages for Plasma Rifle, Super Ball Gun, Black Adder, Plasma Rifle, Screaming Cannon, Wave Motion Cannon?

There's this Quotes/Weapons and IMO there's not more to say about them. Let's delete the red links? --paradox-01 (talk) 20:51, 24 November 2015 (CET)

There's also Gameplay, for some brief weapon tips. Here's the thing, though. Mercury Bow is already an article. Why should the M Bow get an article and not the other weapons? In fact, I would say that most of the red links highlighted at the top of "Wanted pages" are equally minor. While there may not be a lot to say about them, they deserve at least a short page, I think. --Iritscen (talk) 04:22, 25 November 2015 (CET)

Wrong pseudo code

Hi Iritscen thanks for fixing my wording.

I have just noticed a small error.

The following code:

for (int i = 0; i < 50; i++)
{
  print("Is this annoying yet?");
  wait(20);
}

found here: BSL:Manual#schedule_..._repeat_..._every_...

is not correct. It is not equivalent to (at least if you change the variables, let say 50 to -1) in

schedule dprint("Is this annoying yet?") repeat 50 every 20;

the correct code should be the following:

int i = 0;
do
{
  print("Is this annoying yet?");
  wait(20);
  i++;
} while (i != 50);     

Why? If the conditional value is -1 or 0 (instead of 50) your code would never run (it would stop at first loop condition validation).

While with:

schedule dprint("Is this annoying yet?") repeat -1 every 20;

It would run forever. Please consider to edit the page or if you want I can do it. Thanks. Script 10k (talk) 19:27, 2 November 2017 (CET)

Oh, good point! Sorry I changed your pseudocode and didn't think about why you used "!=" instead of "<". Before I fix the page, let me ask, shouldn't I just set it back to the "for" loop that you wrote before? Is there a reason why the "do-while" loop above is preferable? --Iritscen (talk) 22:41, 2 November 2017 (CET)
Hi, yes I used the "!=" in the for loop because the reason above. Turns out that it was also wrong! Because it would also fail for this example:
schedule dprint("Is this annoying yet?") repeat 0 every 20;
for (int i = 0; i != 0; i++)
{
  print("Is this annoying yet?"); # this would never run with this code because 0 == 0
  wait(20);
}

See, it would also never run using my code for 0, so the do while loop is the correct equivalent imo. Script 10k (talk) 00:17, 3 November 2017 (CET)

Also I am thinking if the following code:

schedule dprint("Is this annoying yet?") repeat 0 every 20;

runs for long enough it could theoretically overflow with counter becoming negative and eventually reach 0 and stop, practically this can't ever happening because even if the counter would increase one 60 times per second it would need (2^31)*2/60/60/24 hours to reach zero (sorry if I'm doing bad the math but I am sure the number of hours it would take is just ridiculous). Script 10k (talk) 00:41, 3 November 2017 (CET)

Okay, I implemented your "do-while" loop except that I am starting "i" at 1 instead of 0. I think that's what you actually wanted because it will iterate the correct number of times in all cases. (If it was initialized to 0 then it would stop after one iteration instead of running forever.) But I'm pretty tired right now, so let me know if that is also a mistake. --Iritscen (talk) 05:13, 3 November 2017 (CET)
It wouldn't, note the i++ before the condition check, so the first check would be 1!=0. I will fix that part of the code no problem. Script 10k (talk) 11:09, 3 November 2017 (CET)
Oops, my bad. I shouldn't try to code after midnight. Thanks for the fix. --Iritscen (talk) 16:35, 3 November 2017 (CET)

slowmo revisited

[In reference to this old discussion.]
Hi guys! Sorry for the massive bump. I am finishing my Omega Tournament Level and since I use slowmo in two calls, so I needed to investigate this issue (to find the correct ratio for both platforms). So I asked EdT to run the following BSL scripts (http://script10k.oni2.net/wikifiles/EnvWarehouse_slowmo_test_scripts.7z) on mac and to record it in a 60 FPS video. I did the same thing in windows. In the end I created two videos that compare the two versions of the scripts (one with slowmo 100 and other with slowmo 600) in both operating systems. The results seem to be the same!
You can watch the comparison here (you need a libx265 player):
http://script10k.oni2.net/videos/comparison_slowmo_win_mac_1.mp4
http://script10k.oni2.net/videos/comparison_slowmo_win_mac_2.mp4

In case you are interested the original videos can be found here:
http://script10k.oni2.net/videos/slowmo_os_comparison_original_videos.7z --Script 10k (talk) 04:58, 24 August 2019‎