Action Sub Crosshair Text is not reliable, why? HELP pls



  • Hi

    Could someone advice me pls why green Node works always and red Node, well **sometimes?

    **what the Fkin HAX is this ?!

    When I open map (“open map” so singleplayer)
    when I am too in long class selection menu it wont pop up at all that’s ok I suppose

    when I select class it works well

    but when I AddBots before theese messages pop up only green message will show why?
    I am still the same object

    I use this aswell by forward spawning and there it shows up also with bots present in game so whats wrong ?!

    PS: both mesages are checked as private messages and are showing 5 seconds

    –----edit-----

    I changed event player login to Client side only but still not working as it should :(

    ----edit 2-------

    workaround in editor (if it had work in game aswell duno yet)

    I set first delay time 2.99 sec

    though I am not satisfied with this pls, help someone



  • Could you take a screenshot of both of the properties of the green and red please? Also, are they supposed to be private (for that specific player only?) I assume so since you have a target, being the player that logged in.

    Also bare in mind, if a player logs in, it will display the message for him (the first one), but if another player logs in after him, the object is now the other player who just logged in, so any messages after that point, will show for THAT player.

    I will also give you a hint to help with your kismet work. You can right click the little square on your Node’s where inputs and outputs come/go, and choose to set delay time. Saves you having to use a delay node then ;)



  • thannx for reply! :)

    jah sure here:

    (green)

    (red)

    “Also bare in mind, if a player logs in, it will display the message for him (the first one), but if another player logs in after him, the object is now the other player who just logged in, so any messages after that point, will show for THAT player.”

    yes this is inteneted and my goal how it should work (though it doesnt relly :D)
    but in delay I have UNchecked “start will resstart” so I suppose if node start once it should “run” to end of it
    and if there is another player logged its ok it just run second time for him regardless of showing message to first player
    (but maybe am wrong, I just suppose)

    but after all it seems like another player loging even its bot is interupting that “program”, which I really don’t understand why is happening : /

    it’s intro and notification that tutorial will start after pressing F2 button
    so I want this to show to every player after logging in and only once

    though am considering to make one “message” for all after level reset and who will join later will have this and I’ll set the first delay time back to 10, 15 or maybe 20 seconds (if someone whould hesitate too long if Zweihender or longbow….)
    and I will hope it’s less likely that 2 people will join in very similar time and if they will play once again other time from start they will have that greetings message…
    nothing better coming to my mind :D

    cuz it’s buggy or there is sth magic behind scenes I don’t know about and it is trolling me very hard xD



  • I would like to answer you but I am having a hard time figuring out what you are trying to do and what the problem is.



  • What would happen here is this:

    1. Player 1 logs in.
    2. After 2.99sec First Message Players "Welcome to Naval Warfare"
    3. After 7 seconds “Press F2 to Proceed with quick start guide”

    That’s pretty simple really.
    The problem is this.

    1. Player logs in.
    2. After 2.99sec, first message displays.
    3. Another player logs in.
    4. Problems occur as the loop now starts over and the 2nd message is not displayed for player 1 because another player/bot triggered the loop to restart, thus changing the instigator to player 2, thus the message would get displayed for player 2, 7 seconds later, and the first message 2.99 sec later.

    You will find that in order to do what you want, it is more complicated than what you currently have. You will most likely need to create an object list so that when a player is added to the server, that player is added to the object list, then you would have to make individual chunks of kismet script for each and every player (32 players in total).

    That’s not really a fully fleshed out idea, but you get the gist?

    There are a few ways that I can think of to do it, but I just woke up and I don’t think what I’m writing will make tooooo much sense :P



  • It is jard to understand what you want sorry - what is the red and green nodes?

    The basic problem does seem to be how kismet works - one visuel view of a sequence in kismet IS the only one that cn run, there are never several instances of that sequence stemming from a single event. I learnt this through trial and erros, so if anyone knows otherwise please shout!!

    One meathod I have used is to isolate the object for a while - by this I mean after the initia even you set a second object to the objectect set by the event. Then use that idea depending on what you want to do.

    So for you it may be - after the event, link in a switch. this switch then triggers the set action, and sets an object variable to the event instigator - you ahve then isolated that particluar player log in. you can now safely display stuff to that player. Because the next event will trigger the next item in the switch, which will set a different object variable - which wil link to a different display message and so on… If you hafe 10 sequences out of the switch it will cope with 10 plauyer log ons in the time it takes to run the sequence of course.



  • @MassiveChaos:

    It is jard to understand what you want sorry - what is the red and green nodes?

    The basic problem does seem to be how kismet works - one visuel view of a sequence in kismet IS the only one that cn run, there are never several instances of that sequence stemming from a single event. I learnt this through trial and erros, so if anyone knows otherwise please shout!!

    One meathod I have used is to isolate the object for a while - by this I mean after the initia even you set a second object to the objectect set by the event. Then use that idea depending on what you want to do.

    So for you it may be - after the event, link in a switch. this switch then triggers the set action, and sets an object variable to the event instigator - you ahve then isolated that particluar player log in. you can now safely display stuff to that player. Because the next event will trigger the next item in the switch, which will set a different object variable - which wil link to a different display message and so on… If you hafe 10 sequences out of the switch it will cope with 10 plauyer log ons in the time it takes to run the sequence of course.

    Pretty much sums up how I would do it.
    It also has it’s drawbacks too, but in my opinion, would be the best solution.
    If I have some time later, I will do up a kismet and post it for you, so you can see what Massive is talking about.



  • hey guys,

    I apreciate also moral support, thanks FartTender :)

    my bad, by “green” and “red” I meant this:

    green Node works always and red Node, well sometimes

    Thanx Otreum and MassiveChaos for strong pieces of advice :)

    you debugged it very nice,
    I see now where was my error

    “The basic problem does seem to be how kismet works - one visuel view of a sequence in kismet IS the only one that cn run, there are never several instances of that sequence stemming from a single event. I learnt this through trial and erros, so if anyone knows otherwise please shout!!”

    I shout xD
    when I press F2 more times it will run tutorial more times,
    tested it :D

    and also in “Delay” (action) there is checkbox "start will restart"
    so if it had work the way you suggest then it would always restart even if you hadn’t checked it
    so then it would be checkbox good for trolling maybe

    but not sure about these things I just guess and
    the more I “play” with UDK the more it feels like the “Hogwarts School of Witchcraft and Wizardry” xDDD
    (I don’t mean I don’t believe you
    I believe your experience supports yr theory
    I just mean mah experience suports my theory :D)

    but okay in first program I had mistake
    now I see where
    and you both gave me good ideas I am really grateful for

    making firm 32 sections is good idea aswell
    but I would like rather to do sth less tedious xD as am lazy

    and aswell I would like to keep code as “nice” as even possilbe
    and am not telling about mah secret dream
    that one day there will be powerful computers enough to run CMW with 200 or maybe even 200 VS 200 ppl battles and they will play my Naval Warfare in epic large scale Sea Battle……

    so I would like to find some “unlimited” amount of players solution

    according to mah investigative playing with object list in kismet it seems to be standard FIFO,

    so tell me

    WHY THE F.K this is doing the very same thing as first program xDDD ?!

    PS: of course I tried to link “Last” or “Index 0” just in case to be sure
    even these 2 options are not logical :D

    Thanx ya all guys for help <3

    –-edit—

    Index 0 is logical but not necesary cuz it “should be” same as First



  • will study the seond in a bit - but oyur first point about the delay box - i hear ya. so what if it has already left the delay box displayed the first one then gone to the second delay box - theny you get the behaviour i say.

    BTW I would LOVE you to prove you can get multiple instances down 1 sequence :-) then i want to know how make that happen consistantly!!!

    So another test for this - are there any players that do not get green node text?

    edit : delay node - no it would not always restart the way i said - i misread your words to start, you don’t mean to say that you have checked that box - but what is th euse of it. the use is because it works the way i say, no checked then the delay runs for 10 seonds no matter how many times it is triggered, i.e from the first trigger, with it checked it restarts the count. (if this helps - in VB terms I think of it as a timed for loop with a doEvents in it!!! i.e. we are not looking at true mutli threading here) but again i guess, just how it seems to me and i can’t find any coder level description to clarify the matter.

    edit edit : !!! dooh : of course there is a reason for restart this is because you can have multiple in connections to a delay!!!



  • Throw a gate in there. You basically want to create a queue. Every time a person joins you want to add them to the object list.

    You then want a separate loop going that does the following:
    1. Close the gate.
    2. Pick first object in list.
    3. Perform any actions you need on the object.
    4. Remove object from list.
    5. Open the gate.
    6. Feed back into the loop.

    This isn’t as useful in gameplay because people have to “get in line” to receive the actions, but it should work fine for intro text.

    EDIT: Actually you don’t even need a gate. Just isolate your action loop from your input event.



  • I agree Jonks - used this approach in several places……



  • Now if you wanted something that mimics multi-threading you’d need something like this behemoth.

    If anyone hits a certain peasant, they take 10 damage every second for 5 seconds.



  • hey guys,

    you convinced me MassiveChaos about that not ability of multiple instances and thank you also for clarification of Delay action
    but I promise when I pressed F “X” times in a row it started to write in chat “X” tutorials that were overlapping mesages…. but maybe it was some remnants cuz of Delay nodes and I didn’t realize it that time so I misunderstood behaviour of kismet in this…
    so this confused me

    no idea about behaviour in normal game,
    I don’t have server and there is some problem on Alpha servers
    ( Otreum wrote he has this problem aswell so at least it’s not my bug but some issue with steam workshop downloading
    hopefuly Devs will fix as soon as they return home from holidays - at least I suppose they wouldn’t ignore me xD)

    I know that Visual Basic exists, but I’m more familiar with Object Pascal (Delphi / Lazarus) but I think I comprehended the point

    Thnak you Jonks! for pro tip :)

    I tried really evrything with Gate I could, though nothing worked

    I didn’t try to make it for firm amount of playesr as it’s not very good and still it will be just suspended over me that sooner or later I have to rework it

    and as I suppose very clever people were creating UDK there MUST BE a way how to enable that starting multiple instances from one kismet code or how to say that (just duno how yet, YET :D)

    right champs, so really thank ya all <3

    BTW I had to rework also displaying tutorial because it wouldnt work in game with many players because of
    _"“The basic problem does seem to be how kismet works - one visuel view of a sequence in kismet IS the only one that cn run, there are never several instances of that sequence stemming from a single event. I learnt this through trial and erros, so if anyone knows otherwise please shout!!”"
    _
    which I wasn’t sure about before

    so I solved it other way displaying intro and also turoial not the best way… but shrug

    deadline is approaching and I would like to check and give some feedback you and also other contestnats before deadline so I have to hurry and finish map asap and not waste time with these intro things…
    so for now it’s sufficient and when I will know how to, one day I will enhance

    I agree with this
    _“This isn’t as useful in gameplay because people have to “get in line” to receive the actions, but it should work fine for intro text.”

    _so even if it had work I wouldn’t most likely use it
    because in case 32 ppl would join in same time = players who played last map did not logged out and continue playing so it would happen maybe quite often and the last 32th player would wait minutes for intro then :D

    but regardless it’s useless if you (or anyone who will read this thread one day) had time and were enthusiasts for programming and found a mistake in this let me know pls just for studying purposes as I think that it should work and it should be workaround for (NOT)multiple instances problem

    though it behave the very same way as other programs = it doesn’t work ( in the same way xD)
    I “open map” (Single Player) -> AddBots -> choose class (spawn) -> 1. message is displayed and 2. is not displayed



  • @Jonks!:

    Now if you wanted something that mimics multi-threading you’d need something like this behemoth.

    If anyone hits a certain peasant, they take 10 damage every second for 5 seconds.

    ohhh Thanks

    I was writing reply for so long that when I started this message wasn’t displayed to me yet xD
    thanks bro ;)



  • If you cant solve it: Just add a “information sign” near the spawns or boats (a kind of “Read me” or “How to use boat”). If someone goes to the sign, he could press f2 and the information will be displayed. ;)



  • @KingJoff:

    If you cant solve it: Just add a “information sign” near the spawns or boats (a kind of “Read me” or “How to use boat”). If someone goes to the sign, he could press f2 and the information will be displayed. ;)

    Thank you KingJoff :)

    that’s a good idea, at first I intended to place “read me” map on wall in spawn shack
    then I realized it could result in gangbang xD

    (btw you would read it after doing dmg with fist
    at first tutorial was supposed to be easter egg xD but after all feedback and also the one from Devs making tutorial secret would be not clever I made up my mind)

    so when I’ve discovered that I can catch player’s keyboard input I made it anytime on F2 request (though player will need to switch to console to read whole tutorial cuz that Delay was causing more problems than I thought at first so I deleted all Delay actions)

    and intro + advice for F2 I made it after all that it will pop up to every one right after TO starts so who will join later hopefully other players will advice him



  • and intro + advice for F2 I made it after all that it will pop up to every one right after TO starts so who will join later hopefully other players will advice him

    Simple solutions are the best. Glad you got worked it out.



  • @Jonks!:

    Simple solutions are the best. Glad you got worked it out.

    Agreed, I am glad too :D



  • yeah if anyone can ever shed more light on how kismet functions here to help us all that would be great.

    If it was me I would not chain the 2 messages together btw - I would have the second message a parallel sequence at some point. even go as far as triggering it off some trigger volume when the player starts moving?



  • @MassiveChaos:

    yeah if anyone can ever shed more light on how kismet functions here to help us all that would be great.

    If it was me I would not chain the 2 messages together btw - I would have the second message a parallel sequence at some point. even go as far as triggering it off some trigger volume when the player starts moving?

    thanx, what a bright idea, cant believe that it hadn’t come to my mind earlier

    So I tried it

    Delay have to be here cuz when Sub Crosshair Text is triggered and you are not spawned nothing happen so Delay is here to give player time to choose class and then spawn

    so it should work with bots (I thought),
    though in game still there would be a risk that for Player 1 it would work OK but for now Player 2 would be problem because Player 2 would trigger that node but Delay (action) not finished with its delay so -> "Dead end’’

    but I was really expecting that when

    I “open map” (Single Player) -> AddBots -> choose class (spawn) for me it will work cuz I am 100% 1. player logged in

    BLOODY HELL!!! both Delay nodes start in absolutelly exact moment in the very same mili-micro-nano second!

    though gues what, GUESS WHAT xD !?

    I “open map” (Single Player) -> AddBots -> choose class (spawn) -> **1. message is displayed and 2. is not displayed

    **so many variations and it behaves still the same “buggy” way xDDD


Log in to reply
 

Looks like your connection to Torn Banner Forums was lost, please wait while we try to reconnect.