Jump to content


Ascending Contributor
  • Content Count

  • Donations

  • Joined

  • Last visited

  • Days Won


Khaikaa last won the day on January 17

Khaikaa had the most liked content!


Profile Information

  • Location
    Inside Damian's wardrobe

Recent Profile Visitors

1,598 profile views
  1. Hi everybody, Today I'm teaching you how to break another limitation of intersect engine: how to know the empty inventory slots of a player's inventory. Let's start with an example of usage: Imagine that you created a very nice minigame that gives a nice reward to your players. But... what happens if a player starts the minigame with a full inventory by mistake? This player will lose this nice reward and there is nothing you can do to solve that... right? WRONG! You can check that player's inventory and send a warning message to him/her, so the player will notice he has not enough empty space on his/her inventory and go to the bank/shop to make more space. But how? We will make this with an event that fills the player's inventory with a special item. For each item we add to his/her inventory we will add +1 to a player variable and repeat. After his/her inventory gets full, we will take all these special items so the player gets back his/her inventory empty spaces. That simple! This is as so easy to do: Before getting started, make sure you have an available player variable and a useless item. If not, create them. First of all, we set the player variable to 0 and add a label(I called this first label "contar"). After that, add a "change player items" command which will be adding the useless item. If it successfully adds the item, we add +1 to the player variable and go back to the "contar" label. At some point there won't be any empty spaces in the player's inventory, so this loop will break. After that happens, add a new label(I called it "vaciar") and add another "change player items" command. This time, it will be taking the useless item. If we successfully take 1 of the useless items, we go back to the "vaciar" label. At some point we won't be able to take more useless items from that player's inventory and the loop will break. After that happens, add some show text command(i did this with a show chatbox text command) and tell the player that he has "(value of that player variable here)" empty spaces. You can optionally tell the player that he needs at least "x" empty spaces so he/she can earn these great rewards. or you can even forbid his/her entrance until he/she has enough empty space. I hope this helps someone!
  2. In this tutorial I'm only talking about quests. There is a way with variables to make it multilingual(except for item/spell descriptions&names, constants... etc), but I'm not talking about that here. If you ever tried my game you would notice that I already did the select language event(and, as long as I know, I'm the first one who did that). I think you didn't get the point. I'm gonna try to explain it better with another example: Imagine that you have a weapon system in your game just like my own(there is 1 master for each weapon available in your game who gives you 1 quest for each level you can reach with every single weapon. Lets say that we have 6 weapons with 3 levels each, that would be 18 quests. Now imagine that the game is multilingual and supports 3 languages(in my case, spanish, galician and english). You have to do these quests for each language, so 18 x 3 =54 different quests. Now imagine that you want to have the possibility to change the game language at any momment(as you can do in my game). That mean you could make the first quest of the sword in english and the second quest of that same weapon in galician. Now imagine that you want all these npcs checking if you are currently doing any quest and, depending on which quests you already did and which quest are you doing at the momment, do some stuff. Congrats, you have 54 conditional branches to play with. That's what I solved doing this, and that's why I wrote this tutorial.
  3. Hi everyone, Today I'm starting a little tutorial section in order to teach you some ways I use to beat some limitations of the current versions of intersect. This time I'll talk about multilingual quests. As you may know, there is no way to translate quests to different languages in intersect. The only thing we can do is creating 1 quest for each different supported language. Imagine the first quest of a game, the tutorial(for example). You'll have to do a tutorial quest in english, a tutorial quest in spanish, a tutorial quest in portuguese... and so on. The problem here is how can we easily check if a player completed the quest or not. Lets see what I mean with a little example: Imagine that there is a npc in our game that will let us pass through a door after we complete the tutorial. How can we do this? Well, we can make tons of conditional branches or spawn conditions lists for each version of the tutorial quest, but this is so messy. So... how could we solve this kind of problems? There is a magic word in intersect: variables! We can create a variable called "tutorialQuestProgress" and edit the quest start event and quest task completion events. When a player starts the quest(no matter the language he chose), that starting event will set our "tutorialQuestProgress" variable to 1. We did it! We now have a easy way to know if a player started any of the tutorial quests! If that variable value is greather than 0 we know that the player started that quest. With each completion task events we will be changing the value of our variable. Imagine that our tutorial quest has 2 tasks. Well, our variable's value will be 0 if we havn't started the quest yet, 1 if we just started the quest, 2 if we completed the first task and 3 if we completed the second task(and, as our quest only has 2 tasks, that means that the player completed the quest). So, if we want to know if our player has finished the quest, we only have to check if the variable's value is equals to 3. That simple! I hope this little tutorial helps someone! We are currently working with it and the amount of work has decreassed a lot. Regards!
  4. Khaikaa

    Proyecto Helheim

    - Added new leveling up quest for axe and hand to hand + 1 new skill for each one - For a few days the coliseum won't be working from 8 am to 7 pm (spanish hour). Thank you for your patience!
  5. Khaikaa

    Negate option

    It should work this way: if variable1 is NOT equals to 5 -> do stuff
  6. Khaikaa

    Proyecto Helheim

    Our discord server is ready to go! https://discordapp.com/invite/Vtnjy6H
  7. Khaikaa

    Proyecto Helheim

    The time has come! Proyecto Helheim is now in Open Alpha stage! If you want to give it a try, just download our client from here: https://proyectohelheim.wordpress.com/descargar/ The only available client at the momment is in spanish, but we are working on the english and galician translations. When you starte the game, you'll be able to pick a language. You can pick the english language and the game dialogues will be turning into english as we translate it. We (the team) hope you like this game a lot.
  8. The previous UI designs weren't bad, but I like the new ones way more
  9. Khaikaa

    Why is this happening?

    Thank you, I'll ask him about his graphic chipset and configuration and will repost here as soon as I know that
  10. Khaikaa

    Why is this happening?

    Hi, as many of you already know, I released the closed alpha client for testing purposes. The issue is that 1 person had the following problem: The intersect client ran very slowly, he needed like 2 minutes just for creating an account. After that, he could play the game "normally" (still very slow) until he arrived to a big area(9 linked maps). At this point, everything went black except for the gui. His OS is Windows 10, with Intel Pentum 2.40GHz and 4GB RAM. 4.7 Net Framework version installed. All logs are clean, no clue of what could be happening inside intersect engine. Any idea and/or solution?
  11. Is there any difference between the global and non global events resources usage? If I add 20 events to a map, would be better make them global or non global in these terms?
  12. Khaikaa

    Proyecto Helheim

    Hi everyone, If everything goes well, we'll be releasing the game tomorrow. Stay tuned!
  13. Khaikaa

    Looping Dialogue...

    As @Kibbelz says, the best way to design looping dialogues is using labels. First of all, you don't fill your game with barely used switches/variables, which lets you have a better organised game structure. Second benefit is that labels give you total control of the event's flow, letting you making easy loops or even jump into different page's sections. The bad part is that devs say "go to label" command is expensive in terms of resources usage, so it's a great tool but you better don't use 324579 go to label commands on every single event of your game.
  14. Khaikaa

    AGD Interviews, part one: Dashplant

    won't somebody please think of the children!!!!!!!!!
  15. Khaikaa


    Is there any way to gitificate intersect? I mean, whole game data is stored in a database, so there should be a way to compare 2 different versions of the same database and merge them, but I don't know how. Any idea?