<?xml version="1.0"?>
<rss version="2.0"><channel><title>Event Systems Latest Topics</title><link>https://www.ascensiongamedev.com/forum/368-event-systems/</link><description>Event Systems Latest Topics</description><language>en</language><item><title>[AOG] Player Respawn System</title><link>https://www.ascensiongamedev.com/topic/4459-aog-player-respawn-system/</link><description><![CDATA[<p>
	Description:
</p>

<p>
	This is a respawn system that I currently use in my games. It is very staright farward but allows your players to set a respawn location you put on your map.
</p>

<p>
	 
</p>

<p>
	Video:
</p>

<p>
	<a href="https://www.ascensiongamedev.com/resources/filehost/48a67458f15947e6130fbdb70c3acbd3.mp4" rel="">https://www.ascensiongamedev.com/resources/filehost/48a67458f15947e6130fbdb70c3acbd3.mp4</a>
</p>

<p>
	 
</p>

<p>
	Process:
</p>

<p>
	Players can walk up to a respawn point and interact with it to set a respawn location and if they die it will respawn them at that point.
</p>

<p>
	 
</p>

<p>
	Issue:
</p>

<p>
	Event doesnt trigger fast enough, so we create a blank black map and a black image to prevent a "Map Bounce" (what I mean by this is when a player dies he will respawn back to the class set start location before the respawn event kicks in, so the class starter map will show for a split second, before the player is warped to the map set by the respawn system. It will make sense as we go on)
</p>

<p>
	 
</p>

<p>
	Build: ﻿
</p>

<p>
	First we need to make a variable:
</p>

<ol><li>
		Type: INTEGER, Name: Player Respawn LOC
	</li>
</ol><p>
	 
</p>

<p>
	Second we need to make a common event
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Way Ive done it is so each new page is a respawn location, so you can make as many locations as you wish.
		</p>

		<p>
			 
		</p>

		<p>
			Make sure each page is TRIGGER= "On Respawn" and has a "Spawn/Execution Condition" of the player respawn location, Like so:
		</p>

		<ol><li>
				PAGE 1 is: IF "Player Respawn LOC" = 1 RUN
			</li>
			<li>
				PAGE 2 is: IF "Player Respawn LOC" = 2 RUN
			</li>
		</ol><p>
			 
		</p>

		<p>
			What is happening here is
		</p>

		<ol><li>
				Show a picture, which is just a black image which is set to full screen.
			</li>
			<li>
				Show Text that player has died
			</li>
			<li>
				Warp player to the location of respawn point
			</li>
			<li>
				Hide image
			</li>
		</ol><p>
			 
		</p>

		<p>
			Page 1
		</p>

		<p>
			<img alt="9f7be3b43dfa8928addf8dc55b460dc4.png" class="ipsImage" data-ratio="77.66" height="650" width="837" src="https://www.ascensiongamedev.com/resources/filehost/9f7be3b43dfa8928addf8dc55b460dc4.png" /></p>

		<p>
			Page 2
		</p>

		<p>
			<img alt="dc8757d8c3b90e6960d746c739bfff73.png" class="ipsImage" data-ratio="76.94" height="644" width="837" src="https://www.ascensiongamedev.com/resources/filehost/dc8757d8c3b90e6960d746c739bfff73.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Lastly we need to make the respawn points, which I call "Pathfinders", which is just an event on a map.
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			So all that is happening here is when a player interactions with the set reswpan loaction is asks do they wish to set location here, if the player hits yes, it sets variable "Player Respawn LOC" to 1
		</p>

		<p>
			<img alt="93f340d3aac14dadf8e0a6d7af4b2a71.png" class="ipsImage" data-ratio="77.58" height="647" width="834" src="https://www.ascensiongamedev.com/resources/filehost/93f340d3aac14dadf8e0a6d7af4b2a71.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Now you have set the core build of the respawn system, but you have to do one more thing which depends on how you have your game setup. Becuase of the issue I mentioned above, with a slight delay happening on the event trigger to warp player, I have had to set a "Blank" map which I called "Eternity".
</p>

<p>
	 
</p>

<p>
	I set all my classes in game to have this map "Eternity" as a spawn point
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="d99bffe6c6bbf16f4c0ba70d0249ba72.png" class="ipsImage" data-ratio="39.85" height="104" width="261" src="https://www.ascensiongamedev.com/resources/filehost/d99bffe6c6bbf16f4c0ba70d0249ba72.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	So this isnt good for when a new player starts the game, as they will just spawn on a blank map... so you add (which I have in all my games) is a common event "Set New Player Variables".
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			This is useful if you have other variables you need to set for a new player joining the game.
		</p>

		<p>
			 
		</p>

		<p>
			Create a new variable and call it "New Player Start Done", variable is a "Boolean"
		</p>

		<p>
			Make sure event "Spawn/Execution condition" is "New Player Start Done = FALSE"
		</p>

		<p>
			Make the event trigger is "Login"
		</p>

		<p>
			 
		</p>

		<p>
			First thing in the common event commands is to warp the player to your actual starting location of your game.
		</p>

		<p>
			Last thing in the common event commands is to set a boolean variable to "TRUE" (this is so event only runs once for a new player)
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="2a35d70d37acad8c2c5dae2e818cac2b.png" class="ipsImage" data-ratio="77.34" height="645" width="834" src="https://www.ascensiongamedev.com/resources/filehost/2a35d70d37acad8c2c5dae2e818cac2b.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Complete!
</p>

<p>
	 
</p>

<p>
	Now you should have a fully working respawn location system in your game.
</p>

<p>
	 
</p>

<p>
	Enjoy <span><img alt=":)" data-emoticon="" height="20" src="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile.png" srcset="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile@2x.png 2x" title=":)" width="20" /></span>
</p>]]></description><guid isPermaLink="false">4459</guid><pubDate>Sat, 23 Nov 2019 13:48:08 +0000</pubDate></item><item><title>Event Text Variables</title><link>https://www.ascensiongamedev.com/topic/749-event-text-variables/</link><description><![CDATA[<p>
	You can use the following variables in event commands that display text. (Show Text/Show Options/Add Chatbox Text)
</p>

<p>
	 
</p>

<ul><li>
		\pn  -- shows the players name that triggered the event
	</li>
	<li>
		\en -- shows the name of the event that is activated
	</li>
	<li>
		\onlinecount -- shows the number of players that are online
	</li>
	<li>
		\onlinelist -- lists all the players that are online
	</li>
	<li>
		\param -- takes the string after a /command. Example: /welcome kibbelz, will return "kibbelz" in the text display. Available from beta 4.0 onwards.
	</li>
	<li>
		<p>
			\hour -- displays the hour component of the games time (12 hour format)
		</p>
	</li>
	<li>
		<p>
			\24hour -- displays the hour component of the games time (24 hour format)
		</p>
	</li>
	<li>
		<p>
			\minute -- displays the minute component of the games time
		</p>
	</li>
	<li>
		<p>
			\second -- displays the second component of the games time
		</p>
	</li>
	<li>
		<p>
			\period  -- displays whether or not it is morning/night in game (AM or PM)
		</p>
	</li>
	<li>
		<p>
			\pv{#}    -- displays the value of a player variable (replace # with the variable id set in the switch &amp; variable editor)
		</p>
	</li>
	<li>
		<p>
			\ps{#}    -- displays the value of a player switch (replace # with the switch id set in the switch &amp; variable editor)
		</p>
	</li>
	<li>
		<p>
			\gs{#}    -- displays the value of a global switch (replace # with the switch id set in the switch &amp; variable editor)
		</p>
	</li>
	<li>
		<p>
			\gv{#}    -- displays the value of a global variable (replace # with the variable id set in the switch &amp; variable editor)
		</p>
	</li>
</ul><p>
	 
</p>

<p>
	<strong>New in Beta 6.1</strong>
</p>

<ul><li>
		\evtParams -- Lists all available parameters for an event
	</li>
	<li>
		\evtparam{#} -- displays value of an event parameter
	</li>
</ul><p>
	 
</p>

<p>
	 
</p>

<p>
	<strong>Deprecated ( &lt; Beta 4)</strong>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents" data-gramm="false">
		<p>
			<b>Event/Player Variables in versions &lt; B4.X</b>
		</p>

		<ul><li>
				<p>
					\pv #   -- displays the value of a player variable (replace # with the variable id shown in the switch &amp; variable editor)
				</p>
			</li>
			<li>
				<p>
					\ps #   -- displays the value of a player switch (replace # with the switch id shown in the switch &amp; variable editor)
				</p>
			</li>
			<li>
				<p>
					\gs #   -- displays the value of a global switch (replace # with the switch id shown in the switch &amp; variable editor)
				</p>
			</li>
			<li>
				<p>
					\gv #   -- displays the value of a global variable (replace # with the variable id shown in the switch &amp; variable editor)
				</p>
			</li>
		</ul></div>
</div>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Stay tuned, we will be adding more commands and examples later.
</p>]]></description><guid isPermaLink="false">749</guid><pubDate>Wed, 10 Aug 2016 08:34:19 +0000</pubDate></item><item><title>Guild system 0.8.0-226 help requirements</title><link>https://www.ascensiongamedev.com/topic/7095-guild-system-080-226-help-requirements/</link><description><![CDATA[<p>
	How to add a requirement to create the guild? For example, it asks you for X item
</p>

<p>
	--------
</p>

<p>
	como agregar requerimiento para crear el guild? por ejemplo que te pida X item
</p>
]]></description><guid isPermaLink="false">7095</guid><pubDate>Fri, 11 Oct 2024 13:24:39 +0000</pubDate></item><item><title>[AOG] NPC Summoning</title><link>https://www.ascensiongamedev.com/topic/4691-aog-npc-summoning/</link><description><![CDATA[<p>
	Description:
</p>

<p>
	This is very simple(ish) system, but affective way of doing summons for your game using the event system. <s>It also works with PvP but the player must be attacked (Or have met a condition you set), it also works with a criminal system I have so if a player is a criminal the summon will attack.</s> Can set different conditions based on your game.
</p>

<p>
	 
</p>

<p>
	Video:
</p>

<p>
	<a href="https://www.ascensiongamedev.com/resources/filehost/ac1bd0b14a7dd8123876ca9015247bc8.mp4" rel="">https://www.ascensiongamedev.com/resources/filehost/ac1bd0b14a7dd8123876ca9015247bc8.mp4</a>
</p>

<p>
	 
</p>

<p>
	Process:
</p>

<p>
	Use a spell or Item event to "Summon" your NPC Minions <span><img alt=":)" data-emoticon="" height="20" src="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile.png" srcset="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile@2x.png 2x" title=":)" width="20" /></span>
</p>

<p>
	 
</p>

<p>
	Issue:
</p>

<p>
	Player will not get experience when a summon kills a NPC.
</p>

<p>
	PvP does not seem to be working anymore... I am investigating to find a solution.
</p>

<p>
	 
</p>

<p>
	Addon:
</p>

<p>
	None
</p>

<p>
	 
</p>

<p>
	Note: Below build is for my space game, change naming of variables and such to suit your game style.
</p>

<p>
	 
</p>

<p>
	Build: ﻿
</p>

<p>
	1. First we need a two player variables as this is key to the system working correctly and have the NPC not attack the player, PVP, as well as so other players summons do not conflict:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Main Variable (Integer)
		</p>

		<p>
			<img alt="1d443e210608b3d01476514b58d9629f.png" class="ipsImage" data-ratio="71.13" height="202" width="284" src="https://www.ascensiongamedev.com/resources/filehost/1d443e210608b3d01476514b58d9629f.png" /></p>

		<p>
			 
		</p>

		<p>
			Optional - Criminal Variable (Boolean)
		</p>

		<p>
			<img alt="c17e90c9a004c2f1e62652ddc9042029.png" class="ipsImage" data-ratio="59.64" height="167" width="280" src="https://www.ascensiongamedev.com/resources/filehost/c17e90c9a004c2f1e62652ddc9042029.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	2. Let create the NPC we want to summon. This system utilises NPC vs NPC, so as you add more NPCs to you game you will have to amend this NPC and other NPCs you add so they can attack eachover:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Behavior:
		</p>

		<p>
			Make sure the behavior of the NPC is Aggressive, Swarm is optional.
		</p>

		<p>
			<img alt="9ec7d7878f4c6cc0622c8c5e2d4ad479.png" class="ipsImage" data-ratio="92.56" height="647" width="699" src="https://www.ascensiongamedev.com/resources/filehost/9ec7d7878f4c6cc0622c8c5e2d4ad479.png" /></p>

		<p>
			 
		</p>

		<p>
			NPC Vs NPC:
		</p>

		<p>
			<img alt="b74b62ceb8eddf5fbd609af576a93073.png" class="ipsImage" data-ratio="91.71" height="642" width="700" src="https://www.ascensiongamedev.com/resources/filehost/b74b62ceb8eddf5fbd609af576a93073.png" /></p>

		<p>
			 
		</p>

		<p>
			Now the bit that makes all this work, the conditions...
		</p>

		<p>
			 
		</p>

		<p>
			Player Friend/Protector:
		</p>

		<p>
			So what is happening here? We are setting the condition so "Drone Deploy Player Variable" must be EQUAL to "Drone Deploy Player Variable"... This will make more sense later on <span><img alt=":)" data-emoticon="" height="20" src="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile.png" srcset="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile@2x.png 2x" title=":)" width="20" /></span>
		</p>

		<p>
			<img alt="66298787dc1d2b82cc56795053717108.png" class="ipsImage" data-ratio="68.58" height="633" width="923" src="https://www.ascensiongamedev.com/resources/filehost/66298787dc1d2b82cc56795053717108.png" /></p>

		<p>
			 
		</p>

		<p>
			Should Not Attack Player on Sight:
		</p>

		<p>
			You can customise this bit based on your game conditions, for my game I want a summon to attack "Criminal" Players on sight, later on I will add so if the player is a "Criminal himself" then it wont. Will also work great for factions and such.
		</p>

		<p>
			 
		</p>

		<p>
			This part is so the summoned NPC/s wont attack other players on sight, so you could add level ranges or something different if you dont want that to happen.
		</p>

		<p>
			<img alt="acce7d26e444208e8ed029b813ff3553.png" class="ipsImage" data-ratio="70.54" height="649" width="920" src="https://www.ascensiongamedev.com/resources/filehost/acce7d26e444208e8ed029b813ff3553.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	3. Now lets make the common event which will spawn/summon our minions:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Very simple but affecting solution...
		</p>

		<p>
			 
		</p>

		<p>
			First we set the "Player Variable - Deploy Drone" to a random number between 1 to 1000000000. This is so the player who summoned will be assigned a random number, and that NPC wont attack the person who generated that number as it will match, we set this in the last stage in "Player Friend/Protector".
		</p>

		<p>
			 
		</p>

		<p>
			Then we just summon/spawn then NPC around the player (In this example we summon 3 Civ Drones):
		</p>

		<p>
			<img alt="e1ca1d4d2406dfb9338bd3b5fb2994d4.png" class="ipsImage" data-ratio="78.03" height="650" width="833" src="https://www.ascensiongamedev.com/resources/filehost/e1ca1d4d2406dfb9338bd3b5fb2994d4.png" /></p>

		<p>
			 
		</p>

		<p>
			To add a timer that will despawn the NPCs summoned after a set amount of time add this:
		</p>

		<p>
			<img alt="52512a5459ef8dc524f6f8e6ecea48aa.png" class="ipsImage" data-ratio="77.54" height="649" width="837" src="https://www.ascensiongamedev.com/resources/filehost/52512a5459ef8dc524f6f8e6ecea48aa.png" /></p>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	4. Lastly we build the spell or item that you want to use to summon your minions:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Add a cooldown of 60 seconds (60000ms) if you dont want the player to spam summons, this will coincide with the event timer.
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="059b6598bbc3faf4b139f48ebb076db1.png" class="ipsImage" data-ratio="84.33" height="576" width="683" src="https://www.ascensiongamedev.com/resources/filehost/059b6598bbc3faf4b139f48ebb076db1.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Thats it...simple really using the powerful event system of intersect <span><img alt=":)" data-emoticon="" height="20" src="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile.png" srcset="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile@2x.png 2x" title=":)" width="20" /></span>
</p>

<p>
	 
</p>

<p>
	<span>Enjoy</span>
</p>]]></description><guid isPermaLink="false">4691</guid><pubDate>Tue, 18 Feb 2020 20:04:41 +0000</pubDate></item><item><title>Resource Skill Mining</title><link>https://www.ascensiongamedev.com/topic/3591-resource-skill-mining/</link><description><![CDATA[
<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Here is the tiny tutorial to create a skill that works similar to RuneScape Mining.
</p>

<p>
	This can be altered for other resource skills as well.
</p>

<p>
	 
</p>

<p>
	Date: January 20th 2019
</p>

<p>
	Guide Written During Beta 5.1
</p>

<p>
	 
</p>

<p>
	Credits to Ainz Ooal Gown for helping me with the final piece:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<blockquote class="ipsQuote" data-ipsquote="" data-ipsquote-contentapp="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentcommentid="35473" data-ipsquote-contentid="3588" data-ipsquote-contenttype="forums" data-ipsquote-timestamp="1547936771" data-ipsquote-userid="183" data-ipsquote-username="Ainz Ooal Gown">
			<div class="ipsQuote_citation">
				21 hours ago, Ainz Ooal Gown said:
			</div>

			<div class="ipsQuote_contents">
				<p>
					If your using player variables for example "Mining EXP" &amp; "Mining Level" and want the "Mining Level" to increase when "Mining EXP" gets to a certain point you can use a condition for player variable "Mining EXP" is equal to or greater than.
				</p>

				<p>
					 
				</p>

				<p>
					Example:
				</p>

				<p>
					 
				</p>

				<p>
					Condition: Is Mining EXP =&gt; 1000
				</p>

				<p>
					Then Mining Level = 1
				</p>

				<p>
					Else
				</p>

				<p>
					Condition: Is Mining EXP =&gt; 2000
				</p>

				<p>
					Then Mining Level = 2
				</p>

				<p>
					Else
				</p>

				<p>
					Condition: Is Mining EXP =&gt; 3000
				</p>

				<p>
					Then Mining Level = 3
				</p>

				<p>
					 
				</p>

				<p>
					And so on...
				</p>

				<p>
					 
				</p>

				<p>
					<span>Hope this helps. <img alt=":)" data-emoticon="" height="20" src="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile.png" srcset="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile@2x.png 2x" title=":)" width="20" /></span>
				</p>
			</div>
		</blockquote>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	Add two Player variables
</p>

<p>
	- Mining (Keep tracks of experience)
</p>

<p>
	- Mining (Keep tracks of mining level)
</p>

<p>
	-Take a note of the Mining Text Id: \pv 4 we will use this later
</p>

<p>
	-Mining Level Text Id: \pv 5.
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="d6c530825bea231c010dd2ff8d982eac.png" class="ipsImage" height="593" src="https://www.ascensiongamedev.com/resources/filehost/d6c530825bea231c010dd2ff8d982eac.png" width="528" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Next create 2 Common Events
</p>

<p>
	- Mining Experience (Will add experience whenever a player successfully mines)
</p>

<p>
	- Mining Level (Will level up when Mining Experience reaches a certain level)
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="627ba723f68396cc5379b1aa7138ba80.png" class="ipsImage" height="166" src="https://www.ascensiongamedev.com/resources/filehost/627ba723f68396cc5379b1aa7138ba80.png" width="238" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Next Edit the event Mining Experience
</p>

<p>
	- Set Player Variable Mining and add 1 as the image below
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="e4aff3e79cf9271c5974d52d6232181d.png" class="ipsImage" height="654" src="https://www.ascensiongamedev.com/resources/filehost/e4aff3e79cf9271c5974d52d6232181d.png" width="844" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Next we have to make the Mining skill level up as we gain experience
</p>

<p>
	We do that with Conditional Branches
</p>

<p>
	-When Player Variable Mining is equal to 5 amount of experience
</p>

<p>
	-We set Player Variable Mining Level to 1
</p>

<p>
	-If Player Variable Mining is equal to 6 we then set Player Variable Mining Level to 2.
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="2b2495c1734945e2399a5a9a0872cc94.png" class="ipsImage" height="202" src="https://www.ascensiongamedev.com/resources/filehost/2b2495c1734945e2399a5a9a0872cc94.png" width="340" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Next we have to connect the Mining to a resource
</p>

<p>
	In Resource Editor add the Common Event Mining Experience.
</p>

<p>
	Now we gain experience for mining.
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="b2db25df837cd8a2c0d9d3c1b277d026.png" class="ipsImage" height="571" src="https://www.ascensiongamedev.com/resources/filehost/b2db25df837cd8a2c0d9d3c1b277d026.png" width="965" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Next we can add a Mining Level requirement for Mining better ores.
</p>

<p>
	This time we Edit the Harvesting Requirements.
</p>

<p>
	We add a condition that the Player Variable Mining Level has to be greater or equal to Mining Level 2.
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="5e3c595b5c67f394f217f494f2d0f244.png" class="ipsImage" height="750" src="https://www.ascensiongamedev.com/resources/filehost/5e3c595b5c67f394f217f494f2d0f244.png" width="931" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	 
</p>

<p>
	To display the Experience and Mining Level in game we can do this with events
</p>

<p>
	Remember the Text Id we took note of in the beginning.
</p>

<p>
	Create a new event on the ground and add Show Text with this inside:
</p>

<p>
	"\pn mining exp: \pv{4}
</p>

<p>
	\pn mining level: \pv{5}"
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="5c366ca0997c7e37bbaa155f68d29772.png" class="ipsImage" height="661" src="https://www.ascensiongamedev.com/resources/filehost/5c366ca0997c7e37bbaa155f68d29772.png" width="845" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	When the player interacts with the event the result will show the following
</p>

<p>
	<img alt="22c444914eafc056440cc345df9a1000.png" class="ipsImage" height="187" src="https://www.ascensiongamedev.com/resources/filehost/22c444914eafc056440cc345df9a1000.png" width="531" /></p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">3591</guid><pubDate>Sun, 20 Jan 2019 08:58:05 +0000</pubDate></item><item><title>[AOG] Equipment Based Skills</title><link>https://www.ascensiongamedev.com/topic/4689-aog-equipment-based-skills/</link><description><![CDATA[<p>
	Description:
</p>

<p>
	This is very simple system, but seen a few people having difficulties replicating this system so thought Id make this tutorial. This system will allow a player to equip an item and have a skill/spell/ability assigned to them, and when item is unquipped the skill/spell/ability will be removed from player.
</p>

<p>
	 
</p>

<p>
	Video:
</p>

<p>
	<a href="https://www.ascensiongamedev.com/resources/filehost/1f96b965d2b60b167e704b3e87a5a202.mp4" rel="">https://www.ascensiongamedev.com/resources/filehost/1f96b965d2b60b167e704b3e87a5a202.mp4</a>
</p>

<p>
	 
</p>

<p>
	Process:
</p>

<p>
	Equip and item (Anything that can be equipped by the player: Weapon, Armour, ect) and give the player a skill based on that item (Can give any skill or any amount of different skills).
</p>

<p>
	Unequip the item will remove that skill from the player.
</p>

<p>
	 
</p>

<p>
	Issue:
</p>

<p>
	None
</p>

<p>
	 
</p>

<p>
	Addon:
</p>

<p>
	None
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Build: ﻿
</p>

<p>
	Create a Item
</p>

<p>
	Create a Skill
</p>

<p>
	Create a Common Event:
</p>

<ol><li>
		Name the common event for what the skill/item is
	</li>
	<li>
		Make the event "Autorun"
	</li>
	<li>
		Set condistion like so:
	</li>
</ol><div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="caa5dc56b190f2ae722655aaa01c9fb8.png" class="ipsImage" data-ratio="78.23" height="654" width="836" src="https://www.ascensiongamedev.com/resources/filehost/caa5dc56b190f2ae722655aaa01c9fb8.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Simple but affective <span><img alt=":)" data-emoticon="" height="20" src="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile.png" srcset="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile@2x.png 2x" title=":)" width="20" /></span>
</p>

<p>
	 
</p>

<p>
	<span>Enjoy</span>
</p>]]></description><guid isPermaLink="false">4689</guid><pubDate>Tue, 18 Feb 2020 17:32:59 +0000</pubDate></item><item><title>Quest Marker Tutorial - How to use animations to show a quest's progress</title><link>https://www.ascensiongamedev.com/topic/2390-quest-marker-tutorial-how-to-use-animations-to-show-a-quests-progress/</link><description><![CDATA[<p>
	<em>Updated November 1st, 2023</em>
</p>

<p>
	 
</p>

<p>
	This guide assumes you know how quests work in Intersect. If you don't, check out <a href="https://www.ascensiongamedev.com/topic/1860-tutorial-step-by-step-quest-creation-using-quest-editor/?tab=comments#comment-23819" rel="">EVOLV's step-by-step quest guide</a>.
</p>

<p>
	 
</p>

<p>
	<span style="font-size:20px;"><strong>I. Animations</strong></span>
</p>

<p>
	<strong>1.</strong> You'll need three different animations to show quest progress:
</p>

<p>
	<span style="color:#000000;"> </span>  - To show that there is a quest available
</p>

<p>
	   - To show that there is a quest in progress
</p>

<p>
	   - To show that there is a completed quest to turn in
</p>

<p>
	<a href="https://imgur.com/a/1QqdBsm" rel="external nofollow">You can use these animations that I've created</a>. If you're going to make your own, make sure that there is suitable offset provided in the graphic, so that the animation appears above the event.
</p>

<p>
	 
</p>

<p>
	<strong>2. </strong>Once you have the three .pngs in your animation folder, open up the Intersect Editor and add them as three separate animations. Follow the image below if you're unfamiliar with how to do so.
</p>

<p>
	<img alt="yupexTG.png" class="ipsImage" data-ratio="75.08" height="535" style="height:auto;" width="1000" data-src="https://i.imgur.com/yupexTG.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	Repeat this process until you have three separate animations.
</p>

<p>
	 
</p>

<p>
	<span style="font-size:20px;"><strong>II. Quest</strong></span>
</p>

<p>
	1. For this example quest, we're only going to have two steps. The first step will be to interact with a nearby event, and the second step will be to return to the quest giver to complete the quest. I made these both event driven tasks in the quest editor. You can include any amount of tasks in your quest, as long as you have all of the stuff you do before you turn in the quest, and then a task to go back and turn the quest in.
</p>

<p>
	<img alt="03D6sB3.png" class="ipsImage" data-ratio="29.84" height="74" style="height:auto;" width="248" data-src="https://i.imgur.com/03D6sB3.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	<strong><span style="font-size:18px;">III. Quest Giver Event</span></strong>
</p>

<p>
	1. For the quest giver event, we're going to utilize two key features: pages and spawn/execution conditions.
</p>

<p>
	Place an event on the map where you want the quest giver to be.
</p>

<p>
	<img alt="SVdgTr3.png" class="ipsImage" data-ratio="87.38" height="277" style="height:auto;" width="317" data-src="https://i.imgur.com/SVdgTr3.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	2.  In the event editor, section 1 shows your options for pages. 2 will show what page you have selected and what pages are available, and 3 is where you edit spawn conditions for your event.
</p>

<p>
	<img alt="lkuX9I0.png" class="ipsImage" data-ratio="21.16" height="205" style="height:auto;" width="969" data-src="https://i.imgur.com/lkuX9I0.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	3. Go to Entity Options and double click the empty gray box to select the sprite or tileset piece for your event. I chose JC's sprite for mine. Make sure the Animation right below is set to None.
</p>

<p>
	<img alt="GgrC9wc.png" class="ipsImage" data-ratio="98.13" height="210" style="height:auto;" width="214" data-src="https://i.imgur.com/GgrC9wc.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	4. Go back to the top where your page options are and press "Copy Page".
</p>

<p>
	5. Create three new pages.
</p>

<p>
	6. Go to each page, and press "Paste Page" on each page. This will leave you with four pages, each with your selected sprite/tileset piece with no animation.
</p>

<p>
	<img alt="9ocJIZM.png" class="ipsImage" data-ratio="48.23" height="109" style="height:auto;" width="226" data-src="https://i.imgur.com/9ocJIZM.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	<strong><span style="font-size:18px;">IV. Page 1, the available quest page</span></strong>
</p>

<p>
	1. Each page acts as a different state of the event. This first page will be the quest giver NPC before you start the quest, and the quest is available to be started.
</p>

<p>
	2. Set the Animation to the yellow exclamation point. This signifies that this NPC has a quest.
</p>

<p>
	3. Click on the Spawn/Execution Commands tab and create a new list.
</p>

<p>
	4. Add a condition to the list that the player Can Start Quest and select your quest. This will cause this page to activate when the player meets the requirements to start the quest.
</p>

<p>
	5. Create the dialog and quest start commands for your quest. Mine simply gives two options; that the player is interested in a quest, or nothing. Be sure to include the Start Quest command.
</p>

<p>
	<img alt="1ybCcQg.png" class="ipsImage" data-ratio="40.56" height="174" style="height:auto;" width="429" data-src="https://i.imgur.com/1ybCcQg.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	<strong><span style="font-size:18px;">IV. Page 2, the quest-in-progress page</span></strong>
</p>

<p>
	1. Go to page 2 of the event.
</p>

<p>
	2. Set the Animation to the grey question mark. This symbolizes that the quest has been started, but it's still in progress.
</p>

<p>
	3. Click on the Spawn/Execution Commands tab and create a new list.
</p>

<p>
	4. Add a condition to the list for Quest in Progress, select your quest, and then select Before task, and pick the last task of the quest. This will make it so as long as you still have stuff to do in the quest, the question mark will stay gray.
</p>

<p>
	5. You can also add a different set of commands to this page. In this state, the quest has been started, but not completed. You could have, for example, the NPC explain what the player has to do, or ask how their progress is going, etc. Separating the event into pages allows for more dynamic and realistic conversation, since the NPC can do different things based on it's current state.
</p>

<p>
	 
</p>

<p>
	<strong><span style="font-size:18px;">V. Page 3, the completed tasks page</span></strong>
</p>

<p>
	1. Go to page 3 of the event.
</p>

<p>
	2. Set the Animation to the yellow question mark. This symbolizes that all steps of the quest have been completed and it is ready to be turned in.
</p>

<p>
	3. Click on the Spawn/Execution Commands tab and create a new list.
</p>

<p>
	4. Add a condition to the list for Quest in Progress, select your quest, and then select On Task, and then select the last task of your quest (which should be to turn in the quest/return to the NPC who gave you the quest).
</p>

<p>
	5. Go to the Commands section and setup your quest turnin dialogue. Here, I just have the NPC congratulate the player on doing well, and then add Complete Task command to complete the last task of the quest, which completes the quest entirely.
</p>

<p>
	<img alt="OJ6HI2v.png" class="ipsImage" data-ratio="13.79" height="75" style="height:auto;" width="544" data-src="https://i.imgur.com/OJ6HI2v.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	<strong><span style="font-size:18px;">VI. Page 4, the post-quest page</span></strong>
</p>

<p>
	Note: if you want the quest to be repeatable, you can just delete this page and skip this step.
</p>

<p>
	1. Go to page 4 of the event.
</p>

<p>
	2. Keep the Animation set at none. This will tell the player that there isn't a quest here for them anymore, since they already completed it.
</p>

<p>
	3. Click on the Spawn/Execution Commands tab and create a new list.
</p>

<p>
	4. Add a condition to the list for Quest Completed and select your quest. This will cause this page to activate only when the quest has been completed.
</p>

<p>
	5. Go to Commands and setup dialogue for the NPC's post-quest completion state. You can have the NPC do whatever, but also be under the assumption that they have done this quest for them. They can be nicer to the player, thankful, give them access to a shop they previously didn't have access to — whatever.
</p>

<p>
	 
</p>

<p>
	If you followed all these steps correctly, your event should work something like this!
</p>

<p>
	<img alt="MHZUh1K.gif" class="ipsImage" data-ratio="56.83" height="462" style="height:auto;" width="813" data-src="https://i.imgur.com/MHZUh1K.gif" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">2390</guid><pubDate>Mon, 20 Nov 2017 01:03:22 +0000</pubDate></item><item><title>Chest Tutorial [with password].</title><link>https://www.ascensiongamedev.com/topic/5308-chest-tutorial-with-password/</link><description><![CDATA[<p>
	Hello guys, as I am following The Last of Us part 2 on youtube [because I am not rich], I was delighted with their system of spreading letters with passwords [usually numbers] so that safes are opened. So why not bring that to the intersect? Using events we will reproduce this.
</p>

<p>
	 
</p>

<p>
	<span style="font-size:16px;">ATTENTION - To understand this tutorial it is extremely important that you understand the <a contenteditable="false" data-ipshover="" data-ipshover-target="https://www.ascensiongamedev.com/profile/5452-wishy/?do=hovercard" data-mentionid="5452" href="https://www.ascensiongamedev.com/profile/5452-wishy/" rel="">@wishy</a> tutorial on variable strings.</span> <span style="font-size:16px;"><a href="https://www.ascensiongamedev.com/topic/4774-tutorial-using-string-variables/" rel="">[click here]</a>  </span><span style="font-size:14px;">This tutorial is basically a simple example of what can be done with his tutorial, using only 1 variable [essentially]</span>
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			I am a lazy person and I am using 1 variable for all game chest events, instead of creating 1 variable per chest. His tutorial is great so understand his tutorial before doing this one. [I spent almost 1 week to understand, but then I saw that it was something so simple and so great that, finally, let's get to the subject].
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	so...
</p>

<p>
	<img alt="3bb4907690f6778338a0509b4b841206.png" class="ipsImage" data-ratio="111.82" height="577" width="516" src="https://www.ascensiongamedev.com/resources/filehost/3bb4907690f6778338a0509b4b841206.png" />both variables must be string
</p>

<p>
	 
</p>

<p>
	<img alt="09d0cb1a419da61c7d77bc0d559c1d1e.png" class="ipsImage" data-ratio="76.61" height="642" width="838" src="https://www.ascensiongamedev.com/resources/filehost/09d0cb1a419da61c7d77bc0d559c1d1e.png" /></p>

<p>
	(you will understand step 4 of the image above if you see the tutorial I mentioned above.)
</p>

<p>
	(correction = price - prize*)
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Respectively step 1 and 2 of the image above.
		</p>

		<p>
			<img alt="06c124ec16f5e53a4d70b8c05de6d2eb.png" class="ipsImage" data-ratio="107.87" height="329" width="305" src="https://www.ascensiongamedev.com/resources/filehost/06c124ec16f5e53a4d70b8c05de6d2eb.png" /><img alt="614a81d314e8c00e589a26cbd5a7f4b1.png" class="ipsImage" data-ratio="104.43" height="377" width="361" src="https://www.ascensiongamedev.com/resources/filehost/614a81d314e8c00e589a26cbd5a7f4b1.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	step 6 of the image above.
</p>

<p>
	<img alt="8d066eb1bb4d837bacce87ca24aafc36.png" class="ipsImage" data-ratio="76.37" height="643" width="842" src="https://www.ascensiongamedev.com/resources/filehost/8d066eb1bb4d837bacce87ca24aafc36.png" /></p>

<p>
	 
</p>

<p>
	when chest empty
</p>

<p>
	<img alt="ec08e3884583dc650736df5cf45ae881.png" class="ipsImage" data-ratio="76.97" height="645" width="838" src="https://www.ascensiongamedev.com/resources/filehost/ec08e3884583dc650736df5cf45ae881.png" /></p>

<p>
	 
</p>

<p>
	Wishy said this in his tutorial and I will repeat it here<strong> - <span style="font-size:16px;">all events must contain unique names so that there are no conflicts.</span></strong>
</p>

<p>
	 
</p>

<p>
	This is an example of what can be done, much more can be done, such as putting a password in the players' chest, password set by the players, guessing games, among other things. Use your imagination.
</p>

<p>
	 
</p>

<p>
	Any questions can post below. And I would like to thank Wishy, who with that tutorial opened up many possibilities and my knowledge about the variables. I like to learn new things. xD
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Result ingame
</p>

<div>
	<video class="ipsEmbeddedVideo" controls="" data-controller="core.global.core.embeddedvideo"><source type="video/mp4" src="https://www.ascensiongamedev.com/resources/filehost/afd2fbf4801281ca4aa22ed8c37ab697.mp4"><a class="ipsAttachLink" href="https://www.ascensiongamedev.com/resources/filehost/afd2fbf4801281ca4aa22ed8c37ab697.mp4" rel="">Embedded Video Link</a>
	</source></video></div>

<p>
	 
</p>

<p>
	Edit - The chests will not reset when you restart, probably also when the server restarts, remain open. You can rest easy.
</p>

<p>
	 
	</p><p>
		 
	</p>]]></description><guid isPermaLink="false">5308</guid><pubDate>Sun, 21 Jun 2020 14:48:59 +0000</pubDate></item><item><title>Advanced Event tutorial - Various event system</title><link>https://www.ascensiongamedev.com/topic/1692-advanced-event-tutorial-various-event-system/</link><description><![CDATA[<p>
	First be sure to know the text variables for the event editor, they will be really usefull, we will probably use them to create each event of the tutorial.
</p>

<p>
	 
</p>
<iframe data-embedcontent="" data-embedid="embed5140052735" frameborder="0" style="height:214px;max-width:502px;" data-embed-src="https://www.ascensiongamedev.com/topic/749-event-text-variables/?do=embed"></iframe>

<p>
	 
</p>

<p>
	I'll add some tutorial to create more very flexibles events. 
</p>

<p>
	 
</p>

<p>
	<span style="color:#3498db;"><u><strong>Event on map (information)</strong></u></span>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			If you create an event on a map and this event make your character get out of the map the event will still running. No need to create another event to continue the same event.
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	<span style="color:#3498db;"><u><strong>How to create a flexible MOTD system (easy)</strong></u></span>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			What you will need to do this event: a player variable, a lot of conditional branch, an event that run at the player connection, event text variable.
		</p>

		<p>
			 
		</p>

		<p>
			Optional: You could insert an event to explain the game, gameplay, story that only run once after the character has be created.
		</p>

		<p>
			 
		</p>

		<p>
			1. You will need to create a player variable. Let's name it nbConnection. This will be use to change what the chat will display in chat when a player login in the game.
		</p>

		<p>
			 
		</p>

		<p>
			2. Now you will need to create the event, let's call it MOTD and select the Login trigger.
		</p>

		<p>
			 
		</p>

		<p>
			3. Create the conditional branch ( variable nbConnection = 0)
		</p>

		<p>
			 
		</p>

		<p>
			4. <strong>If it's true</strong> show a message on the global chat
		</p>

		<p>
			You can show what you want. Maybe a short starter guide ?? Which explain the gameplay, story or other things.
		</p>

		<p>
			 
		</p>

		<p>
			5. <strong>If it's false</strong> add a new conditional branch (if player is an administrator)
		</p>

		<p>
			 
		</p>

		<p>
			6. Let's fill the main core of the event, put a message on the global chat: "The administrator \pn has started the game."
		</p>

		<p>
			 
		</p>

		<p>
			7. Else if the acces of the player is administrator or moderator then show: "The moderator \pn has started the game."
		</p>

		<p>
			 
		</p>

		<p>
			8. Else if the player variable nbConnection is egal or supperior than 100 (put the wanted number) put a message on the global chat: "\pn, an old player, has started the game."
		</p>

		<p>
			 
		</p>

		<p>
			9. Else if the player variable nbConnection is egal or supperior than 75 (put the wanted number) put a message on the global chat: "\pn, a good player of the community, has started the game."
		</p>

		<p>
			 
		</p>

		<p>
			10. Put many condition for the nbConection variable as you want. but the last should be supperior or egal than 1
		</p>

		<p>
			 
		</p>

		<p>
			11.  Choose the variable of the player: choose to add 1 and don't the define option, select the nbConnection (outside of all the conditionnal branch)
		</p>

		<p>
			 
		</p>

		<p>
			12. put a message on the global chat: "\onlinecount player(s) are currently online. "
		</p>

		<p>
			 
		</p>
	</div>
</div>

<p>
	Explanation: If it's the first time the player is joining the game he could have the choice to see a short explanation of the game.  Each time the player is joining the game his variable nbConnection will increase of 1. If the player  has already played the game 50 time the game will not showing the same message than a new player and will display a special message if the player is an administror or moderator..
</p>

<p>
	 
</p>

<p>
	<u><strong><span style="color:#3498db;">How to create a housing system (easy)</span></strong></u>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			What you will need to do this event: a player variable, same number of global switch than the number of house, some event on maps to acces to the house.
		</p>

		<p>
			 
		</p>

		<p>
			1) You will need to create some player switchs. Let's name them "ownerOfHouse 1, 2, 3, 4....". This will be use to know if the player bought the house.
		</p>

		<p>
			 
		</p>

		<p>
			1b) Create some other player switch "House x - Slot x"
		</p>

		<p>
			<br />
			Picture:
		</p>

		<div class="ipsSpoiler" data-ipsspoiler="">
			<div class="ipsSpoiler_header">
				<span>Spoiler</span>
			</div>

			<div class="ipsSpoiler_contents">
				<p>
					<img alt="073e3380302442cac0462b25d6438687.png" class="ipsImage" style="height:auto;" data-src="https://www.ascensiongamedev.com/resources/filehost/073e3380302442cac0462b25d6438687.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
				</p>

				<p>
					 
				</p>

				<p>
					(Propriétaire Maison 1 - District Est)
				</p>
			</div>
		</div>

		<p>
			 
		</p>

		<p>
			2) Recreate the same switch of 1b) but with global switches.
		</p>

		<p>
			 
		</p>

		<p>
			Picture:
		</p>

		<div class="ipsSpoiler" data-ipsspoiler="">
			<div class="ipsSpoiler_header">
				<span>Spoiler</span>
			</div>

			<div class="ipsSpoiler_contents">
				<p>
					<img alt="c4429d38b84557e310b67ded6c01e5f8.png" class="ipsImage" style="height:auto;" data-src="https://www.ascensiongamedev.com/resources/filehost/c4429d38b84557e310b67ded6c01e5f8.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
				</p>
			</div>
		</div>

		<p>
			 
		</p>

		<p>
			3) Now find a place on a map to put your first house and go in the event menu of the maps editor.
		</p>

		<p>
			 
		</p>

		<p>
			Picture:
		</p>

		<div class="ipsSpoiler" data-ipsspoiler="">
			<div class="ipsSpoiler_header">
				<span>Spoiler</span>
			</div>

			<div class="ipsSpoiler_contents">
				<p>
					<img alt="5fd7036495d2ff80ff2160c2483e21f6.png" class="ipsImage" style="height:auto;" data-src="https://www.ascensiongamedev.com/resources/filehost/5fd7036495d2ff80ff2160c2483e21f6.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
				</p>
			</div>
		</div>

		<p>
			 
		</p>

		<p>
			4) Create a second event page, the first will be use to show the mask level of the house, the second will be to buy the house. Yes if the player buy the house he will see only the half of the house.
		</p>

		<p>
			 
		</p>

		<p>
			Picture:
		</p>

		<div class="ipsSpoiler" data-ipsspoiler="">
			<div class="ipsSpoiler_header">
				<span>Spoiler</span>
			</div>

			<div class="ipsSpoiler_contents">
				<p>
					<img alt="09068e66167b1935d069b7441daf1949.png" class="ipsImage" height="683" style="height:auto;" width="1000" data-src="https://www.ascensiongamedev.com/resources/filehost/09068e66167b1935d069b7441daf1949.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
				</p>
			</div>
		</div>

		<p>
			 
		</p>

		<p>
			5) double click on the preview square of the entity option.
		</p>

		<p>
			 
		</p>

		<p>
			Picture:
		</p>

		<div class="ipsSpoiler" data-ipsspoiler="">
			<div class="ipsSpoiler_header">
				<span>Spoiler</span>
			</div>

			<div class="ipsSpoiler_contents">
				<p>
					<img alt="af160588ae7885d9736ebe2a4a36fc32.png" class="ipsImage" style="height:auto;" data-src="https://www.ascensiongamedev.com/resources/filehost/af160588ae7885d9736ebe2a4a36fc32.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
				</p>
			</div>
		</div>

		<p>
			 
		</p>

		<p>
			6) Select the tileset option and choice your tileset
		</p>

		<p>
			 
		</p>

		<p>
			Picture:
		</p>

		<div class="ipsSpoiler" data-ipsspoiler="">
			<div class="ipsSpoiler_header">
				<span>Spoiler</span>
			</div>

			<div class="ipsSpoiler_contents">
				<p>
					First event page:
				</p>

				<p>
					<img alt="2b1b20270713f2cb8e6bfed486e6158a.png" class="ipsImage" style="height:auto;" data-src="https://www.ascensiongamedev.com/resources/filehost/2b1b20270713f2cb8e6bfed486e6158a.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
				</p>

				<p>
					 
				</p>

				<p>
					For the first page choice any tileset that you wish.
				</p>
			</div>
		</div>

		<p>
			 
		</p>

		<p>
			7) choose the page condition (ownerOfHouse 1, 2, 3, 4....)
		</p>

		<p>
			 
		</p>

		<p>
			Picture:
		</p>

		<div class="ipsSpoiler" data-ipsspoiler="">
			<div class="ipsSpoiler_header">
				<span>Spoiler</span>
			</div>

			<div class="ipsSpoiler_contents">
				<p>
					second page:
				</p>

				<p>
					<img alt="5b49aa662dbc05f05d2204158d662ceb.png" class="ipsImage" style="height:auto;" data-src="https://www.ascensiongamedev.com/resources/filehost/5b49aa662dbc05f05d2204158d662ceb.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
				</p>

				<p>
					 
				</p>

				<p>
					first page:
				</p>

				<p>
					<img alt="61744e5befc30c1fefa487b96b437bca.png" class="ipsImage" style="height:auto;" data-src="https://www.ascensiongamedev.com/resources/filehost/61744e5befc30c1fefa487b96b437bca.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
				</p>
			</div>
		</div>

		<p>
			 
		</p>

		<p>
			8. create another maps event to show the other part of the house, put the same condition as the second page of the other event. and select the other part of the house. (dobt forget to set it on a fringe level.
		</p>

		<p>
			 
		</p>

		<p>
			Picture:
		</p>

		<div class="ipsSpoiler" data-ipsspoiler="">
			<div class="ipsSpoiler_header">
				<span>Spoiler</span>
			</div>

			<div class="ipsSpoiler_contents">
				<p>
					<img alt="f08a3dc6acf13f4b8465ab6d54d9d130.png" class="ipsImage" style="height:auto;" data-src="https://www.ascensiongamedev.com/resources/filehost/f08a3dc6acf13f4b8465ab6d54d9d130.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
				</p>
			</div>
		</div>

		<p>
			 
		</p>

		<p>
			The buying page will seems like it: 
		</p>

		<p>
			<img alt="94c795104f1d243f083b40909d922120.png" class="ipsImage" style="height:auto;" data-src="https://www.ascensiongamedev.com/resources/filehost/94c795104f1d243f083b40909d922120.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
		</p>

		<p>
			 
		</p>

		<p>
			The system IG will be like:
		</p>

		<div class="ipsSpoiler" data-ipsspoiler="">
			<div class="ipsSpoiler_header">
				<span>Spoiler</span>
			</div>

			<div class="ipsSpoiler_contents">
				<p>
					first page:
				</p>

				<p>
					<img alt="f2e62580b520c8cf448f39e0c127fc69.png" class="ipsImage" height="590" style="height:auto;" width="1000" data-src="https://www.ascensiongamedev.com/resources/filehost/f2e62580b520c8cf448f39e0c127fc69.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
				</p>

				<p>
					 
				</p>

				<p>
					second page:
				</p>

				<p>
					<img alt="19b51f3796de0258950b668cdbaff778.png" class="ipsImage" height="587" style="height:auto;" width="1000" data-src="https://www.ascensiongamedev.com/resources/filehost/19b51f3796de0258950b668cdbaff778.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
				</p>

				<p>
					 
				</p>

				<p>
					Screen of the difference between an owner and not owner:
				</p>

				<p>
					<img alt="2a043cd8301e9b8d2e494b196b6af3c5.png" class="ipsImage" height="395" style="height:auto;" width="1000" data-src="https://www.ascensiongamedev.com/resources/filehost/2a043cd8301e9b8d2e494b196b6af3c5.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
				</p>
			</div>
		</div>

		<p>
			 
		</p>

		<p>
			Ps: don't forget to make empty blocked event around the house if the player see the house.
		</p>
	</div>
</div>

<p>
	Explanation: If the player didn't buy the house the player will see a panel. If he bought it the house will be display with the blocker. Many player can buy the "same house" but it's limited to the number that you want.
</p>

<p>
	 
</p>

<p>
	<u><strong><span style="color:#3498db;">How to create a chest system with random loot (easy)</span></strong></u>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			What you will need to do this event: two player variable, the same number of player witch than the number of chest that you want, some event on map to display the chest.
		</p>

		<p>
			 
		</p>

		<p>
			1) You will need to create some player switchs. Let's name them "chest 1, 2, 3, 4....". This will be use to know which chest the player have opened.
		</p>

		<p>
			 
		</p>

		<p>
			2)You will need to create two player variables. The first 'loot number', the second 'chest number'.
		</p>

		<p>
			 
		</p>

		<p>
			3) Let's create the chest event: create an event named 'random loot chest' in the event editor with no trigger.
		</p>

		<p>
			 
		</p>

		<p>
			4) Start the event by adding a 'set player variable' select 'loot number' and select random (lower: 1, high: what you want (3 for me))
		</p>

		<p>
			 
		</p>

		<p>
			5) Put as many conditional branch inside each other as you want to have in your game. (if player variable 'Loot number' is egal to 1,2,3...)
		</p>

		<p>
			 
		</p>

		<p>
			6) Give the it a different item of each conditional branch.
		</p>

		<p>
			 
		</p>

		<p>
			7) Save the event and exit the event editor.
		</p>

		<p>
			 
		</p>

		<p>
			8 ) Create an event on map to display the chest on the maps. Create a second page. With an action button trigger.
		</p>

		<p>
			 
		</p>

		<p>
			9 a) The first page need to have a closed chest picture, have a condition 'chest X' set to false.
		</p>

		<p>
			 
		</p>

		<p>
			9 a) The second page need to have a opened chest picture, have a condition 'chest X' set to true.
		</p>

		<p>
			 
		</p>

		<p>
			10) Time to fill the first page: put a start common event: random loot chest then set the player's switch chest X to true
		</p>

		<p>
			 
		</p>

		<p>
			Picture:
		</p>

		<div class="ipsSpoiler" data-ipsspoiler="">
			<div class="ipsSpoiler_header">
				<span>Spoiler</span>
			</div>

			<div class="ipsSpoiler_contents">
				<p>
					<img alt="6fc695b7a4546d24bf8d05111bef5740.png" class="ipsImage" height="627" style="height:auto;" width="802" data-src="https://www.ascensiongamedev.com/resources/filehost/6fc695b7a4546d24bf8d05111bef5740.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
				</p>
			</div>
		</div>

		<p>
			 
		</p>
	</div>
</div>

<p>
	Explanation: If the player have not opened the chest yet then the player will see a closed chest else he will see an opened chest.
</p>

<p>
	 
</p>

<p>
	<u><strong><span style="color:#3498db;">How to create a gambling system (easy / medium)</span></strong></u>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			1) You will need 3 player variable<br />
			<img alt="842672a0b3c5296ad8f4c473860bf10e.png" class="ipsImage" data-ratio="113.35" height="586" style="height:auto;" width="517" data-src="https://www.ascensiongamedev.com/resources/filehost/842672a0b3c5296ad8f4c473860bf10e.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
		</p>

		<p>
			 
		</p>

		<p>
			 
		</p>

		<p>
			2. Add the command 'Show option'
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="ba58b1e0a05757bdf66a53ddf13eaca6.png" class="ipsImage" data-ratio="81.84" height="685" style="height:auto;" width="837" data-src="https://www.ascensiongamedev.com/resources/filehost/ba58b1e0a05757bdf66a53ddf13eaca6.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
		</p>

		<p>
			 
		</p>

		<p>
			 <img alt="ce55d2bdc942b933fe76e24bba791cd5.png" class="ipsImage" data-ratio="81.84" height="685" style="height:auto;" width="837" data-src="https://www.ascensiongamedev.com/resources/filehost/ce55d2bdc942b933fe76e24bba791cd5.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
		</p>

		<p>
			 
		</p>

		<p>
			3. Add labels to the showed section in the screen. They will make the system better (relooping). 
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="94e05d1229548b0c18cbbfce18222c18.png" class="ipsImage" data-ratio="81.84" height="685" style="height:auto;" width="837" data-src="https://www.ascensiongamedev.com/resources/filehost/94e05d1229548b0c18cbbfce18222c18.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
		</p>

		<p>
			 
		</p>

		<p>
			4. Let's fill the first option. Add a 'Show text' command and write the wanted description message. Add a 'Go to Label ' to it and write the first label inside.
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="55ebee42fd7f5b50e1b24ef7b1c5196f.png" class="ipsImage" data-ratio="81.84" height="685" style="height:auto;" width="837" data-src="https://www.ascensiongamedev.com/resources/filehost/55ebee42fd7f5b50e1b24ef7b1c5196f.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
		</p>

		<p>
			 
		</p>

		<p>
			5. In the second option (Miser) add the command 'Input Variable'
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="e6c99f0be050bfd3a9e004cf0bd4e72a.png" class="ipsImage" data-ratio="81.84" height="685" style="height:auto;" width="837" data-src="https://www.ascensiongamedev.com/resources/filehost/e6c99f0be050bfd3a9e004cf0bd4e72a.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
		</p>

		<p>
			 
		</p>

		<p>
			6. Add a 'Has item' condition to verify if the player have enough money to gamble.
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="b9dc76f99ad438bb4a0ed44b14cbcf38.png" class="ipsImage" data-ratio="81.84" height="685" style="height:auto;" width="837" data-src="https://www.ascensiongamedev.com/resources/filehost/b9dc76f99ad438bb4a0ed44b14cbcf38.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
		</p>

		<p>
			 
		</p>

		<p>
			7. In the true section add a 'Input variable' with the choice possibility.
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="06027cdf1983885fd6515a07cee5ec76.png" class="ipsImage" data-ratio="81.84" height="685" style="height:auto;" width="837" data-src="https://www.ascensiongamedev.com/resources/filehost/06027cdf1983885fd6515a07cee5ec76.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
		</p>

		<p>
			 
		</p>

		<p>
			8. If the variable meet the condition compare the 'choix' variable and the 'resultat' variable.
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="34647e51385447d9207ac35aac46fdb4.png" class="ipsImage" data-ratio="81.84" height="685" style="height:auto;" width="837" data-src="https://www.ascensiongamedev.com/resources/filehost/34647e51385447d9207ac35aac46fdb4.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
		</p>

		<p>
			 
		</p>

		<p>
			9. Add the label 'Choix' and 'Go To Label' with each possible errors messages.
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="4e2f241d89c0693b11bb3b76dbf894b2.png" class="ipsImage" data-ratio="81.84" height="685" style="height:auto;" width="837" data-src="https://www.ascensiongamedev.com/resources/filehost/4e2f241d89c0693b11bb3b76dbf894b2.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="ef969fa0a709be4d1426452e3dcb4fa0.png" class="ipsImage" data-ratio="81.84" height="685" style="height:auto;" width="837" data-src="https://www.ascensiongamedev.com/resources/filehost/ef969fa0a709be4d1426452e3dcb4fa0.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
		</p>

		<p>
			 
		</p>

		<p>
			10. If the choice and result are the same then double the 'Montant à miser's value and add the item 'Money' with the 'Montant à miser''s value. 
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="55ac041b79bdfce6c38821016e5dfb04.png" class="ipsImage" data-ratio="81.84" height="685" style="height:auto;" width="837" data-src="https://www.ascensiongamedev.com/resources/filehost/55ac041b79bdfce6c38821016e5dfb04.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" />
		</p>

		<p>
			 
		</p>
	</div>
</div>

<p>
	Preview:<br />
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<div>
			<video class="ipsEmbeddedVideo" controls="" data-video-embed="">
				<source type="video/mp4" data-video-src="https://www.ascensiongamedev.com/resources/filehost/b5d8e193bcbe64c172b4e5622d68d4ef.mp4"><a class="ipsAttachLink" href="https://www.ascensiongamedev.com/resources/filehost/b5d8e193bcbe64c172b4e5622d68d4ef.mp4" rel="">Embedded Video Link</a>
			</source></video>
		</div>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>
]]></description><guid isPermaLink="false">1692</guid><pubDate>Thu, 04 May 2017 17:03:45 +0000</pubDate></item><item><title>[Tutorial] Updated NPC Summoning</title><link>https://www.ascensiongamedev.com/topic/6825-tutorial-updated-npc-summoning/</link><description><![CDATA[<p>
	This system is a bit more complex than the Original, and may not fit the needs of everyone, but If you want PvP Summons right now, this is the way to do it.
</p>

<p>
	 
</p>

<p>
	Credit goes to OP for the concept and basic system, this is just an fix. Original here:
</p>
<iframe allowfullscreen="" data-embedauthorid="183" data-embedcontent="" data-embedid="embed6067258868" scrolling="no" style="height:214px;max-width:500px;" data-embed-src="https://www.ascensiongamedev.com/topic/4691-aog-npc-summoning/?do=embed"></iframe>

<p>
	***Known Issues: when casting a ward AFTER summoning, the summon may get a little confused and try to attack you randomly. Dont worry, it doesnt hurt you.(hasnt yet anyways lol)
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<u><strong><span style="font-size:36px;">How It Works:</span></strong></u>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Instead of Variable based identification which doesnt seem to work properly for this system, we will be using as Spell/Item based identification system.
		</p>

		<p>
			Until we are able to use Conditional Branches to determine a player/NPCs active status(Blind, Stunned, Taunted, etc[or create our own Status' via an editor]) this is a pseudo roundabout way of doing it with Spells. It works, so...
		</p>

		<p>
			 
		</p>

		<p>
			In-Game Function:
		</p>

		<ol><li>
				You will cast a Ward Spell of a particular strength and type(E.G: Ward: Void Weak)
			</li>
			<li>
				The Spell will spawn a Ward Item and auto-equip it for 30 seconds, and then remove it from inventory
			</li>
			<li>
				While the Ward is active in your Ward slot, Summons of that type and strength will not attack you.(E.G; Ward: Void Weak will prevent a Level 1 Void Spirit Summon from attacking you, no matter who summoned it.)(<u><em><strong>You will need to ward yourself when summoning or else your summon will attack you, too!</strong></em></u>), Obviously you can tailor this to fit your game.
			</li>
		</ol><p>
			 
		</p>

		<p>
			You can use items or spells, or a combination of both as I have done here in this tutorial.
		</p>

		<p>
			First you will need to create a new Equipment Slot by modifying the Server Config File and then make it visible within CharacterWindow.json(I wont go into that here, there are other tuts for that)
		</p>

		<p>
			For sake of demonstration, we will call this equipment slot <strong><em>"Ward"</em></strong>
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	<u><strong><span style="font-size:36px;">What You Need:</span></strong></u>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			***A New Equipment Slot we will call "Ward"***   Not shown here, check another tutorial
		</p>

		<ul><li>
				<em><strong><span style="font-size:20px;">Variables</span></strong></em>:

				<ul><li>
						Only one, which you likely already have if, for a login system. We make a "FirstVisit" boolean player variable that is set to true <em><strong>after </strong></em>we spawn for the first time.
					</li>
				</ul></li>
			<li>
				<em><strong><span style="font-size:20px;">Items:</span></strong></em>
				<ul><li>
						Any Wards you want; Make sure they cant be Traded, Dropped, Sold, Etc. Uncheck ALL of those boxes. Make a cooldown timer if you wish, make the drop chance 100% and despawn timer 1ms(this is so if the player dies somehow there is no possible way anyone else could pick it up as it will vanish instantly. Make sure these are Equipments and equip in the newly created Ward slot. (Remember, we are kind faking a "spell effect" here using equipment as magical wards)
					</li>
				</ul></li>
			<li>
				<span style="font-size:20px;"><em><strong>Spells:</strong></em></span>
				<ul><li>
						A Spell for every Summon and Ward. Attach the Summon Spells to your Summon Events and your Ward Spells to your Ward Events. Obviously, make sure they are Event Spells.
					</li>
				</ul></li>
			<li>
				<span style="font-size:20px;"><em><strong>NPCs:</strong></em></span>
				<ul><li>
						Any Summons you want. I reccomend having all sorts of summons, because I mean, you have summons, why not have all kinds, amiright? Spice it up, ya know? This also makes it more difficult for players to be prepared for any particular summon. Make sure they have a condition in their Friendly/Protector condition that says "has X item equipped..." and choose which Ward you want with this summon.
					</li>
				</ul></li>
			<li>
				<strong><em><span style="font-size:20px;">Common Events:</span></em></strong>
				<ul><li>
						1 Common Event for every Ward Spell to spawn that particular Ward Item in your inventory, equip it, wait like 30 seconds or so, and unequip and remove it from inventory
					</li>
					<li>
						1 Common Event for every Summon Spell, to... well, summon the NPC. Follow the Original post, minus the variables. This tutorial uses only one Player Variable for a login system.
					</li>
					<li>
						1 Common Event on Login to remove any equiped wards or wards sitting in inventory. This prevents players from casting a Ward spell, force logging out, logging back in a minute later with an eternal Ward, as they werent present for the event to remove the ward from inventory.
					</li>
				</ul></li>
		</ul></div>
</div>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<u><strong><span style="font-size:36px;">Screenshots and Video:</span></strong></u>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="d8c8744ec6276471a84a8bc9c3b4816d.png" class="ipsImage" data-ratio="112.48" height="577" style="height:auto;" width="513" data-src="https://ascensiongamedev.com/resources/filehost/d8c8744ec6276471a84a8bc9c3b4816d.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" /></p>

		<p>
			<img alt="ee1a83bdc2f6dd6e6bdfa9fc1e8d3039.png" class="ipsImage" data-ratio="79.80" height="549" style="height:auto;" width="688" data-src="https://ascensiongamedev.com/resources/filehost/ee1a83bdc2f6dd6e6bdfa9fc1e8d3039.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" /></p>

		<p>
			<img alt="d0603c2de78fa874c4eb7351cc88ff46.png" class="ipsImage" data-ratio="79.80" height="549" style="height:auto;" width="688" data-src="https://ascensiongamedev.com/resources/filehost/d0603c2de78fa874c4eb7351cc88ff46.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" /></p>

		<p>
			<img alt="d9152c9dbc989b3f29492661a71c2a55.png" class="ipsImage" data-ratio="92.72" height="637" style="height:auto;" width="687" data-src="https://ascensiongamedev.com/resources/filehost/d9152c9dbc989b3f29492661a71c2a55.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" /></p>

		<p>
			<img alt="071a8382b110d73ec0c3b2ea36e5a332.png" class="ipsImage" data-ratio="84.58" height="576" style="height:auto;" width="681" data-src="https://ascensiongamedev.com/resources/filehost/071a8382b110d73ec0c3b2ea36e5a332.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" /></p>

		<p>
			<img alt="8ee25fbb370ebce5b39fbd47c88252e2.png" class="ipsImage" data-ratio="84.81" height="575" style="height:auto;" width="678" data-src="https://ascensiongamedev.com/resources/filehost/8ee25fbb370ebce5b39fbd47c88252e2.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" /></p>

		<p>
			<img alt="2f0f190e8bd99dd32a457e3d6f5e8923.png" class="ipsImage" data-ratio="81.93" height="680" style="height:auto;" width="830" data-src="https://ascensiongamedev.com/resources/filehost/2f0f190e8bd99dd32a457e3d6f5e8923.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" /></p>

		<p>
			<img alt="ca710823a64bc703de40925ef0c7e34a.png" class="ipsImage" data-ratio="81.93" height="671" style="height:auto;" width="819" data-src="https://ascensiongamedev.com/resources/filehost/ca710823a64bc703de40925ef0c7e34a.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" /></p>

		<p>
			<img alt="8931e2330b20be5367936467c9d65a46.png" class="ipsImage" data-ratio="81.92" height="675" style="height:auto;" width="824" data-src="https://ascensiongamedev.com/resources/filehost/8931e2330b20be5367936467c9d65a46.png" src="https://www.ascensiongamedev.com/applications/core/interface/js/spacer.png" /></p>

		<p>
			 
		</p>

		<p>
			 
		</p>

		<p>
			<strong><u><span style="font-size:20px;">Video:</span></u></strong>
		</p>

		<div>
			<video class="ipsEmbeddedVideo" controls="" data-video-embed=""><source type="video/mp4" data-video-src="https://ascensiongamedev.com/resources/filehost/c8d9f63df74e795289f778df2a2cb983.mov"><a class="ipsAttachLink" href="https://ascensiongamedev.com/resources/filehost/c8d9f63df74e795289f778df2a2cb983.mov" rel="external">Embedded Video Link</a>
			</source></video></div>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>
]]></description><guid isPermaLink="false">6825</guid><pubDate>Mon, 17 Apr 2023 02:21:24 +0000</pubDate></item><item><title>[Tutorial] Premium/Membership System</title><link>https://www.ascensiongamedev.com/topic/6628-tutorial-premiummembership-system/</link><description><![CDATA[<p>
	Features
</p>

<p>
	- Premium for your game and conditions for premium players (Special Zones, Premium Items etc.)
</p>

<p>
	- Premium timer is not counting when player offline. (I want this for my game. If you counting timer when offline need source edit.)
</p>

<p>
	- Player based. (If you want to account based use Users Variables)
</p>

<p>
	 
</p>

<p>
	Firstly we need boolean player variable for activate player's premium
</p>

<p>
	 
</p>

<p>
	and need 3 integer variable (Seconds, Minutes, Hours)
</p>

<p>
	 
</p>

<p>
	<img alt="a3e798f6984cf66b5b7b5b8781377215.png" class="ipsImage" data-ratio="108.00" height="540" width="500" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/a3e798f6984cf66b5b7b5b8781377215.png" /></p>

<p>
	 
</p>

<p>
	and need 3 Common Event
</p>

<p>
	 
</p>

<p>
	<img alt="e5585d60177d018fea5f3359d6566ed6.png" class="ipsImage" data-ratio="175.25" height="531" width="303" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/e5585d60177d018fea5f3359d6566ed6.png" /></p>

<p>
	 
</p>

<p>
	Premium Activate Common Event is
</p>

<p>
	<img alt="119599c3afa7ea6fb1c29fba97096a65.png" class="ipsImage" data-ratio="73.87" height="602" width="815" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/119599c3afa7ea6fb1c29fba97096a65.png" /></p>

<p>
	 
</p>

<p>
	Spawn Condition for Premium Activate
</p>

<p>
	 
</p>

<p>
	<img alt="2a9413c958cda59139340501372692d0.png" class="ipsImage" data-ratio="73.59" height="599" width="814" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/2a9413c958cda59139340501372692d0.png" /></p>

<p>
	 
</p>

<p>
	Premium Command Common Event 
</p>

<p>
	 
</p>

<p>
	<img alt="3e1a89057b67f55ae70c162af00cce14.png" class="ipsImage" data-ratio="75.06" height="608" width="810" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/3e1a89057b67f55ae70c162af00cce14.png" /></p>

<p>
	 
</p>

<p>
	First text strings
</p>

<p>
	 
</p>

<p>
	<img alt="f3c9dc05d15c8536b6bdbac846575052.png" class="ipsImage" data-ratio="74.14" height="605" width="816" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/f3c9dc05d15c8536b6bdbac846575052.png" /></p>

<p>
	 
</p>

<p>
	720 Hours Premium Common Event
</p>

<p>
	<img alt="d4f827a74c6cfb4e2c2ba49b0bbb4c70.png" class="ipsImage" data-ratio="78.23" height="647" width="827" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/d4f827a74c6cfb4e2c2ba49b0bbb4c70.png" /></p>

<p>
	 
</p>

<p>
	Conditional Branches should be Greater than or Equal to
</p>

<p>
	 
</p>

<p>
	<img alt="e9876401e8557ac1aea822e04500f618.png" class="ipsImage" data-ratio="155.56" height="462" width="297" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/e9876401e8557ac1aea822e04500f618.png" /></p>

<p>
	 
</p>

<p>
	Spawn Condition
</p>

<p>
	 
</p>

<p>
	<img alt="25b40a752bcba5d17645ab96687c877d.png" class="ipsImage" data-ratio="78.11" height="646" width="827" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/25b40a752bcba5d17645ab96687c877d.png" /></p>

<p>
	 
</p>

<p>
	Create Item for your game's shop and activate premium
</p>

<p>
	 
</p>

<p>
	<img alt="4da05cae0d83e88d20e508a2bdee73c2.png" class="ipsImage" data-ratio="75.15" height="514" width="684" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/4da05cae0d83e88d20e508a2bdee73c2.png" /></p>

<p>
	 
</p>

<p>
	System is Ready to Use
</p>

<p>
	 
</p>

<p>
	Let's Enjoy
</p>
]]></description><guid isPermaLink="false">6628</guid><pubDate>Mon, 17 Oct 2022 23:56:54 +0000</pubDate></item><item><title>Create a code for summoning coins or  minerals</title><link>https://www.ascensiongamedev.com/topic/6553-create-a-code-for-summoning-coins-or-minerals/</link><description><![CDATA[<p>
	Hello, you can add any amount of money or minerals to your inventory by using code in your game, how do you follow the pictures?<br />
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="439362dbd510a99fadc46e26f1df24bc.png" class="ipsImage" data-ratio="92.42" height="256" width="277" src="https://ascensiongamedev.com/resources/filehost/439362dbd510a99fadc46e26f1df24bc.png" /></p>

		<p>
			 
		</p>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	When we write the code, we add the text to run the event.
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="aa5452635f52e975038341287443964f.png" class="ipsImage" data-ratio="77.75" height="664" width="854" src="https://ascensiongamedev.com/resources/filehost/aa5452635f52e975038341287443964f.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	 
</p>

<p>
	We create another event with the event editor
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="d2c7999088684da9b6174069e02c986d.png" class="ipsImage" data-ratio="77.78" height="665" width="855" src="https://ascensiongamedev.com/resources/filehost/d2c7999088684da9b6174069e02c986d.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	we add an input just below
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="1464782a319319290977a2110628e4ac.png" class="ipsImage" data-ratio="77.75" height="664" width="854" src="https://ascensiongamedev.com/resources/filehost/1464782a319319290977a2110628e4ac.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	And we add the item we will use in it
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="fddef0ae50b27110b6e986a0b218f248.png" class="ipsImage" data-ratio="77.66" height="664" width="855" src="https://ascensiongamedev.com/resources/filehost/fddef0ae50b27110b6e986a0b218f248.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	This is what it should look like when it's all over
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="2dc9d6425c9a1430525fb3fa494894b0.png" class="ipsImage" data-ratio="77.80" height="666" width="856" src="https://ascensiongamedev.com/resources/filehost/2dc9d6425c9a1430525fb3fa494894b0.png" /></p>
	</div>
</div>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="dea472fe4759d7c1a932aab209a11c2f.png" class="ipsImage" data-ratio="72.00" height="562" width="1000" src="https://ascensiongamedev.com/resources/filehost/dea472fe4759d7c1a932aab209a11c2f.png" /></p>
	</div>
</div>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="1cc83310d0d016cfc6c65e33fa05098d.png" class="ipsImage" data-ratio="75.08" height="581" width="1000" src="https://ascensiongamedev.com/resources/filehost/1cc83310d0d016cfc6c65e33fa05098d.png" /></p>
	</div>
</div>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="10af84b4fa6dddda5cc02964c9991114.png" class="ipsImage" data-ratio="75.08" height="585" width="1000" src="https://ascensiongamedev.com/resources/filehost/10af84b4fa6dddda5cc02964c9991114.png" /></p>
	</div>
</div>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="4a801c676137012fbca0e99df1571b1c.png" class="ipsImage" data-ratio="72.00" height="562" width="1000" src="https://ascensiongamedev.com/resources/filehost/4a801c676137012fbca0e99df1571b1c.png" /></p>
	</div>
</div>

<p>
	 
</p>
]]></description><guid isPermaLink="false">6553</guid><pubDate>Fri, 22 Jul 2022 23:06:19 +0000</pubDate></item><item><title>[AOG] Journal/Tradeskill Book + Alignment System</title><link>https://www.ascensiongamedev.com/topic/3823-aog-journaltradeskill-book-alignment-system/</link><description><![CDATA[<p>
	Description:
</p>

<p>
	Player journal / trade-skill book that a player can click to open and display stats about character, but also showing in inventory book opening and closing. With in the trade-skill book on player information page the player can check character alignment which has been integrated with the journal system. It works by showing a page in the journal depending on what the players alignment points are at, this way the page can show the name of of the players current alignment such as: Divine, Good, Neutral, Evil, Demonic.
</p>

<p>
	 
</p>

<p>
	You can rip out the alignment system and just have the 3 pages to go to with no conditions on alignment needed. I just didn't want to rip it out to do a tutorial so left it in as a joint system.
</p>

<p>
	 
</p>

<p>
	Video:
</p>

<p>
	<a href="https://www.ascensiongamedev.com/resources/filehost/bcc670d0de58b5817632b7e0333eca66.mp4" rel="">https://www.ascensiongamedev.com/resources/filehost/bcc670d0de58b5817632b7e0333eca66.mp4</a>
</p>

<p>
	 
</p>

<p>
	Process:
</p>

<ol><li>
		Click on trade-skill book item in inventory.
	</li>
	<li>
		Book opens in inventory.
	</li>
	<li>
		Opens a a show options command in events showing 3 pages and a close option
	</li>
	<li>
		Each page can be customized the way you want, I did Journal Information, Weapon Skills, Trade Skills.
	</li>
	<li>
		Close trade skill book closes book in inventory.
	</li>
</ol><p>
	 
</p>

<p>
	Issue:
</p>

<p>
	None
</p>

<p>
	 
</p>

<p>
	Addon: (Needed to add/remove alignment points)
</p>

<p>
	[AOG] Alignment System Add On - Gaining/Losing Alignment Points
</p>
<iframe allowfullscreen="" data-controller="core.front.core.autosizeiframe" data-embedcontent="" data-embedid="embed8942546972" scrolling="no" src="https://www.ascensiongamedev.com/topic/3826-aog-alignment-system-add-on-gaininglosing-alignment-points/?do=embed" style="height:210px;max-width:502px;"></iframe>

<p>
	 
</p>

<p>
	Aisen's Guild System:
</p>
<iframe allowfullscreen="" data-controller="core.front.core.autosizeiframe" data-embedauthorid="5082" data-embedcontent="" data-embedid="embed896211637" scrolling="no" src="https://www.ascensiongamedev.com/topic/4703-aisen-tutorial-guild-system/?tab=comments&amp;do=embed&amp;comment=43781&amp;embedComment=43781&amp;embedDo=findComment#comment-43781" style="height:251px;max-width:502px;"></iframe>

<p>
	 
</p>

<p>
	Build: ﻿
</p>

<p>
	If you want to keep the alignment system with the journal, then we need to create the variable to hold the players alignment points:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="b0d6a6bd87837061f01b05359bffba2a.jpg" class="ipsImage" height="141" width="299" src="https://www.ascensiongamedev.com/resources/filehost/b0d6a6bd87837061f01b05359bffba2a.jpg" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	NOTE: Switch is optional. I use it as at some point in my game the player will lose all ability to see stats and such. So the switch is optional to if you want to do that at some point in your game. If not then do not add the switch and later on when we come to making the common event just skip out the condition at the very beginning.
</p>

<p>
	 
</p>

<p>
	We also want a "Player Switch" for the Journal:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="fe80750c7381b3a04c8797200a3083f8.jpg" class="ipsImage" height="134" width="292" src="https://www.ascensiongamedev.com/resources/filehost/fe80750c7381b3a04c8797200a3083f8.jpg" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Next we need a book with a closed and open state.
</p>

<p>
	 
</p>

<p>
	Then we need to create 2 items, first for the book closed and second for the book opened. Name the books the same, but just remember which order you created them in:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			NOTE: We have not created the "Event" yet so don't worry about the item type. We will come back to that.
		</p>

		<p>
			 
		</p>

		<p>
			Book Closed:
		</p>

		<p>
			<img alt="c3c439b5dfad2bb4bdb58c56a83de8db.jpg" class="ipsImage" height="326" width="456" src="https://www.ascensiongamedev.com/resources/filehost/c3c439b5dfad2bb4bdb58c56a83de8db.jpg" /></p>

		<p>
			 
		</p>

		<p>
			Book Open:
		</p>

		<p>
			<img alt="043ff19cc656c2bc5759e5210ccecc74.jpg" class="ipsImage" height="321" width="454" src="https://www.ascensiongamedev.com/resources/filehost/043ff19cc656c2bc5759e5210ccecc74.jpg" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Now we have the items and variables created we can make the "Common Event".
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Here is the Event Flow::
		</p>

		<ol><li>
				Check is Player Switch "Journal" = False (Optional Condition)
			</li>
			<li>
				Take Item "Book Of Trade" (Closed Book Item)
			</li>
			<li>
				Give Item "Book Of Trade" (Open Book Item)
				<ol><li>
						This will make the book look open in the players inventory.
					</li>
				</ol></li>
			<li>
				Check player "Alignment Points"(AP) as a condition then goto that value based on (This is long due to the alignment system. I have it so depending on what alignment points the player is at, it shows a "Option Set" so I can display wording for the variable value  (because you cant do that at the moment)):
				<ol><li>
						<p>
							AP &lt;= 100 = Divine
						</p>
					</li>
					<li>
						<p>
							AP &lt;= 2999 = Good
						</p>
					</li>
					<li>
						<p>
							AP &lt;= 10000 = Neutral
						</p>
					</li>
					<li>
						<p>
							AP &lt;= 14999 = Evil
						</p>
					</li>
					<li>
						<p>
							AP &gt; 15000 = Demonic
						</p>
					</li>
				</ol></li>
			<li>
				<p>
					Based on alignment point value display an Option Set.
				</p>
			</li>
			<li>
				<p>
					Default page for opening a Journal is the "Journal Information" page.
				</p>
			</li>
			<li>
				<p>
					Button clicks on each page take you to a different page with in the journal: Journal Information, Weapon Skills, Trade Skills and Close Book.
				</p>
			</li>
			<li>
				<p>
					Close Book will close down the event and do a reverse on the take/give item from start of event:
				</p>

				<ol><li>
						Take Item "Book Of Trade" (Open Book Item)
					</li>
					<li>
						Give Item "Book Of Trade" (Close Book Item)
						<ol><li>
								This will make the book look closed in the players inventory.
							</li>
						</ol></li>
				</ol></li>
		</ol><p>
			 
		</p>

		<p>
			Here is the "Journal Information" page (so you have an idea on how I did mine, not going to show every page):
		</p>

		<div class="ipsSpoiler" data-ipsspoiler="">
			<div class="ipsSpoiler_header">
				<span>Spoiler</span>
			</div>

			<div class="ipsSpoiler_contents">
				<p>
					Journal Information<br />
					------------------------
				</p>

				<p>
					Name: \pn
				</p>

				<p>
					Alignment: Divine<br />
					Alignment Points: \pv{alignmentpoints}<br />
					Criminal: \pv{criminal}
				</p>

				<p>
					Quest Points: \pv{qp}<br />
					Adventuring: \pv{adventuring}
				</p>

				<p>
					Skill Points: \pv{sp}<br />
					Trade Points: \pv{tp}<br />
					-----
				</p>

				<p>
					Heroic Kills:<br />
					Monters Slain: \pv{monsterslain}<br />
					Creatures Slain: \pv{creatureslain}<br />
					Demonics Slain: \pv{demonicslain}<br />
					Justified: \pv{justified}
				</p>

				<p>
					Evil Kills:<br />
					Animals Slain: \pv{animalslain}<br />
					NPCs Slain: \pv{npcslain}<br />
					Heroes Slain: \pv{heroeslain}<br />
					Murders: \pv{murders}<br />
					-----
				</p>

				<p>
					Time: \24hour : \minute : \second<br />
					Guardians Online: \onlinecount
				</p>
			</div>
		</div>

		<p>
			 
		</p>

		<p>
			Here is the alignment point conditions for each "Jounral Information" page:
		</p>

		<div class="ipsSpoiler" data-ipsspoiler="">
			<div class="ipsSpoiler_header">
				<span>Spoiler</span>
			</div>

			<div class="ipsSpoiler_contents">
				<p>
					AP &lt;= 100 = Divine
				</p>

				<p>
					<img alt="2578063af6f16f44219524f731bb17d8.jpg" class="ipsImage" height="348" width="316" src="https://www.ascensiongamedev.com/resources/filehost/2578063af6f16f44219524f731bb17d8.jpg" /></p>

				<p>
					 
				</p>

				<p>
					AP &lt;= 2999 = Good
				</p>

				<p>
					<img alt="8d8a75879444a0c08888231e1ded6efe.jpg" class="ipsImage" height="345" width="306" src="https://www.ascensiongamedev.com/resources/filehost/8d8a75879444a0c08888231e1ded6efe.jpg" /></p>

				<p>
					 
				</p>

				<p>
					AP &lt;= 10000 = Neutral
				</p>

				<p>
					<img alt="c568304b272a4b42e3b0c5c407bc6014.jpg" class="ipsImage" height="342" width="306" src="https://www.ascensiongamedev.com/resources/filehost/c568304b272a4b42e3b0c5c407bc6014.jpg" /></p>

				<p>
					 
				</p>

				<p>
					AP &lt;= 14999 = Evil
				</p>

				<p>
					<img alt="1b2afb252f813d13d512d00bb958d644.jpg" class="ipsImage" height="342" width="307" src="https://www.ascensiongamedev.com/resources/filehost/1b2afb252f813d13d512d00bb958d644.jpg" /></p>

				<p>
					 
				</p>

				<p>
					AP &gt; 15000 = Demonic
				</p>

				<p>
					<img alt="516711e3ccc87bd9657f7c864115f2f4.jpg" class="ipsImage" height="340" width="308" src="https://www.ascensiongamedev.com/resources/filehost/516711e3ccc87bd9657f7c864115f2f4.jpg" /></p>
			</div>
		</div>

		<p>
			 
		</p>

		<p>
			Now for the beefy bit, building the "Common Event". If you don't want the alignment system, then this bit will be short and only need to do the top bit up to the close book and swapping the player items and also remove the "Alignment Condition". If you do want the alignment system then copy the below in full.
		</p>

		<p>
			<img alt="2a1fa7db0fbe426c2bb6b90d71aee435.jpg" class="ipsImage" height="490" width="465" src="https://www.ascensiongamedev.com/resources/filehost/2a1fa7db0fbe426c2bb6b90d71aee435.jpg" /></p>

		<p>
			<img alt="f3802ecaf1da40ce8be3be9ee85339b3.jpg" class="ipsImage" height="490" width="467" src="https://www.ascensiongamedev.com/resources/filehost/f3802ecaf1da40ce8be3be9ee85339b3.jpg" /></p>

		<p>
			<img alt="8ee0cdbf655de23b6193253c68dcb5c2.jpg" class="ipsImage" height="491" width="465" src="https://www.ascensiongamedev.com/resources/filehost/8ee0cdbf655de23b6193253c68dcb5c2.jpg" /></p>

		<p>
			<img alt="ae9e0cab21ceef6b0d621a62df90ef55.jpg" class="ipsImage" height="493" width="465" src="https://www.ascensiongamedev.com/resources/filehost/ae9e0cab21ceef6b0d621a62df90ef55.jpg" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Now we need to go back and set the Item Types to the "Common Event - Journal" we just created:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			NOTE:  We only set the "Common Event" to the "Book Closed" so that only runs the event. We do set the "Book Open" to a type "Event" so it is displayed as a "Special Item", but we do not apply an event to it.
		</p>

		<p>
			 
		</p>

		<p>
			Book Closed:
		</p>

		<p>
			<img alt="c3c439b5dfad2bb4bdb58c56a83de8db.jpg" class="ipsImage" height="326" width="456" src="https://www.ascensiongamedev.com/resources/filehost/c3c439b5dfad2bb4bdb58c56a83de8db.jpg" /></p>

		<p>
			 
		</p>

		<p>
			Book Open:
		</p>

		<p>
			<img alt="043ff19cc656c2bc5759e5210ccecc74.jpg" class="ipsImage" height="321" width="454" src="https://www.ascensiongamedev.com/resources/filehost/043ff19cc656c2bc5759e5210ccecc74.jpg" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Complete!
</p>

<p>
	 
</p>

<p>
	Now just give you players that "Closed Book" Item and they will have a wokring Journal to show additional player/game stats.
</p>

<p>
	 
</p>

<p>
	You could also bound the "Items" and set the "Closed Book" as a "Spawn Items" with in "Classes" so the player will have Journal from start of game, and will always have it.
</p>

<p>
	 
</p>

<p>
	Hope you Enjoy <span><img alt=":)" data-emoticon="" height="20" src="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile.png" srcset="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile@2x.png 2x" title=":)" width="20" /></span>
</p>

<p>
	 
</p>

<p>
	Dont forget the Addon: (Needed to add/remove alignment points)
</p>

<p>
	[AOG] Alignment System Add On - Gaining/Losing Alignment Points
</p>
<iframe allowfullscreen="" data-controller="core.front.core.autosizeiframe" data-embedcontent="" data-embedid="embed254988367" scrolling="no" src="https://www.ascensiongamedev.com/topic/3826-aog-alignment-system-add-on-gaininglosing-alignment-points/?do=embed" style="height:210px;max-width:502px;"></iframe>

<p>
	 
</p>]]></description><guid isPermaLink="false">3823</guid><pubDate>Tue, 09 Apr 2019 13:07:48 +0000</pubDate></item><item><title>W.S.S World Spawn Events</title><link>https://www.ascensiongamedev.com/topic/6291-wss-world-spawn-events/</link><description><![CDATA[<p style="text-align:center;">
	<strong><span style="font-size:20px;">W.S.S World Spawn Events</span></strong>
</p>

<p>
	- .This event is one simple system for you can spawn same events (or diferents) around the map. its good to shop travelers, quest chests, some Itens. In this case I will do with  herbs resources spawn using an simple variable calculate.
</p>

<p>
	The system works with you collect one resource in event and before this, another event spawn in another specific map point will be appear. And before I collect all of another configured events, its returns to the first event point.
</p>

<p>
	toosimple.
</p>

<p>
	 
</p>

<p>
	so lets start...
</p>

<p>
	 
</p>

<p>
	<strong>You have to do:</strong>
</p>

<p>
	1x item to resource (you can do with any event type)
</p>

<p>
	 1x global variable integer = 0
</p>

<p>
	2 or more events to effective the system.
</p>

<p>
	 
</p>

<p>
	*Remembering - You can use the intersect resource system but I want to make this way to ma game.
</p>

<p>
	 
</p>

<p>
	to end - 
</p>

<p>
	create 2 events maps and put your <strong>execution conditions</strong> as variable integer = 0 in first event
</p>

<p>
	( <strong>This first event with 0 value condition is the first event on map when server starts.</strong> ) 
</p>

<p>
	In the second event  with execution conditions as = 1 
</p>

<p>
	And if you want to create another events just put 2,3,4....<br />
	 
</p>

<p>
	In the events options just put the way you know and the last command you put -&gt;
</p>

<p>
	----&gt; conditional branch - GLOBAL VARIABLE INTEGER = 2 ? 
</p>

<p>
	If yess --------&gt; SET variable integer to 0.
</p>

<p>
	If no -----&gt; Add +1 variable integer!
</p>

<p>
	------------------------------------------------------------------
</p>

<p>
	This is one basic system and if you put the steps above you can do the events runs by your own without AUTORUNS !
</p>

<p>
	 
</p>

<p>
	<strong>remember! If you want the events has take a time to spawn, just create another page to each event, when you collect or interact you activate some boolean or switch local, and put the conditional options above in the second page!</strong>
</p>

<p>
	 
</p>

<p>
	 
</p>

<div class="ipsEmbeddedVideo">
	<div>
		<iframe allowfullscreen="" frameborder="0" height="113" width="200" data-embed-src="https://www.youtube.com/embed/Zg6qXI7FZMs?feature=oembed"></iframe>
	</div>
</div>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<span style="font-size:11px;"><strong>ASKS AND ALTERATIONS PLEASE SAY IT!!</strong></span>
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">6291</guid><pubDate>Tue, 12 Oct 2021 19:59:33 +0000</pubDate></item><item><title>Advanced Fishing (Tutorial) Events</title><link>https://www.ascensiongamedev.com/topic/5340-advanced-fishing-tutorial-events/</link><description><![CDATA[<p>
	Obsolete.
</p>
]]></description><guid isPermaLink="false">5340</guid><pubDate>Tue, 30 Jun 2020 04:07:00 +0000</pubDate></item><item><title>[Tutorial] Simple Puzzle</title><link>https://www.ascensiongamedev.com/topic/6312-tutorial-simple-puzzle/</link><description><![CDATA[<p>
	Hello everyone, I want to introduce a simple system, simply to teach how to use more events parameters and string variables for beginners
</p>

<p>
	 
</p>

<p>
	The goal is to create a gate that will open when where 4 switches are active. There are 4 switches in your world and their activation form will be in two different ways.
</p>

<p>
	 
</p>

<p>
	<strong>When the order of switches doesn't matter</strong>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Create a global variable and put it as a string
		</p>

		<p>
			<img alt="fa5bb5e7f00377b79a379ad09cee9555.png" class="ipsImage" data-ratio="100.15" height="649" width="648" src="https://www.ascensiongamedev.com/resources/filehost/fa5bb5e7f00377b79a379ad09cee9555.png" /></p>

		<p>
			 
		</p>

		<p>
			Make your gate event on map - no spawn condition - just with a message - choose your graphic<br /><img alt="3cf7d433faf4ba212fdcb0949ed56dee.png" class="ipsImage" data-ratio="75.08" height="706" width="1000" src="https://www.ascensiongamedev.com/resources/filehost/3cf7d433faf4ba212fdcb0949ed56dee.png" /><br /></p>

		<p>
			Okay, now our gate is always locked, let's create a switch to unlock it. Create an event on a map, choose your graphic and put a <strong>UNIQUE NAME --&gt; this is very necessary</strong>,
		</p>

		<p>
			and as a first command let's create a conditional branch
		</p>

		<p>
			<br />
			If our variable DOES NOT contain the event name (--&gt; \evtparam{evtName} &lt;--).<br /><img alt="681720bbe396da597100cd5b2b936b2e.png" class="ipsImage" data-ratio="79.34" height="726" width="915" src="https://www.ascensiongamedev.com/resources/filehost/681720bbe396da597100cd5b2b936b2e.png" /></p>

		<p>
			 
		</p>

		<p>
			Logically, if it does not contain, it means that this switch is not active, so let's add, inside the conditional branch (right on the line below), create a command to set variable
		</p>

		<p>
			<img alt="a9d061fbd878ed2a3bbd0c56b36db211.png" class="ipsImage" data-ratio="99.77" height="438" width="439" src="https://www.ascensiongamedev.com/resources/filehost/a9d061fbd878ed2a3bbd0c56b36db211.png" /></p>

		<p>
			 
		</p>

		<p>
			Copy everything inside the arrow --&gt;\pv{Gate}\evtparam{evtName} - &lt;--
		</p>

		<p>
			don't be scared we'll understand
		</p>

		<p>
			<br />
			\pv{Gate} = It will get the value of the current variable, we are taking whatever value it has, if the player has activated another switch<br />
			\evtparam{evtName} = It will add the name of this event to the value of the variable, <strong>so the event name must be unique</strong>
		</p>

		<p>
			 
		</p>

		<p>
			For the else (when the variable contains the event name), just shows a message that the switch has been activated. This is the final event
		</p>

		<p>
			<img alt="aa8584929ec7135b57a53e476cd3c331.png" class="ipsImage" data-ratio="78.31" height="650" width="830" src="https://www.ascensiongamedev.com/resources/filehost/aa8584929ec7135b57a53e476cd3c331.png" /><br /><br />
			Save him, and save the map. Copy it and paste as many times as you need in the places in the world you need, when pasting <strong>make sure you change the event name</strong>. I will paste three more times:
		</p>

		<p>
			<img alt="b2587975fe44c9af89d0acfc79a0eb98.png" class="ipsImage" data-ratio="81.97" height="750" width="895" src="https://www.ascensiongamedev.com/resources/filehost/b2587975fe44c9af89d0acfc79a0eb98.png" /></p>

		<p>
			 
		</p>

		<p>
			Now that the switches are ready, we need to get the gate to open
		</p>

		<p>
			In the event of the gate, create a new page, I put another graphic for and on conditions Let's check if the variable contains the 4 switches
		</p>

		<p>
			<img alt="7c1aaddd69b9233ef8d6e2a865454bb0.png" class="ipsImage" data-ratio="75.00" height="693" width="1000" src="https://www.ascensiongamedev.com/resources/filehost/7c1aaddd69b9233ef8d6e2a865454bb0.png" /></p>

		<p>
			 
		</p>

		<p>
			and it's ready!<br />
			When interacting once, apparently nothing will happen, but the switch name has already been added to the gate variable.<br />
			if you interact again:
		</p>

		<p>
			<img alt="8054798ebafc1d0111cc3857dcbb9161.png" class="ipsImage" data-ratio="69.90" height="640" width="1000" src="https://www.ascensiongamedev.com/resources/filehost/8054798ebafc1d0111cc3857dcbb9161.png" /></p>

		<p>
			 
		</p>

		<p>
			Before interacting with the last one look at the gate
		</p>

		<p>
			<img alt="4a16a30e11d2f37db2157e9d9b1edc10.png" class="ipsImage" data-ratio="75.23" height="562" width="747" src="https://www.ascensiongamedev.com/resources/filehost/4a16a30e11d2f37db2157e9d9b1edc10.png" /></p>

		<p>
			 
		</p>

		<p>
			After interacting with the switch
		</p>

		<p>
			<img alt="04b5441ec0cca495e1616581179b585c.png" class="ipsImage" data-ratio="92.63" height="553" width="597" src="https://www.ascensiongamedev.com/resources/filehost/04b5441ec0cca495e1616581179b585c.png" /></p>

		<p>
			 
		</p>

		<p>
			If you got this far, and did all correct, and tested it, everything worked normally. Just remember to teleport the player on the second page of the gate event, or make the event passable, etc.
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	<strong>When the order of switches matter</strong>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Which is when you want events to fire in specific order<br /><br />
			Here we are going to use an integer variable
		</p>

		<p>
			<img alt="9787f89b8c96046596239c1bbaf8b18e.png" class="ipsImage" data-ratio="115.08" height="580" width="504" src="https://www.ascensiongamedev.com/resources/filehost/9787f89b8c96046596239c1bbaf8b18e.png" /></p>

		<p>
			 
		</p>

		<p>
			On the first switch, <strong>check that the variable's value is 0</strong>, if is then add+1 on value, on else, send a message warning the player that it's the wrong switch
		</p>

		<p>
			<img alt="2e4ea2cd6e60524c1a75411ed42510dc.png" class="ipsImage" data-ratio="111.47" height="418" width="375" src="https://www.ascensiongamedev.com/resources/filehost/2e4ea2cd6e60524c1a75411ed42510dc.png" /><img alt="708c5adb7e71f13c4bf5fc7edd757b8c.png" class="ipsImage" data-ratio="102.44" height="419" width="409" src="https://www.ascensiongamedev.com/resources/filehost/708c5adb7e71f13c4bf5fc7edd757b8c.png" /><br /><br />
			this is our event
		</p>

		<p>
			<img alt="ca1c7b8e58f5dea74b1cf212db43d534.png" class="ipsImage" data-ratio="75.08" height="740" width="1000" src="https://www.ascensiongamedev.com/resources/filehost/ca1c7b8e58f5dea74b1cf212db43d534.png" /></p>

		<p>
			 
		</p>

		<p>
			Copy and paste, and every time you paste <strong>change the conditional branch</strong> (right click and then edit)<br />
			if it is 1 on 2th switch event<br />
			if it is 2 on 3th switch event<br />
			if it is 3 on 4th switch event<br />
			and so on
		</p>

		<p>
			 
		</p>

		<p>
			For the gate on the first page of event, it doesn't need a condition, just a message that it's locked
		</p>

		<p>
			<img alt="24ed6b2eebb66a25be6a714c2da27ea0.png" class="ipsImage" data-ratio="75.08" height="741" width="1000" src="https://www.ascensiongamedev.com/resources/filehost/24ed6b2eebb66a25be6a714c2da27ea0.png" /></p>

		<p>
			 
		</p>

		<p>
			For the second page, just check when the value is equal to the last activated switch
		</p>

		<p>
			<img alt="b2758c20e008905bbb173b52f701b64a.png" class="ipsImage" data-ratio="78.63" height="732" width="931" src="https://www.ascensiongamedev.com/resources/filehost/b2758c20e008905bbb173b52f701b64a.png" /></p>

		<p>
			 
		</p>

		<p>
			If you interact with any switch other than the one that checks to see if the variable is 0, you will have this
		</p>

		<p>
			<img alt="6bea9a43e72fc7d4da90c2718196f412.png" class="ipsImage" data-ratio="75.08" height="572" width="1000" src="https://www.ascensiongamedev.com/resources/filehost/6bea9a43e72fc7d4da90c2718196f412.png" /></p>

		<p>
			 
		</p>

		<p>
			When you interact in the right order, you'll see this
		</p>

		<p>
			<img alt="f6021b7d53ccabd38a2fc05eb8b41852.png" class="ipsImage" data-ratio="69.30" height="565" width="1000" src="https://www.ascensiongamedev.com/resources/filehost/f6021b7d53ccabd38a2fc05eb8b41852.png" /></p>

		<p>
			 
		</p>

		<p>
			And when to interact with the last<br /><img alt="51ccabdfcf916cd12694c9ca9ca2f747.png" class="ipsImage" data-ratio="71.61" height="623" width="870" src="https://www.ascensiongamedev.com/resources/filehost/51ccabdfcf916cd12694c9ca9ca2f747.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Redo all the steps in the two ways I showed you to learn more about how events work. Any questions you can send that I will respond as soon as possible. &lt;3
</p>
]]></description><guid isPermaLink="false">6312</guid><pubDate>Thu, 04 Nov 2021 20:09:16 +0000</pubDate></item><item><title>S.F.S Sea Fishing System&#xA0;V0.2 (LASTEST VERSION IN NOVEMBER)</title><link>https://www.ascensiongamedev.com/topic/6289-sfs-sea-fishing-system%C2%A0v02-lastest-version-in-november/</link><description><![CDATA[<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<span style="font-size:26px;"><strong>S.F.S Sea Fishing System</strong></span> 
</p>

<p style="text-align:center;">
	In last lines I show how to fix some bugs.
</p>

<p style="text-align:center;">
	Hi i'm ur friend Luk. I'm Braziliian. So sorry my english mistakes.
</p>

<p style="text-align:center;">
	I'm making online game with Intersect Engine and I am gonna record my progress likes diary to organize and process informations. 
</p>

<p style="text-align:center;">
	<b>I use Intersect Engine have 8 months and recently i'm sharing my progress and new game systems, so if you have some alterations or tips, pls say it!</b>
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<strong><span style="font-size:16px;">Which system type?</span></strong>
</p>

<p style="text-align:center;">
	This a system to collect resources in manually form, with rod in your weapon slot, working as a weapon projectile. You can randomize as you like the fishes position because their are npcs, and this can be good structured if you use fishes raritys; You can create fishing zones without pvp or monsters as you want, because this system has one control system for some bugs and is connected with map structure. You can define all areas for the rarity you want. The weapon projectile has ten or more range, but its too easy to configure!
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<strong><span style="font-size:16px;">What we need for do?</span></strong>
</p>

<p style="text-align:center;">
	So for that system you have to do  =
</p>

<p>
	- 1x <strong>item</strong> each<strong> fish </strong>
</p>

<p>
	- 1x <strong>item</strong> for <strong>Bait</strong>
</p>

<p>
	- 1x <strong>item</strong> each <strong>rarity rod</strong> (remembering that each rod rarity can take diference with your<strong> range tiles</strong>, <strong>speed move</strong> or maybe <strong>rares fishes requirements</strong> )
</p>

<p>
	- 1x<strong> commom event</strong> each<strong> fish</strong>
</p>

<p>
	- 1x <strong>npc</strong> each<strong> fish</strong>
</p>

<p>
	- 1x <strong>projectile</strong> each <strong>rod</strong>
</p>

<p>
	- 1x <strong>charset</strong> each <strong>fish</strong> and 1x<strong> paperdoll</strong> for each<strong> rod </strong>
</p>

<p>
	<strong>- </strong>1x <strong>variable </strong>to protect zone.
</p>

<p>
	---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
</p>

<p>
	<strong><span style="font-size:16px;">ITEM -                                                   NPC -                                                        PROJECTILE -</span></strong>
</p>

<p>
	<strong><span style="font-size:16px;">1x Fish lv 1 commom as loot.                    1x Fish LV 1 as 2 hp.                        1x StickRod - 10 tiles retain               </span></strong>
</p>

<p>
	<strong><span style="font-size:16px;">1x Fish lv 2 rare as loot.                              1x Fish LV 2 as 4 hp.                        1x FiberRod - 14 tiles retain     </span></strong>
</p>

<p>
	<span style="font-size:16px;"><b>1x Fish lv 3 epic as loot.                              1x Fish LV 3 as 6 hp.                       1x Golden Rod - 17 tiles retain   </b></span>
</p>

<p>
	<span style="font-size:16px;"><b>1x Stick Rod as weapon with 2 atk.                                                  </b></span><strong><span style="font-size:16px;">ignore colision with map blocks -consume mealbait</span></strong>
</p>

<p>
	<span style="font-size:16px;"><b>1x Fiber Rod as weapon with 4 atk.</b></span>
</p>

<p>
	<span style="font-size:16px;"><b>1x Golden Rod as weapon with 6 atk.</b></span>
</p>

<p>
	<span style="font-size:16px;"><b>1x  Meal or Warm Bait as currency.</b></span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:16px;"><b>So i'm proving create some basic idea and system an this is a mine to cristalyze, this is system v0.2 and later I will launch v.0.3! But i will give spoilers for alteration if you want to do after.</b></span>
</p>

<p>
	 
</p>

<p>
	<strong>MAP - Create one retain line in some beach or river edge to npc enemies cannot pass 6 tiles in front of fishin zone.</strong>
</p>

<p>
	<b>Before this add npc fishes in crescent order. "Lv 1 fishes" in 7 to 9 tiles distance, "Lv 2 fishes" in 10 to 14 tiles distance and "lv 3 fishes" 15 to 17 tiles.</b>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:16px;"><u>Its curious how this system can protect the more rarity fishes in the fishing because even you gonna take one golden rod, you have to can fishing the lastest fishes when the more common still in front of those. And If you want to not put the npc limiter, the initial rods cannot kill one rare fishe because your atk is lower.</u></span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:16px;"><b>Fishing Zone.</b></span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:16px;"><b>The fishing zone have to be protected by entrance/exit trigger event tiles to control the player permissions when uses your rod out zone. So I recommend you use some harbor to do it. </b></span>
</p>

<p>
	<span style="font-size:16px;"><b>In this player event you can put graphics of tags or informations for the player knows the zone. </b></span>
</p>

<p>
	<span style="font-size:16px;"><b>This event have to trigger one boolean variable to on and off always the player pass in the event. As below</b></span>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<span style="font-size:16px;"><b>------------------- conditional branch - variable/boolean -- fish - is false?</b></span>
</p>

<p>
	<span style="font-size:16px;"><b>---------------- yes? so put true when you enter the zone</b></span>
</p>

<p>
	<span style="font-size:16px;"><b>-------------conditional branch - variable/boolean -fish - is true?</b></span>
</p>

<p>
	<span style="font-size:16px;"><b>----------yes? so put false when you leave the zone</b></span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:16px;"><b>It is a little commom trigger, but the system is the commom event. </b></span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:16px;"><b>So, before this you have to go in common events create one event control and put in the Execution Conditions. </b></span><span style="font-size:16px;"><b>As here </b></span>
</p>

<p>
	<span style="font-size:16px;"><b>-----------execution conditions ------------ variable/boolean - fish-- is false? (entering the zone)                   &gt; autorun &lt;</b></span>
</p>

<p>
	<strong>--------------- conditional branch - stick road is equipped? </strong>
</p>

<p>
	<strong>if yes - take one rod of player </strong>
</p>

<p>
	<b>-----------wait 20ms</b>
</p>

<p>
	<b>                    ------gives one same rod for player</b>
</p>

<p>
	<b>                 Message - You are using the rod out the fishing zone! Please unnequip your rod or back to the fishing zone.</b>
</p>

<p>
	<b>     wait 5000ms </b>
</p>

<p>
	<b>end branch</b>
</p>

<p>
	 
</p>

<p>
	<b>Now it is done! You can equip your rod in fishing zone and try to fishing some fishes!</b>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:16px;"><b>SAQ (Currently tests and opinions with your bug corrects)</b></span>
</p>

<p>
	<strong>ASK </strong>- Its hard to process when use event commom in autorun, how I change or fix that ?
</p>

<p>
	<strong>answer</strong> - <em>So if you doing an big open world game so you can change the commom event auto run to put or one<strong> map autorun event</strong> with the same structure!</em>
</p>

<p>
	 
</p>

<p>
	<strong>ASK - </strong>If I put fishing rods as weapon and your projectile ultrapass the block maps, what for do we have to put an control system if the rod can pass the fish beach around and atack players in edge of the zone?
</p>

<p>
	<strong>answer - </strong><em>yes i agree, so you can desactive the map blocks ignores. before this take a <strong>slide down</strong> in every tile that you put block map. So the player cannot access the sea and you cannot atack these pllayers. For my game it not be a problem because some fishing zones is in pvp areas and the rod cannot compete with the most basic sword attributes. </em>
</p>

<p>
	 
</p>

<p>
	<em><strong>ASK - </strong></em>Can I use this system without one fishing zone?
</p>

<p>
	<em><strong>answer - </strong>if you are veteran in gamedeving, you can see that, the trigger entrance event in the fishingzone can be modified with the parameter that you want. Or you do that or you can create one autorun game map in the map when puting execution conditions the player was in the specificly map and out of there the player cannot use the rod. or you can use the rod as normal item and put variables to fishing every fish, but this destroy the system idea.</em>
</p>

<p>
	 
</p>

<p>
	<strong>ASK - </strong>Have another way to control fish rod without time of unnequip from notification message?
</p>

<p>
	<strong>answer - </strong><em>Yes! you can create as said above one map event to control this with warp or player movement, and the last way is you create one event next the trigger event, and in this evnt you can negate the player pass;</em>
</p>

<p>
	 
</p>

<p>
	ASK - can use without any autorun option?
</p>

<p>
	answer- yes you can do it! just create an event one tile next to the event trigger of zone fishing, put when player above. and repeat the same process in commom event said in this tutorial
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="font-size:24px;"><strong><em>November will launch lastest version S.F.S Sea Fishing System 0.3v</em></strong></span>
</p>

<p>
	 
</p>

<p style="text-align:center;">
	<span style="font-size:20px;">Basically and for last thing, the lastest version of this system, I will launch complete and fixing all of these bugs and questions. I will send with graphics and fishing SFXs. </span>
</p>

<p style="text-align:center;">
	<b>IF YOU WANT TO SEE TUTORIAL VIDEOS , SEE HERE BELLOW</b>
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	 
</p>

<div class="ipsEmbeddedVideo">
	<div>
		<iframe allowfullscreen="" frameborder="0" height="113" width="200" data-embed-src="https://www.youtube.com/embed/GOmUJuJkLIY?feature=oembed"></iframe>
	</div>
</div>

<p style="text-align:center;">
	 
</p>

<div class="ipsEmbeddedVideo">
	<div>
		<iframe allowfullscreen="" frameborder="0" height="113" width="200" data-embed-src="https://www.youtube.com/embed/3KPebip7Ekc?feature=oembed"></iframe>
	</div>
</div>

<p style="text-align:center;">
	 
</p>
]]></description><guid isPermaLink="false">6289</guid><pubDate>Mon, 11 Oct 2021 21:01:38 +0000</pubDate></item><item><title>M.O.C Map Open Chests!</title><link>https://www.ascensiongamedev.com/topic/6286-moc-map-open-chests/</link><description><![CDATA[<p>
	<b>M.O.C - Map Open Chests </b>
</p>

<p>
	<b>- </b><em>This system is a option to basic opening chests and gives you items likes the Intersect randomic npc loots system.</em>
</p>

<p>
	 
</p>

<p>
	<em>I think its curious and funniest taking items mode because its allow another players to can theft your items and this enable possibilities to a survival experience mode.</em>
</p>

<p>
	 
</p>

<p>
	<i>so lets start...</i>
</p>

<p>
	 
</p>

<p>
	<strong>You have to do:</strong>
</p>

<p>
	2 items each chest ( Key and Box)
</p>

<p>
	2 animations (Sounds opening and effects in first animation and broken effect on second)
</p>

<p>
	1 NPC each chest ( Chest 4x4 graphics) 
</p>

<p>
	1 Commom event each Chest
</p>

<p>
	 
</p>

<p>
	*Remembering - You can use this system likes resource system but I want to make this way.
</p>

<p>
	 
</p>

<p>
	1x Key Basic just currency normal item.
</p>

<p>
	1x Chest Basic ( with usage reqrements  fixed in condition [<b>do the player has basic key?</b>]  and commom event [<strong>Basic Chest</strong>]) 
</p>

<p>
	Put animation use with your animation effect chest opening.
</p>

<p>
	 
</p>

<p>
	1x NPC Chest -
</p>

<p>
	HP - 10/30
</p>

<p>
	Mp and each other atributte - 0
</p>

<p>
	So here you gonna put the randomics loots. 
</p>

<p>
	In this chest system you can get all of the items or do not get them. its just percent of probaly drop so if you want the player obtain as 100% of probaly so you can do it.
</p>

<p>
	 
</p>

<p>
	In death event window you can take another animation for broke!
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	for ends...
</p>

<p>
	Commom event - (follow our order with no requirments or conditions)
</p>

<p>
	- Spawn Npc (Basic Chest) /around entity -below player -
</p>

<p>
	     - Change Itens - Take Basic Key from player -      (<strong>-1 inventory  key</strong>)
</p>

<p>
	          -Wait 1000ms 
</p>

<p>
	-------------------------------------------------------
</p>

<p>
	For this tutorial i risk try to record in English so forgive me if you get confusion by my speaks.. If you dont understand it. Just follow the video parts and read my above tutorial..
</p>

<div class="ipsEmbeddedVideo">
	<div>
		<iframe allowfullscreen="" frameborder="0" height="113" width="200" data-embed-src="https://www.youtube.com/embed/hvQT0FgX0Wo?feature=oembed"></iframe>
	</div>
</div>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Thank you to see my tutorial until here and lets gamedev!!!
</p>
]]></description><guid isPermaLink="false">6286</guid><pubDate>Sat, 09 Oct 2021 18:10:25 +0000</pubDate></item><item><title>Tutorial - Event activated by date.</title><link>https://www.ascensiongamedev.com/topic/5171-tutorial-event-activated-by-date/</link><description><![CDATA[<p>
	Hello guys, I came to present a simple tutorial that I haven't seen in other tutorials about the intersect and that I use my game a lot. Running events at the exact time, or the exact day. The usefulness of this system serves as a basis for more complex systems that you want to make, such as daily prize for the player, giving or withdrawing vip ingame with exact date and time, home system (rent, take the player's house when renting end ..) and etc.
</p>

<p>
	 
</p>

<p>
	For this system we will need 1 variable (preferably global) and 1 common event. Only that.
</p>

<p>
	<img alt="be4d5618a11cd6500ec2a71592d8c91b.png" class="ipsImage" data-ratio="111.07" height="572" width="515" src="https://www.ascensiongamedev.com/resources/filehost/be4d5618a11cd6500ec2a71592d8c91b.png" /></p>

<p>
	 
</p>

<p>
	I call GBtime to remember Global Time. Call your variable as you like.
</p>

<p>
	 
</p>

<p>
	For the common event use...
</p>

<p>
	<img alt="229d78e5644459a43b3943d24f622c1f.png" class="ipsImage" data-ratio="76.44" height="639" width="836" src="https://www.ascensiongamedev.com/resources/filehost/229d78e5644459a43b3943d24f622c1f.png" /></p>

<p>
	<img alt="fe99e074c7861e88f2290d911f9bb728.png" class="ipsImage" data-ratio="76.96" height="638" width="829" src="https://www.ascensiongamedev.com/resources/filehost/fe99e074c7861e88f2290d911f9bb728.png" /></p>

<p>
	<img alt="93151c3c67dd6558019281b3c3293861.png" class="ipsImage" data-ratio="76.74" height="640" width="834" src="https://www.ascensiongamedev.com/resources/filehost/93151c3c67dd6558019281b3c3293861.png" /></p>

<p>
	 
</p>

<p>
	And ready. End of system. Use as you wish
</p>

<p>
	 
</p>

<p>
	hahaha kidding, this is the center of everything. Now I'm going to show you how you can activate any event at exactly the right time. Everything is done with the condition of comparing variables. If you are experienced, you know how it works.
</p>

<p>
	 
</p>

<p>
	<strong><span style="font-size:20px;">One shot trigger.</span></strong>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Requirements:
		</p>

		<p>
			 
		</p>

		<p>
			You will need 2 variable. It must be global, at the end you will understand why.
		</p>

		<p>
			One variable will be integer and the other will be boolean.
		</p>

		<p>
			<img alt="efacf8f15c809e57dfe74a93ef34bae4.png" class="ipsImage" data-ratio="111.35" height="569" width="511" src="https://www.ascensiongamedev.com/resources/filehost/efacf8f15c809e57dfe74a93ef34bae4.png" /></p>

		<p>
			 
		</p>

		<p>
			1 - In the Event [which can be on the map or common event], place the condition:
		</p>

		<p>
			If (your variable) is less than (GBtime)
		</p>

		<p>
			<img alt="2ba9f0783e655bc27c2538651497816d.png" class="ipsImage" data-ratio="76.90" height="636" width="827" src="https://www.ascensiongamedev.com/resources/filehost/2ba9f0783e655bc27c2538651497816d.png" /></p>

		<p>
			 
		</p>

		<p>
			2 - In this area you will insert all the commands you want
		</p>

		<p>
			<img alt="5bc88d1908e31283807828e199732c6e.png" class="ipsImage" data-ratio="76.80" height="639" width="832" src="https://www.ascensiongamedev.com/resources/filehost/5bc88d1908e31283807828e199732c6e.png" /></p>

		<p>
			 
		</p>

		<p>
			and <span style="font-size:18px;"><strong>at the end</strong></span> you will insert the command<br />
			set (boolean variable) to true.
		</p>

		<p>
			<img alt="16435d8f960d3373412099baafc7eb53.png" class="ipsImage" data-ratio="77.31" height="637" width="824" src="https://www.ascensiongamedev.com/resources/filehost/16435d8f960d3373412099baafc7eb53.png" /></p>

		<p>
			 
		</p>

		<p>
			3 - Finally create a new page, and place the condition:<br />
			if (its boolean variable) is true.
		</p>

		<p>
			<img alt="4297915ed6e7c7025342725bf7f899cc.png" class="ipsImage" data-ratio="76.32" height="638" width="836" src="https://www.ascensiongamedev.com/resources/filehost/4297915ed6e7c7025342725bf7f899cc.png" /></p>

		<p>
			<img alt="96f7187517f00640eb4aadbec0437c8b.png" class="ipsImage" data-ratio="76.95" height="641" width="833" src="https://www.ascensiongamedev.com/resources/filehost/96f7187517f00640eb4aadbec0437c8b.png" /></p>

		<p>
			 
		</p>

		<p>
			All your actions will be carried out and the event will come to a standstill. Of course, this will be something for all players. 
		</p>

		<p>
			 
		</p>

		<p>
			If you want something more specific for someone, put more conditions<br />
			Class is X<br />
			Player variable is X<br />
			The player has X item<br />
			There are several conditions and combination of conditions that you can specify.
		</p>

		<p>
			 
		</p>

		<p>
			Return to the variable editor and enter the exact date and time when you want the event to run at the variable value.
		</p>

		<p>
			(look at the end of the tutorial to learn how)
		</p>

		<p>
			<img alt="f7fca8a47ec455b6ad74e4e266d8bba1.png" class="ipsImage" data-ratio="110.94" height="568" width="512" src="https://www.ascensiongamedev.com/resources/filehost/f7fca8a47ec455b6ad74e4e266d8bba1.png" /></p>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	<strong><span style="font-size:20px;">Auto Trigger (periodic events)</span></strong>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Requirements:<br />
			You will not need the global boolean variable only the integer global variable.
		</p>

		<p>
			 
		</p>

		<p>
			Repeat steps 1 and 2 above.
		</p>

		<p>
			Only this time, you will not use the boolean variable but will use the same variable, using the command, '' add '' to add a specific value.
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="3bc1dac9def6d3c449d82203b5c1cd8f.png" class="ipsImage" data-ratio="77.02" height="640" width="831" src="https://www.ascensiongamedev.com/resources/filehost/3bc1dac9def6d3c449d82203b5c1cd8f.png" /></p>

		<p>
			<img alt="3143f70cbfe8e301070c59a9a4fa179c.png" class="ipsImage" data-ratio="76.42" height="632" width="827" src="https://www.ascensiongamedev.com/resources/filehost/3143f70cbfe8e301070c59a9a4fa179c.png" /></p>

		<p>
			 
		</p>

		<p>
			The logic here is simple. The event will always be activated in the same time interval defined for you.
		</p>

		<p>
			 
		</p>

		<p>
			Remember that to activate the event you must enter the date and time.
		</p>

		<p>
			(look at the end of the tutorial to learn how)
		</p>

		<p>
			<img alt="f7fca8a47ec455b6ad74e4e266d8bba1.png" class="ipsImage" data-ratio="110.94" height="568" width="512" src="https://www.ascensiongamedev.com/resources/filehost/f7fca8a47ec455b6ad74e4e266d8bba1.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	<strong><span style="font-size:20px;">How to add the date and time.</span></strong>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			There, the most important part. To add date and time is simple. But you must understand something.
		</p>

		<p>
			1 - The time used by this intersect's time system is in timestamp, which ignores game time if your game uses more advanced time to simulate several days that is configured in the time editor.
		</p>

		<p>
			2 - The time taken into account is the machine time. If you change the time of the machine, change the time in timestamp used in that system.
		</p>

		<p>
			 
		</p>

		<p>
			Okay, come on.
		</p>

		<p>
			1 - First use a timestamp converter (ask to "father of all": google)
		</p>

		<p>
			I use this: <a href="https://timestamp.online/" rel="external nofollow">https://timestamp.online/</a>
		</p>

		<p>
			 
		</p>

		<p>
			2 - Set date and time
		</p>

		<p>
			<img alt="0b40efa4124ae99c7a188ba1b82a82c9.png" class="ipsImage" data-ratio="50.85" height="329" width="647" src="https://www.ascensiongamedev.com/resources/filehost/0b40efa4124ae99c7a188ba1b82a82c9.png" /></p>

		<p>
			 
		</p>

		<p>
			3 - Copy this value and paste it into the variable value.
		</p>

		<p>
			<img alt="39325a82f2fde32913125fa02be2e845.png" class="ipsImage" data-ratio="31.82" height="316" width="993" src="https://www.ascensiongamedev.com/resources/filehost/39325a82f2fde32913125fa02be2e845.png" /></p>

		<p>
			 
		</p>

		<p>
			VERY IMPORTANT NOTE: The intersect uses time in ms, this site gives the time in s, that is, you must add 3 times the number 0 in the variable value.
		</p>

		<p>
			 
		</p>

		<p>
			<img alt="533fd2a85ae6a151824231f77fc8c426.png" class="ipsImage" data-ratio="111.13" height="569" width="512" src="https://www.ascensiongamedev.com/resources/filehost/533fd2a85ae6a151824231f77fc8c426.png" /></p>

		<p>
			 
		</p>

		<p>
			If you want, look in father of all, for a converter that already responds in ms.
		</p>

		<p>
			 
		</p>

		<p>
			When setting dates, always put the date in future of the current time and take a 5 minute break.
		</p>

		<p>
			For example, now it is 10:30 AM, if I were to put a date I would put 10:35 AM for today.
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	If you have doubts you can send that I will try to answer, as well as better ideas and etc. Maybe later on, when I stop being lazy, present my periodic dungeon system (like the one that many people want to use) as a tutorial, to provide the basis for other future systems, which will contribute a lot to the growth of the intersect.
</p>

<p>
	 
</p>

<p>
	I made a video showing everything working.
</p>

<p>
	<a href="https://reccloud.com/u/gj9swqy" rel="external nofollow">https://reccloud.com/u/gj9swqy</a>
</p>

<p>
	<span style="font-size:8px;">If the video is crashing, take my 2 GB of ram with discord, chrome, server, editor and open client into account.</span>
</p>]]></description><guid isPermaLink="false">5171</guid><pubDate>Sun, 03 May 2020 14:14:44 +0000</pubDate></item><item><title>[AOG] Hunger / Thirst System</title><link>https://www.ascensiongamedev.com/topic/3827-aog-hunger-thirst-system/</link><description><![CDATA[
<p>
	Description:
</p>

<p>
	This will enable a hunger and thirst system in your game. Players will then have to find food and water to recover hunger and thirst, but if they don't the character will stop (twice in total) saying you have to wait to recover for a bit (3 seconds). This puts the player in a vulnerable situation in game. If the player still does not get some food or water, they will die and re spawn (Warp / re spawn which ever way you have in your game). Players hunger and thirst will then be reset to 100.
</p>

<p>
	 
</p>

<p>
	Video:
</p>

<p>
	None
</p>

<p>
	 
</p>

<p>
	Chat Screenshots (System speed increased to get all text reads)
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			This below is a /check command so a player can see there player info, including Hunger and Thirst. If you have my Journal System installed you can put this info on "Player Information" page.
		</p>

		<p>
			<img alt="7441b341e34cda812bbdf27d9dac2538.jpg" class="ipsImage" height="156" src="https://www.ascensiongamedev.com/resources/filehost/7441b341e34cda812bbdf27d9dac2538.jpg" width="384" /></p>

		<p>
			 
		</p>

		<p>
			Next we have the player Warnings. I have increased the speed of the system to get the read outs faster to do this tutorial.
		</p>

		<p>
			<img alt="a34ab71486468af978965f611c044102.jpg" class="ipsImage" height="155" src="https://www.ascensiongamedev.com/resources/filehost/a34ab71486468af978965f611c044102.jpg" width="385" /></p>

		<p>
			 
		</p>

		<p>
			<img alt="0dea97c6fd1fdcedcce725305ba6a65f.jpg" class="ipsImage" height="159" src="https://www.ascensiongamedev.com/resources/filehost/0dea97c6fd1fdcedcce725305ba6a65f.jpg" width="385" /></p>

		<p>
			 
		</p>

		<p>
			<img alt="1475ea143f596471060192bc7b4e23c5.jpg" class="ipsImage" height="156" src="https://www.ascensiongamedev.com/resources/filehost/1475ea143f596471060192bc7b4e23c5.jpg" width="387" /></p>

		<p>
			 
		</p>

		<p>
			<img alt="37394696fce88c87d081f96181342fe8.jpg" class="ipsImage" height="155" src="https://www.ascensiongamedev.com/resources/filehost/37394696fce88c87d081f96181342fe8.jpg" width="385" /></p>

		<p>
			 
		</p>

		<p>
			<img alt="324dd94485c1a305ca8f8463129244c8.jpg" class="ipsImage" height="159" src="https://www.ascensiongamedev.com/resources/filehost/324dd94485c1a305ca8f8463129244c8.jpg" width="385" /></p>

		<p>
			 
		</p>

		<p>
			Using a consumable to recover hunger and thirst:
		</p>

		<p>
			<img alt="83500deefde390df63eb6a801234cb68.jpg" class="ipsImage" height="42" src="https://www.ascensiongamedev.com/resources/filehost/83500deefde390df63eb6a801234cb68.jpg" width="282" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Process:
</p>

<p>
	Player have 100 Hunger and 100 Thirst.
</p>

<p>
	Players loses hunger and thirst over time:
</p>

<ul><li>
		Player loses 1 hunger every 30 seconds.
	</li>
	<li>
		Player loses 2 thirst every 30 seconds.
	</li>
</ul><p>
	When players hunger or thirst gets to low warning messages start appearing in chat every so often (Doesn't spam).
</p>

<p>
	Players have 4 states of hunger and thirst:
</p>

<ul><li>
		0 = Fine
	</li>
	<li>
		1 = Getting Hunger
	</li>
	<li>
		2 = Need to find some food
	</li>
	<li>
		3 = You are starving to death
	</li>
</ul><p>
	Players in state 3 will stop moving for a short time to recover a bit, this happens twice (stops for 3 seconds).
</p>

<p>
	If player does not replenish they will then die and states will be set back to normal: "State 0 - 100 Hunger - 100 Thirst".
</p>

<p>
	 
</p>

<p>
	Issue:
</p>

<p>
	Sometimes one of the warnings runs after death. Editing the "Waits" in Hunger Warning Events can solve this.
</p>

<p>
	 
</p>

<p>
	Build: ﻿
</p>

<p>
	Lets start with the variables, we need to create 4 for them, each one with a Text Id:
</p>

<ol><li>
		Name: Player Hunger - Text Id: hunger
	</li>
	<li>
		Name: Player Thirst- Text Id: thirst
	</li>
	<li>
		Name: Hunger State - Text Id: hungerstate
	</li>
	<li>
		Name: Thirst State - Text Id: thirststate
	</li>
</ol><p>
	 
</p>

<p>
	Now for the Common Events, this system has lets say, a few of them...
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			I always layout my event system like this, makes it easier to find events later down the line.
		</p>

		<p>
			<img alt="76c1c344fde59f634e9e3c5e0f37a7f2.jpg" class="ipsImage" height="236" src="https://www.ascensiongamedev.com/resources/filehost/76c1c344fde59f634e9e3c5e0f37a7f2.jpg" width="185" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Now don't worry they aren't that big on the inside <span><img alt=":P" data-emoticon="" src="https://www.ascensiongamedev.com/uploads/emoticons/tongue.gif" title=":P" /></span>
</p>

<p>
	 
</p>

<p>
	<span>First thing that is needed is a "New Player" Common Event. I have one is all my games to set the player variables on a new player joining the game, but people might do something different in there games, but this how I do it:</span>
</p>

<ul><li>
		<span>Creating a player variable or switch.</span>
	</li>
	<li>
		<span>Create a common event "New Player", trigger = autorun, condition = run if New Player Variable is equal to 0</span>
	</li>
	<li>
		<span>In common event set variable player Hunger and Thirst to 100</span>
	</li>
	<li>
		End event with set variable New Player to 1
	</li>
</ul><p>
	 
</p>

<p>
	<span>Lets move on with the Hunger and Thirst Ticks</span>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			The ticks are the speed in which players hunger and thirst is reduced and the amount.
		</p>

		<p>
			 
		</p>

		<p>
			I have it set up like this:
		</p>

		<ul><li>
				Hunger Tick 30000ms (30 seconds)
			</li>
			<li>
				Subtract 1 from Player Hunger Variable
			</li>
			<li>
				Thirst Tick 30000ms (30 seconds)
			</li>
			<li>
				Subtract 2 from Player Thirst Variable
			</li>
		</ul><p>
			 
		</p>

		<p>
			These variables can be changed to suit your game. I believe if my math is correct a player will die in 50 minutes if he does not eat, half that for thirst.
		</p>

		<p>
			 
		</p>

		<p>
			Hunger Tick:
		</p>

		<p>
			<img alt="80a762d30edbc3ee86f0344b12c147fd.jpg" class="ipsImage" height="656" src="https://www.ascensiongamedev.com/resources/filehost/80a762d30edbc3ee86f0344b12c147fd.jpg" width="848" /></p>

		<p>
			 
		</p>

		<p>
			Thirst Tick:
		</p>

		<p>
			<img alt="1ae726e090b76ac8d8b55f96076cf1a9.jpg" class="ipsImage" height="656" src="https://www.ascensiongamedev.com/resources/filehost/1ae726e090b76ac8d8b55f96076cf1a9.jpg" width="848" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Now the States
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Hunger State:
		</p>

		<p>
			<img alt="8300ac43f910212377b29477a8ea9470.jpg" class="ipsImage" height="656" src="https://www.ascensiongamedev.com/resources/filehost/8300ac43f910212377b29477a8ea9470.jpg" width="847" /></p>

		<p>
			 
		</p>

		<p>
			Thirst State:
		</p>

		<p>
			<img alt="bc4cb09e812f82643475fcc4d06d50e0.jpg" class="ipsImage" height="658" src="https://www.ascensiongamedev.com/resources/filehost/bc4cb09e812f82643475fcc4d06d50e0.jpg" width="848" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Time to do the warnings.
</p>

<p>
	 
</p>

<p>
	Hunger Warnings
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Each page of the "Warnings" has a condition to run. Each page needs to only run when the hunger state is equal to the state the player is on.
		</p>

		<p>
			 
		</p>

		<p>
			This is the condition to run page 1:
		</p>

		<p>
			<img alt="fbbefb560fd0de536fb54273846e3e1b.jpg" class="ipsImage" height="298" src="https://www.ascensiongamedev.com/resources/filehost/fbbefb560fd0de536fb54273846e3e1b.jpg" width="572" /></p>

		<p>
			 
		</p>

		<p>
			So page 2 will only run is Hunger State is equal to 2
		</p>

		<p>
			and page 3 will only run is Hunger State is equal to 3
		</p>

		<p>
			 
		</p>

		<p>
			Here are the pages:
		</p>

		<p>
			<img alt="ad7b0e24ccee3cc6e7ba686d9bcd3a28.jpg" class="ipsImage" height="658" src="https://www.ascensiongamedev.com/resources/filehost/ad7b0e24ccee3cc6e7ba686d9bcd3a28.jpg" width="851" /></p>

		<p>
			 
		</p>

		<p>
			<img alt="75452c5713781f1ec14af65008fb35bf.jpg" class="ipsImage" height="658" src="https://www.ascensiongamedev.com/resources/filehost/75452c5713781f1ec14af65008fb35bf.jpg" width="849" /></p>

		<p>
			 
		</p>

		<p>
			Page 3 does most the work as this is when the player stops 2 times then dies if he doesn't find food.
		</p>

		<p>
			Also here is where you set where the player warps to when he dies.
		</p>

		<p>
			<img alt="f54881bbc44c0deb3808a1773a3c73a3.jpg" class="ipsImage" height="659" src="https://www.ascensiongamedev.com/resources/filehost/f54881bbc44c0deb3808a1773a3c73a3.jpg" width="848" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Thirst Warnings
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Exactly the same as Hunger warning just changed to suit Thirst. Will run through again:
		</p>

		<p>
			 
		</p>

		<p>
			Each page of the "Warnings" has a condition to run. Each page needs to only run when the thirst state is equal to the state the player is on.
		</p>

		<p>
			 
		</p>

		<p>
			This is the condition to run page 1:
		</p>

		<p>
			<img alt="fa6071718b070140fd256db45d162f7b.jpg" class="ipsImage" height="296" src="https://www.ascensiongamedev.com/resources/filehost/fa6071718b070140fd256db45d162f7b.jpg" width="571" /></p>

		<p>
			 
		</p>

		<p>
			So page 2 will only run is Thirst State is equal to 2
		</p>

		<p>
			and page 3 will only run is Thirst State is equal to 3
		</p>

		<p>
			 
		</p>

		<p>
			Here are the pages:
		</p>

		<p>
			<img alt="5b01cc2343fd990130474af8cd2f2402.jpg" class="ipsImage" height="656" src="https://www.ascensiongamedev.com/resources/filehost/5b01cc2343fd990130474af8cd2f2402.jpg" width="845" /></p>

		<p>
			 
		</p>

		<p>
			<img alt="03e32eda7c88fa12a4a45d0202916208.jpg" class="ipsImage" height="654" src="https://www.ascensiongamedev.com/resources/filehost/03e32eda7c88fa12a4a45d0202916208.jpg" width="848" /></p>

		<p>
			 
		</p>

		<p>
			Page 3 does most the work as this is when the player stops 2 times then dies if he doesn't find water.
		</p>

		<p>
			Also here is where you set where the player warps to when he dies.
		</p>

		<p>
			<img alt="434668ea63c839a6fdf1071e59eecdec.jpg" class="ipsImage" height="656" src="https://www.ascensiongamedev.com/resources/filehost/434668ea63c839a6fdf1071e59eecdec.jpg" width="848" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	That is the main bulk of the system. Now we just have to add food and water for the players to consume to recover stats.
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Eat food to recover. This is +10 Hunger, also add +25, +50, +75, +100 (or change to what ever you would like)
		</p>

		<p>
			<img alt="38ebc2ca3bd0dd09e5ce904bb498d9fe.jpg" class="ipsImage" height="658" src="https://www.ascensiongamedev.com/resources/filehost/38ebc2ca3bd0dd09e5ce904bb498d9fe.jpg" width="847" /></p>

		<p>
			 
		</p>

		<p>
			Drink to recover. This is +10 Thirst, also add +25, +50, +75, +100 (or change to what ever you would like)
		</p>

		<p>
			<img alt="71cf0a76467e8cd059f7cc1686503bb5.jpg" class="ipsImage" height="658" src="https://www.ascensiongamedev.com/resources/filehost/71cf0a76467e8cd059f7cc1686503bb5.jpg" width="847" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Now make an item and change its type to "Event"
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			Food a player can consume, some "Cheese Crisps", restores +10 Hunger.
		</p>

		<p>
			Notice the Event we point to is the common event +10 Hunger.
		</p>

		<p>
			<img alt="4082637b7ed67d923dedfd11e9c10966.jpg" class="ipsImage" height="355" src="https://www.ascensiongamedev.com/resources/filehost/4082637b7ed67d923dedfd11e9c10966.jpg" width="454" /></p>

		<p>
			 
		</p>

		<p>
			Drink a player can consume, some "Grape Pop", restores +10 Thirst.
		</p>

		<p>
			<img alt="b9052bc62e0abba712d74b05d9d08863.jpg" class="ipsImage" height="314" src="https://www.ascensiongamedev.com/resources/filehost/b9052bc62e0abba712d74b05d9d08863.jpg" width="449" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Consuming the items will show in chat
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="83500deefde390df63eb6a801234cb68.jpg" class="ipsImage" height="42" src="https://www.ascensiongamedev.com/resources/filehost/83500deefde390df63eb6a801234cb68.jpg" width="282" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	Complete!
</p>

<p>
	 
</p>

<p>
	You should now have a fully working hunger and thirst system. This can be changed easily be changed to make a stamina system or something along those lines.
</p>

<p>
	 
</p>

<p>
	Enjoy <span><img alt=":)" data-emoticon="" height="20" src="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile.png" srcset="https://www.ascensiongamedev.com/uploads/emoticons/12_slight_smile@2x.png 2x" title=":)" width="20" /></span>
</p>
]]></description><guid isPermaLink="false">3827</guid><pubDate>Wed, 10 Apr 2019 11:10:58 +0000</pubDate></item><item><title>[Tutorial] Faction System</title><link>https://www.ascensiongamedev.com/topic/4752-tutorial-faction-system/</link><description><![CDATA[<p style="text-align:center;">
	<strong><span style="font-size:24px;"><span style="color:#e67e22;">Hi Ascension Game Dev !</span></span></strong>
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<strong><span style="color:#3498db;">I'm explain my faction system and made a tutorial for forum</span>.</strong>
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<span style="color:#3498db;"><strong>Firstly,</strong></span>
</p>

<p style="text-align:center;">
	<span style="color:#3498db;"><strong>Create to Variable for Factions</strong></span>
</p>

<p style="text-align:center;">
	<img alt="4fae1f803336c3c6cec21e16cac6b4c8.png" class="ipsImage" data-ratio="61.40" height="307" width="500" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/4fae1f803336c3c6cec21e16cac6b4c8.png" /><img alt="5edf4c889f8424cf43d57527b7848c77.png" class="ipsImage" data-ratio="51.40" height="257" width="500" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/5edf4c889f8424cf43d57527b7848c77.png" /></p>

<p style="text-align:center;">
	<span style="font-size:18px;"><strong><span style="color:#3498db;">We need create an Event NPC for Faction Choose (Apply Conditions)</span></strong></span>
</p>

<p style="text-align:center;">
	<img alt="45b7a766c3ae9b832601a2dcd143b14b.png" class="ipsImage" data-ratio="64.75" height="518" width="800" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/45b7a766c3ae9b832601a2dcd143b14b.png" /></p>

<p style="text-align:center;">
	<span style="color:#3498db;"><span style="font-size:18px;"><strong>Create Common Event for Player Labels</strong></span></span>
</p>

<p style="text-align:center;">
	<img alt="f6ea0dcdeadc3f3e5d280d82e6d3539b.png" class="ipsImage" data-ratio="70.65" height="573" width="811" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/f6ea0dcdeadc3f3e5d280d82e6d3539b.png" /></p>

<p style="text-align:center;">
	<u><strong><span style="color:#e74c3c;"><span style="font-size:18px;">PUNISHMENT SYSTEM AND KILL REWARDS</span></span></strong></u>
</p>

<p style="text-align:center;">
	<u><strong><span style="color:#e74c3c;"><span style="font-size:18px;">Create two Global Variable</span></span></strong></u>
</p>

<p style="text-align:center;">
	<img alt="ae55cab8a4d141d86e68ee4623cc3fc1.png" class="ipsImage" data-ratio="107.92" height="545" width="505" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/ae55cab8a4d141d86e68ee4623cc3fc1.png" /><img alt="fc1905919a99ef74d08ef70f1f91d9c2.png" class="ipsImage" data-ratio="107.28" height="545" width="508" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/fc1905919a99ef74d08ef70f1f91d9c2.png" /></p>

<p style="text-align:center;">
	<u><strong><span style="color:#e74c3c;"><span style="font-size:18px;">And Create this Player Variables</span></span></strong></u>
</p>

<p style="text-align:center;">
	<img alt="796aa94982cdaee52936d663f9cb2d3f.png" class="ipsImage" data-ratio="99.80" height="506" width="507" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/796aa94982cdaee52936d663f9cb2d3f.png" /></p>

<p style="text-align:center;">
	<u><strong><span style="color:#e74c3c;"><span style="font-size:18px;">And Create this Common Events</span></span></strong></u>
</p>

<p style="text-align:center;">
	<img alt="7a03e789cd24e9538b7c6c1539c43641.png" class="ipsImage" data-ratio="69.98" height="571" width="816" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/7a03e789cd24e9538b7c6c1539c43641.png" /></p>

<p style="text-align:center;">
	<img alt="19d3cb6bd93fd3c77a1379d5d8732a9f.png" class="ipsImage" data-ratio="74.19" height="615" width="829" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/19d3cb6bd93fd3c77a1379d5d8732a9f.png" /></p>

<p style="text-align:center;">
	<img alt="274d7f26e55dc7cd0344a00c4ab9af06.png" class="ipsImage" data-ratio="70.30" height="580" width="825" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/274d7f26e55dc7cd0344a00c4ab9af06.png" /></p>

<p style="text-align:center;">
	<img alt="69fe608676a7185601d62042c548fdc9.png" class="ipsImage" data-ratio="70.18" height="579" width="825" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/69fe608676a7185601d62042c548fdc9.png" /></p>

<p style="text-align:center;">
	<span style="color:#e74c3c;">Apply this steps for Demon !</span>
</p>

<p style="text-align:center;">
	<font color="#e74c3c"><b>My Reward is "Angel Medal" and "Demon Medal" for PvP Shop</b></font>
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<font color="#e74c3c"><b>My Punishment is 1 Day wait in Jail when an Angel kill an Angel or a Demon kill a Demon (so i can't PvP On/Off and i'm thinking this system)</b></font>
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<font color="#e74c3c"><b>(Important) You should add an Event NPC for leave from Jail map.</b></font>
</p>

<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<span style="color:#999999;"><span style="font-size:18px;"><strong>Create Factions in your games !</strong></span></span>
</p>]]></description><guid isPermaLink="false">4752</guid><pubDate>Thu, 05 Mar 2020 12:23:11 +0000</pubDate></item><item><title><![CDATA[Fade In And Fade Out (Black & White)]]></title><link>https://www.ascensiongamedev.com/topic/3984-fade-in-and-fade-out-black-white/</link><description><![CDATA[<p>
	I'm going to share a simple method for creating fade-in and fade-out effect. We will be using images at different opacity for this effect.<br /><br />
	The images can be downloaded here: <a href="https://www.ascensiongamedev.com/resources/filehost/27848cc2d688cff08a6a5a175cbe7ead.zip" rel="">https://www.ascensiongamedev.com/resources/filehost/27848cc2d688cff08a6a5a175cbe7ead.zip</a><br /><br />
	First create 4 switches: FadeToBlack, FadeFromBlack, FadeToWhite, FadeFromWhite<br /><br />
	Then create 4 Common Events: FadeToBlack, FadeFromBlack, FadeToWhite, FadeFromWhite<br /><br />
	The Common Event for FadeToBlack will look something like this: (Using pictures: black25.png etc &amp; "Stretch To Fit")<br /><br /><img alt="682f1df4a0470aaeec953f445c6737b2.png" class="ipsImage" height="652" src="https://www.ascensiongamedev.com/resources/filehost/682f1df4a0470aaeec953f445c6737b2.png" width="840" /><br /><br /><img alt="6e5fbdfc977dc4d83c560077b8ff8093.png" class="ipsImage" height="653" src="https://www.ascensiongamedev.com/resources/filehost/6e5fbdfc977dc4d83c560077b8ff8093.png" width="841" /><br /><br />
	The FadeFromBlack common event will look like this:<br /><br /><img alt="56816ce4e2c652bf3e81bb37fb42420e.png" class="ipsImage" height="657" src="https://www.ascensiongamedev.com/resources/filehost/56816ce4e2c652bf3e81bb37fb42420e.png" width="842" /><br /><br />
	Instead of going from 25% opacity to 100%, we will be going from 100% to 25%.<br /><br /><img alt="89d24d319b7a05ecd4b3573c888219bf.png" class="ipsImage" height="653" src="https://www.ascensiongamedev.com/resources/filehost/89d24d319b7a05ecd4b3573c888219bf.png" width="844" /><br /><br />
	For FadeToWhite &amp; FadeFromWhite simply repeat the process using the images marked "white25.png" and so on.<br /><br />
	Lastly, you can use this system in an event as such. Be sure to have a wait time that is equal to or greater than the fade-out time.<br /><br /><img alt="6dbd2cd5fd5adbbfd6bf1b3cef1b5847.png" class="ipsImage" height="652" src="https://www.ascensiongamedev.com/resources/filehost/6dbd2cd5fd5adbbfd6bf1b3cef1b5847.png" width="840" /></p>]]></description><guid isPermaLink="false">3984</guid><pubDate>Sat, 22 Jun 2019 21:04:06 +0000</pubDate></item><item><title>fatal error kill the server</title><link>https://www.ascensiongamedev.com/topic/5786-fatal-error-kill-the-server/</link><description><![CDATA[<p>
	Hello, good morning, I wanted to tell us to help me..<br />
	These events make that when you have such equipment equipped it gives you a skill and when you unequip it, it takes it out...<br />
	The problem is that since I implemented it the server has been horrible and users complain a lot about lag.<br />
	I paid a server in amazon thinking it was my network problem...but the problem continued.....<br />
	Now delete the 18 that I had created and it works wonderfully..<br />
	Could you tell me how to solve it from the code?<br />
	Or give me some kind of solution to not miss these events?<br />
	It is as if the server would be thinking all the time about whether or not you have the item equipped and it gives you or takes away the ability.<br />
	Thank you very much in advance and these days you already have a very complete game to play which we have been creating with a group for 2 years now and it is finished.<br /><br /><img alt="dc9415ed09f5700db42987609da4936b.jpg" class="ipsImage" data-ratio="75.00" height="750" width="1000" src="https://s3.us-east-2.amazonaws.com/ascensiongamedev/filehost/dc9415ed09f5700db42987609da4936b.jpg" /></p>]]></description><guid isPermaLink="false">5786</guid><pubDate>Fri, 19 Feb 2021 13:43:41 +0000</pubDate></item><item><title>'Private' Dungeon (Lock a map when people are in it)</title><link>https://www.ascensiongamedev.com/topic/5354-private-dungeon-lock-a-map-when-people-are-in-it/</link><description><![CDATA[<p>
	I've seen a couple of people asking about this, and since there isn't going to be an instancing system in Intersect any time soon I decided to show you guys how to lock a map when there are people in it already. 
</p>

<p>
	 
</p>

<p>
	First you want to think about what the system needs to do: 
</p>

<p>
	 
</p>

<p>
	1. Lock a map when a person is in it
</p>

<p>
	2. Open up the map when a person leaves
</p>

<p>
	 
</p>

<p>
	We're working with global variables here because the map needs to be closed for everyone. 
</p>

<p>
	 
</p>

<p>
	So the base system is simple: 
</p>

<p>
	 
</p>

<p>
	In our example we have a door leading into a private dungeon and the dungeon has an exit door for the player to leave through.
</p>

<p>
	 
</p>

<p>
	<strong>Variables needed: </strong>
</p>

<p>
	Global Boolean Variable: RoomLocked
</p>

<p>
	Player Boolean Variable: IsInRoom
</p>

<p>
	 
</p>

<p>
	<strong>Event to enter: </strong>
</p>

<p>
	If RoomLocked = 0
</p>

<p>
	Set IsInRoom = 1
</p>

<p>
	Warp Player to map
</p>

<p>
	Else
</p>

<p>
	Text: There is someone in the room. 
</p>

<p>
	 
</p>

<p>
	<strong>Event to leave: </strong>
</p>

<p>
	Set RoomLocked = 0
</p>

<p>
	Set IsInRoom = 0
</p>

<p>
	Warp player
</p>

<p>
	 
</p>

<p>
	<b>Add to Player Login Event:</b>
</p>

<p>
	If IsInRoom = 1
</p>

<p>
	Warp Player
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Yes, I can already hear you moaning and whining: <em>What about when players log off, or die? What then huh? Your system will break. </em>
</p>

<p>
	I have only one thing to say about that: Fuck you. 
</p>

<p>
	 
</p>

<p>
	There's actually a super easy trickster way that requires just a little bit of 'out of the box' thinking and I'll tell you for 5m OSRS GP. So please send me after you read this:
</p>

<p>
	 
</p>

<p>
	<strong>Autorun Event in the Map:</strong>
</p>

<p>
	Run condition: Roomlocked = 0
</p>

<p>
	Set RoomLocked = 1
</p>

<p>
	 
</p>

<p>
	The trick is that this event will only run when people are in the map. A map event won't be loaded otherwise. It will also only run if something sets RoomLocked = 0. So it won't be constantly running and putting strain on the server.
</p>

<p>
	 
</p>

<p>
	Now, we have to change our first event slightly to make use of this system: 
</p>

<p>
	 
</p>

<p>
	<strong>Event to enter: </strong>
</p>

<p>
	Set RoomLocked = 0
</p>

<p>
	Show chatbox text: Checking the Room
</p>

<p>
	Wait 3000ms (This will give more than enough time for players inside the room to trigger the map event and set the RoomLocked = 1.)
</p>

<p>
	If RoomLocked = 0
</p>

<p>
	Warp Player to map
</p>

<p>
	Else
</p>

<p>
	Text: There is someone in the room. 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Enjoy, and remember to give credit and OSRS GP!
</p>

<p>
	 
</p>

<p>
	<strong>NOTE: </strong>I wrote this off the top of my head, so please test or let me know about any bugs.
</p>

<p>
	 
</p>

<p>
	 
</p>]]></description><guid isPermaLink="false">5354</guid><pubDate>Thu, 09 Jul 2020 16:06:30 +0000</pubDate></item><item><title>[Tutorial] Using string variables</title><link>https://www.ascensiongamedev.com/topic/4774-tutorial-using-string-variables/</link><description><![CDATA[<p>
	Gonna do an attempt at showing you how to use string variables for a basic eventsystem which can easily be copy/pasted instead of having to make and edit a bunch of variables and events each time.
</p>

<p>
	 
</p>

<p>
	Here's a video of the result:
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<div class="ipsEmbeddedVideo">
			<div>
				<iframe allowfullscreen="" frameborder="0" height="270" width="480" data-embed-src="https://www.youtube.com/embed/1rLhRjOSryM?start=151&amp;feature=oembed"></iframe>
			</div>
		</div>

		<p>
			 
		</p>
	</div>
</div>

<p>
	 
</p>

<p>
	1. Create a <strong>global variable</strong>, make sure it's a <strong>string </strong>and <strong>empty</strong>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="TT4rnYw.png" class="ipsImage" data-ratio="70.74" height="544" width="769" src="https://i.imgur.com/TT4rnYw.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	2. Create a <strong>map event</strong>, <strong>rename</strong> it (name must be unique per event)
</p>

<p>
	3. <strong>Assign an animation or sprite</strong> to it
</p>

<p>
	4. Add an event that <strong>set</strong>s the <strong>global variable</strong> (set in step 1) to 
</p>

<pre>
<code>\gv{nameofglobalvariable}\evtparam{evtName}-</code></pre>

<p>
	(This will change the global variable to the current content of the variable + "1-", basically adding the name of the event to the current string)
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="gJ4Mgfc.png" class="ipsImage" data-ratio="76.50" height="750" width="980" src="https://i.imgur.com/gJ4Mgfc.png" /></p>
	</div>
</div>

<p>
	5. Click <strong>Spawn/Execution Conditions</strong>
</p>

<p>
	6. Click <strong>Add List &gt; Add Condition</strong>
</p>

<p>
	7. Check the <strong>global variable</strong> set in step 1, check if it  <strong>doesn't contain (Negated)</strong>
</p>

<pre>
<code>\evtparam{evtName}-</code></pre>

<p>
	So anytime the global variable <strong>doesn't contain</strong> the name of the event, this page will trigger.
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="QUqaTgR.png" class="ipsImage" data-ratio="72.67" height="617" width="849" src="https://i.imgur.com/QUqaTgR.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	8. <strong>Copy/paste this page, change the sprite or animation and uncheck the negated condition</strong>
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="MOJf3pN.png" class="ipsImage" data-ratio="63.07" height="630" width="1000" src="https://i.imgur.com/MOJf3pN.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	9. Change the event to <strong>set </strong>the <strong>global variable</strong> (set in step 1) to <strong>Find</strong>
</p>

<pre>
<code>\evtparam{evtName}-</code></pre>

<p>
	and <strong>Replace </strong>it with an empty string.
</p>

<p>
	 
</p>

<p>
	(this will remove the event name from the global variable)
</p>

<p>
	 
</p>

<div class="ipsSpoiler" data-ipsspoiler="">
	<div class="ipsSpoiler_header">
		<span>Spoiler</span>
	</div>

	<div class="ipsSpoiler_contents">
		<p>
			<img alt="cn80Z13.png" class="ipsImage" data-ratio="74.18" height="741" width="1000" src="https://i.imgur.com/cn80Z13.png" /></p>
	</div>
</div>

<p>
	 
</p>

<p>
	10. Now you can copy/paste this event anywhere in your game, the only thing you need to do is <strong>change the event name to a unique name</strong>
</p>

<p>
	 
</p>

<p>
	<strong>full video of this tutorial:</strong>
</p>

<p>
	 
</p>

<div class="ipsEmbeddedVideo">
	<div>
		<iframe allowfullscreen="" frameborder="0" height="270" width="480" data-embed-src="https://www.youtube.com/embed/1rLhRjOSryM?feature=oembed"></iframe>
	</div>
</div>]]></description><guid isPermaLink="false">4774</guid><pubDate>Wed, 11 Mar 2020 13:51:30 +0000</pubDate></item></channel></rss>
