Don't have an account yet? Then register once and completely free of charge and use our wide range of topics, features and great options. As a registered member on our site, you can use all functions to actively participate in community life. Write posts, open topics, upload your pictures, put your videos online, talk to other members and help us to constantly improve our project and grow together! So, what are you waiting for? Become a part of us today!
To get support for a technical issue such as installing the software, to query a purchase that you've made/would like to make, or anything other than using our software, please visit our Customer Service Desk:
Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.
A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.
Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!
[MENTION=5109]Simon[/MENTION] Hello! I misread. I thought [MENTION=6786]LB[/MENTION] was referring to the 3rd example, or last example/question regarding the [MENTION=5484]Horn[/MENTION] "Another question;I would like to know how i can click on a string object containing a e-mail address, and then open the users default email application on new mail, and have the address inserted automatically."
I am attempting to send customized data over email on a quarterly basis to my clients. This quoted process would expedite the situation and allow me to train staff to use this technique for future clients as well. My current thought was researching more on PHP as the email object in CTF2.5 does not work, or the security, protocols or networking is beyond my understanding.
Please login to see this attachment.Please login to see this attachment.
Hey guys. When my character overlaps an active object such as the trees depicted, I would like for only a small portion of that tree to be opaqued, rather than the entire image. Is this a possibility? Thanks a lot.
Apologies for the potential spam- I am just updating my progress in case anyone is interested...
Concerning the duplication of created objects, I created another Array object and used it as a Toggle. For the same XYZ I would write "Object out of view" as the object was destroyed. For a condition to create an object again I would check that Array first before checking the 2nd array for the Active Objects "name" to create, then setting the toggle to "". This way I am not constantly destroying objects and creating duplicates, thus theoretically saving FPS even further and obnoxious glitching or stuttering of objects. I feel I can use this Array Toggle to really control a lot of "out of vision" commands such as giving the Active Objects that are out of view a special property if other players damage it or if it becomes altered in some fashion.
Solved/Solved?: Still looking for refined input. I will describe my success by explaining the IsoGrid Column/Row/Level code (basically its just 16x32 pixel diamonds)
I am running a fastloop 4,000 times every second (I can probably get it to 1/10th a second) to create a 'field of vision' for my character. Because my game is Isometric, I must explain that there are so many loops because I have to times the Length and Width of my vision by the Height or Column, Row and Level. I have 10 levels per 16x32 cell and wish to check a 400 square radius of my character, thus timing it by 10. I can already tell I will need to reduce this to 200 when the character is in deep towns or building areas.
I start the fastloop by setting my Column and Row to -10 and level to 0. I then add 1 for every loop to the level. When the Level reaches 10 I set the Level back to 0 and add 1 to the Column. As the column reaches +10 I add 1 to Row and set the Column to 0. I then use the players current position and add the current Column/Row/Level to each of the conditions regarding an Array of XYZ (Column/Row/Level with a string of the "name" of the object that I wish to create), then snapping it into position using the same logic. I avoided duplicate creations by ruling that any of the same group with the same Column/Row/Level alterable values will be randomly selected and destroyed. I am unwise to anything more efficient than that for this form of Array creation.
I have started the code to destroy objects that are outside of my characters radius. Works as well as it should. However I am currently stumped how I wish to re-create the items as the player approaches the saved array area. By this I mean what is the most efficient way of doing it. Currently my array stores the Column, Row and Level of the Object and the String is the Name of the object that needs to be recreated. I was thinking I would constantly run a counter that would sum the value of the location of my character with the sensor being the counters adding and resetting on a fastloop. I then am conflicted as I am confident that will work as to only creating the object once and finding an appropriate toggle so it doesn't dupe objects or glitch out. Any further ideas would be appreciated.
I had Vsync off for this example. Thanks for the input, however.
Please login to see this attachment.Please login to see this attachment.Please login to see this attachment.
Quickedit: After viewing the terrible resolution of the pictures, the first image is 60fps with 500 objects, 2nd is 45 FPS with 700 objects and 3rd is 30 FPS with 900 objects.
Hi Team,
The figures depict a simple addition of objects that decrease the frame rate of my game dramatically. I have lurked the forums for FPS fixes and have concluded that I have absolutely tried every easy fix to clean up my code as much as possible. I am searching for ideas that could relate to deactivating the active objects that are far away from the main character, or having the objects create as the character walks closer to them. I know this is a common practice in mainstream games like Diablo wherein the enemies are created as the character walks in their perimeter to save FPS. I present a mere idea, looking for other potential ideas before I venture into hours of code for something that may be less effective.
Make an alterable variable "lacewing id" for the paintball player. Upon connecting and naming, set the players lacewing id to self id, located in lacewing event actions. All actions thereforth that interact between players will use a "if alterable variable "lacewing id" = self id or peer id" if you consider your peer committed an action that was sent. If the player respawns, you must send the lacewing id to the other players again, because your friends game will not know otherwise. Then with the random location spawn, just do this all in the same line... " if count player =0 and player id = self id then create player at 0,0 and position player at x= ran(100) , y=ran(100). Replace the 100 with the pixels of width or height of your application that you wish. Also use the random button rather than writing it like I did. I am unaware how it's written. Mind you, you will have to send this coordinate after the spawn in lacewing or else the player will spawn in two different locations on both ends. To do this, just write the sends in the same event line and send. Should create and place variables and coordinates in the same event line for the peers computer as well. I can elaborate further if needed.
After testing all of the examples given, I have come to a conclusion that the For Each example works most universally...
Under the vague set up after I preset IDs to match the parent and child and always set the XY to parent...
IF: Click on Parent> Then: For Each: ChildID "Connect Child to Parent Destroy"
On Loop: "Connect Child to Parent Destroy" + ID Parent =ID Child> Then: Destroy both.
This worked under a stress test if i allowed the Parent+Child space from other Parent+Children. When I stacked 50 or more in the same pixel and clicked, the loop would go wonky and other Parents would lose their Children. I tested with 1,000 and came into some errors with ID swapping between children. the Parents kept their allocated IDs. The problem with Always: Set XY to Parent, is that it lacks debugging. I strayed from running a ForEach to keep the XY position because it minuses my FPS by 15-20... and I am in lieu of making 3 more children for my parent.
Other notes: I have been staying away from spreading values. This seems to get wonky when I save/load, create new during run time and destroy the Parent. I use a counter and an array to write and erase so that I have a debugging chance if something goes weird.
I'm confident at this point that the code spreads its value when another active object arrives in its level. Also the default level is stuck at the max actives present at run time. This seems to work a lot like an array except that one cannot add to the default max level unless another active is created
Request: Could someone modify the current layer object to allow for an increased or user defined max level? Thanks!
Update... But not as clean or memory efficient as I wish it to be. Not sure if I can do this without infinitely looping the position For Each.
Firstly there is a spread value on the body of the 'Zergling' and the 'Zergling Arm' of the 'Zergling' to act as an appendage to hold the weapon. (SpreadID of body = SpreadID of arm that is always positioned next to the body using a value=1 spread).
Always - Start loop for each 'Zergling Arm' named "Equip Weapon" (won't work without this...)
(Group.Enemy) overlaps (Group.Arms) + State of (Group.Arms) = "" - Set State (Group.Arms) "Enemy AI" Set SpreadID (Group.Arms) to SpreadID of (Group.Enemy)
On each one of 'Zergling Arm' name "Equip Weapon" + 'SpreadID' of "Machine Gun" (Group.Arms) = 'SpreadID' of 'Zergling Arm' - Set XPos of (Group.Arms) to Xactionpoint 'Zergling Arm' Set YPos of (Group.Arms) to Yactionpoint 'Zergling Arm'
If anyone knows a method that doesn't run a constant loop please let me know. I also found that when I create mass enemies that pickup weapons it sometimes glitches and weapons from across the 'World' of the game will appear in their hand. I'm assuming this is some sort of engine thing that I would not understand.
I wish to discuss how to position a duplicated qualifier onto another duplicated qualifier with absolute precision. I will use Starcraft (RTS style game... hundreds of duplicated units can be created with UID's) as an example to explain my point.
Example: Unit "Zergling", (Group.Enemy) overlaps "Machine Gun" (Group.Arms) , Then: "Machine Gun" (Group.Arms) AltVar: ID become FIXEDID of "Zergling" (Group.Enemy)
IF: (Group.Arms) AltVar: ID = FIXED "Zergling" (Group.Enemy) Then: Position "Machine Gun" (Group.Arms)- (0,0) from "Zergling" (Group.Enemy)
I read a lot of qualifier articles on the bulkiness of clickteam fusion with duplicate active objects within qualifiers. Can anyone direct me or establish a clear cut example on what one would do to make an absolute lockdown of positioning for relative objects? It seems I can position these events with "Player" events such as clicking and typing, but AI events work under some sort of underground construct.
Thanks and apologies if there is a relevant thread that I did not find.
PBarwick, thanks for that tip. I had to do IF: XQualifer overlaps XQualifier (they are duplicates within an "enemy" qualifier) THEN: Decrease Ysort. Duplicates and qualifiers seem to need narrow commands.
PBarwick, thanks for your reply. Although I do appreciate your example, I was able to successfully solve my problem using only the Flocking Object. It is absolutely brilliant. In contrast to your example, the units stay separated during the "agro" process and idle while their destination has been reached. The random variance in +/- degree was something I was tampering with prior to finding the Flocking Object by Anders but found the code difficult to distinguish individual enemies. I tested the Flocking Object with 50-100 objects and only saw a ~5 FPS scatter.
I have searched for qualifier collision/movement based objects from Anders, pathfinding examples to prevent overlapping qualifiers controlled by "AI", coming to a conclusion that I must post. The movement is fluid to the destination when normal parameters are set. However I would like the path to control like zerglings in Starcraft or any other RTS. The zerglings in Starcraft stop movement when colliding against another zergling, when performing any basic movement function. However, they continue their natural movement towards the object- even if they run around a stuck zergling. I understand it gets astronomically complex after that, but I am looking for a simple solution. One which if the enemy gets stuck or stopped upon the same qualifier, it will just continue the path in front of it once the collision is clear. My theory is that I will have to create a "bubble" around the character and treat is as a collision detector to separate same-qualifier issues?
I prepared a rough example.
Example one in the picture is the fluid overlapping or stacking of enemies towards player.
Example two is the issue when I condition same-qualifier overlapping with any directional change. They seem to wiggle dance to the destination at random directions. I understand the problem, but trying to display my conviction towards the issue. Thanks and my apologies if I missed a thread with this solution.
Please login to see this attachment.
EDIT:: I found Anders' Flocking Object. This looks like exactly what I needed. I will re-post if necessary or if my search on forum: flocking becomes null.