<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
	<channel>
		<title>BlitzBasic Portal Worklogs - BlitzSmashMax</title>
		<link>https://www.blitzforum.de/worklogs/275/</link>
		<description>Worklog von Silver_Knee</description>
		<language>de</language>
		<managingEditor>mail@blitzforum.de</managingEditor>
		<webMaster>mail@blitzforum.de</webMaster>
		<pubDate>Wed, 10 Sep 2014 23:40:04 +0200</pubDate>
		<lastBuildDate>Wed, 10 Sep 2014 23:40:04 +0200</lastBuildDate>

		<item>
			<title>SVN</title>
			<link>https://www.blitzforum.de/worklogs/275/#3760</link>
			<guid>https://www.blitzforum.de/worklogs/275/#3760</guid>
			<author>Silver_Knee</author>
			<description>Da das Projekt jetzt Open Source ist, habe ich auf &lt;a href=&quot;https://sourceforge.net/projects/blitzsmashmax/&quot; target=&quot;_blank&quot;&gt;SourceForge&lt;/a&gt; ein SVN-Repository angelegt. &lt;br /&gt;&lt;br /&gt;Bitte steinigt mich nicht sofort aufgrund des hoch geladenen Codes. Ich habe an vielen Stellen der Einfachheit halber die prozedurale Syntax von BlitzBasic kopiert und in BlitzMax eingef&amp;uuml;gt. Au&amp;szlig;erdem hab ich die Codestruktur von 2009 erst Einmal so belassen. Ziel f&amp;uuml;r die N&amp;auml;chsten Tage ist es, die Levels und Charaktere r&amp;uuml;ber zu ziehen. Danach ist Refactoring angesagt. Eine Ordnerstruktur w&amp;uuml;rde dem Projekt auch ganz gut tun.</description>
			<pubDate>Wed, 10 Sep 2014 23:40:04 +0200</pubDate>
		</item>

		<item>
			<title>Neuauflage</title>
			<link>https://www.blitzforum.de/worklogs/275/#3759</link>
			<guid>https://www.blitzforum.de/worklogs/275/#3759</guid>
			<author>Silver_Knee</author>
			<description>Ich habe gestern Abend angefangen den Code des alten BlitzSmash in Richtung BlitzMax zu konvertierten. Die ganzen Tricks mit Label2 werden dann der Vergangenheit angeh&amp;ouml;ren und es wird alles mit Vererbung gel&amp;ouml;st werden k&amp;ouml;nnen. &lt;br /&gt;Dieses mal plane ich den Code komplett Open Source zu stellen und auf einem SVN zu managen. &lt;br /&gt;Durch die lua-Bibliothek in bmax ist es vielleicht auch einfacher gescripte und nicht nur gecodete Charaktere einzubauen.  W&amp;auml;re cool wenn sich dann einige Coder finden w&amp;uuml;rden, die Szenen oder Charaktere aus ihren (Blitz-)Spielen einbauen w&amp;uuml;rden.   </description>
			<pubDate>Wed, 10 Sep 2014 14:05:42 +0200</pubDate>
		</item>

		<item>
			<title>Der Kampf der Functions</title>
			<link>https://www.blitzforum.de/worklogs/275/#1858</link>
			<guid>https://www.blitzforum.de/worklogs/275/#1858</guid>
			<author>Silver_Knee</author>
			<description>Momentanes Ziel ist es, mit seinem Gamemode auf verschiedene Ereignisse zu reagieren. So zum Beispiel auf den Tod einer Figur. Problem ist dann allerdings, dass aus der Funktion ins &amp;lt;main program&amp;gt; gesprungen werden m&amp;uuml;sste. Das geht auch soweit nur dass dann die Variable &amp;lt;main program&amp;gt;\a nicht mehr die gleiche ist wie Function\a. Das geht sogar so weit dass variablen die ich bei dem zugesprungenen Pointer abgefragt habe, weder die Werte aus &amp;lt;main program&amp;gt; noch aus der Funktion haben. Als ich versuchte das globale blitzarray player[4] mit 0 abzufragen kam bereits &amp;quot;array index out of bounds&amp;quot;. Das ganze scheint also praktisch nicht m&amp;ouml;glich zu sein. Nun bleibt die Frage ob ich ein kleines Event system schreibe oder einfach soetwas wie eine Todesanimation (&amp;auml;hnlich wie im original).&lt;br /&gt;&lt;br /&gt;Ideen, Kritik oder gar fertige L&amp;ouml;sung nehme ich nat&amp;uuml;rlich gerne an.&lt;br /&gt;&lt;br /&gt;============================================&lt;br /&gt;&lt;br /&gt;Au&amp;szlig;erdem gibt es Codetechnisch eine kleine Erleichterung:&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox0&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('0')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox0&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('0')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox0&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('0');&quot;&gt;Function CreatePlayer.player&amp;#40;c.character&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Local p.player&lt;br /&gt;&amp;nbsp; &amp;nbsp;p=New player&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;p\phx=New phxEntity&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;p\phx\entModel=CreatePivot&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;als Kollisions-Entity&lt;br /&gt;&amp;nbsp; &amp;nbsp;p\c=c&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;Dem Spieler den Charakter zuweisen&lt;br /&gt;&amp;nbsp; &amp;nbsp;EntityType p\phx\entModel,COLLISION_PLAYER&lt;br /&gt;&amp;nbsp; &amp;nbsp;EntityPickMode p\phx\entModel,1&amp;nbsp; &amp;nbsp;;&amp;#125; Wichtig f&amp;uuml;r Attacken.&lt;br /&gt;&amp;nbsp; &amp;nbsp;NameEntity p\phx\entModel,Handle&amp;#40;p&amp;#41;&amp;nbsp; &amp;nbsp;;&amp;#125;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Return p&lt;br /&gt;End Function&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Fasst also einige Zeilen zusammen und schrumpft den Standard Inittirungscode eines Spielers auf&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox1&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('1')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox1&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('1')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox1&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('1');&quot;&gt;&amp;nbsp; &amp;nbsp;p=CreatePlayer&amp;#40;c&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;EntityRadius p\phx\entModel,RADIUS&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;wer also gerade einen Charakter erstellt und sich den Kopf &amp;uuml;ber diese Zeilen zerbricht, dem sei Hiermit geholfen.&lt;br /&gt;&lt;br /&gt;============================================&lt;br /&gt;&lt;br /&gt;Das neue Gamemode-Konzept ist auch angefangen. Das hei&amp;szlig;t das Spiel kann dann auf verschiedene Aktionen der Spieler reagieren und evtl Einschreiten. Dazu gibt es 2 neue Funktionen:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox2&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('2')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox2&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('2')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox2&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('2');&quot;&gt;Function DisablePlayer&amp;#40;p.player&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;p\devInput=-Abs&amp;#40;p\devInput&amp;#41;&amp;nbsp; &amp;nbsp;;Das Eingabeger&amp;auml;t wird gespeichert aber nicht mehr von der Abfrage erkannt&lt;br /&gt;&amp;nbsp; &amp;nbsp;HideEntity p\phx\entModel&amp;nbsp; &amp;nbsp;;Entfernt Kollision und Sichtbarkeit &lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Function EnablePlayer&amp;#40;p.player&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;p\devInput=Abs&amp;#40;p\devInput&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;ShowEntity p\phx\entModel&lt;br /&gt;End Function&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Diese Erm&amp;ouml;glichen es Spieler (zeitweise) aus dem Spiel zu entfernen. Denkbar w&amp;auml;re eine Art V&amp;ouml;lkerball mit Wiedereinstieg oder eben das simpelste, was ich dann als Beispiel-Gamemode raus bringen werde Last Man Standing. &lt;br /&gt;Hierzu brauch ein Gamemode nat&amp;uuml;rlich verschiedene Usereingaben, wie zB eine Zeit oder Leben. Dazu kann der Gamemode-Coder einem String-Field diese Eingaben in der Form &amp;quot;AnzeigeText1|Anzeigetext2...&amp;quot; angeben. Ein GUI soll diese dann alle beim User abfragen, momentan macht das noch Print und Input.&lt;br /&gt;Schlie&amp;szlig;lich muss der Gamemode noch angeben k&amp;ouml;nnen wer Sieger und verlierer ist.&lt;br /&gt;&lt;br /&gt;Falls jemand dazu ne Idee hat w&amp;auml;re ich ihm sehr dankbar, denn au&amp;szlig;er 4 Variabeln zu nutzen die dann im ganzen Spiel mitgeschleift werden f&amp;auml;nde ich nur dann sinnvoll wenn man den Gamemode dazu verpflichten w&amp;uuml;rde diese Dauerhaft irgendwie darzustellen oder gar dass diese von der Engine immer angezeigt werden. Anregungen hierzu auch in die Comments oder in den Threat oder als PM an mich.&lt;br /&gt;&lt;br /&gt;============================================&lt;br /&gt;&lt;br /&gt;Viel Spa&amp;szlig; noch am Coden und Ideen haben.</description>
			<pubDate>Tue, 13 Oct 2009 22:18:24 +0200</pubDate>
		</item>

		<item>
			<title>3. Release</title>
			<link>https://www.blitzforum.de/worklogs/275/#1795</link>
			<guid>https://www.blitzforum.de/worklogs/275/#1795</guid>
			<author>Silver_Knee</author>
			<description>So, auch wenn DAK noch nicht auf die allerletzte PM geantwortet hat gibt's einen Release.&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;https://www.blitzforum.de/upload/file.php?id=6935&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Die Animation hinkt noch ein Bissl und es fehlen eindeutig sounds und effekte.&lt;br /&gt;&lt;br /&gt;die dust.bb steht zwar schon aber die engine dahinter noch nicht ganz..&lt;br /&gt;&lt;br /&gt;Wer lust hat und nicht so mit den gosubs durchsteigt kann auch ein Men&amp;uuml; proggen. Ausgew&amp;auml;hlt werden muss nur das was schon per input abgefragt wird. Zur anzeige steht Graphics3D und die Draw3D zur Verf&amp;uuml;gung.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://www.blitzforum.de/upload/file.php?id=6936&quot; target=&quot;_blank&quot;&gt;Download incl Sources&lt;/a&gt; &lt;b&gt;Macht euch eure Codes nicht kaputt!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;@DAK ich hab deinen Code etwas angepasst.</description>
			<pubDate>Fri, 25 Sep 2009 23:38:55 +0200</pubDate>
		</item>

		<item>
			<title>Readme - Coder</title>
			<link>https://www.blitzforum.de/worklogs/275/#1781</link>
			<guid>https://www.blitzforum.de/worklogs/275/#1781</guid>
			<author>Silver_Knee</author>
			<description>So zur besseren Erkl&amp;auml;rung gibts heute ein Readme f&amp;uuml;r Coder. Es ist auch in der n&amp;auml;chsten upload-Version enthalten.&lt;br /&gt;&lt;br /&gt;Enthalten sind teilweise Codeschnippsel, die einfach kopiert werden k&amp;ouml;nnen, damit jeder mal versuchen kann einen Player oder ein Level zu gestalten.&lt;br /&gt;&lt;br /&gt;Viel Spa&amp;szlig; damit =)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox3&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('3')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox3&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('3')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox3&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('3');&quot;&gt;==============&lt;br /&gt;&amp;nbsp; BlitzSmash&lt;br /&gt;==============&lt;br /&gt;&lt;br /&gt;1. Grundverhalten&lt;br /&gt;=================&lt;br /&gt;W&amp;uuml;tet nicht wild in den einzelnen Dateien herum, jeder Datei ist eine bestimmte Funktion zugeteilt&amp;#58;&lt;br /&gt;&lt;br /&gt;Grundlegender Spielablauf&lt;br /&gt;main.bb&lt;br /&gt;titlescreen.bb&lt;br /&gt;&lt;br /&gt;Types&amp;#58;&lt;br /&gt;attack.bb&lt;br /&gt;dust.bb&lt;br /&gt;level.bb&lt;br /&gt;player.bb&lt;br /&gt;&lt;br /&gt;Engine&amp;#58;&lt;br /&gt;camera.bb&lt;br /&gt;Draw3D.bb by hectic&lt;br /&gt;physics.bb&lt;br /&gt;&lt;br /&gt;Data &amp;#40;selbstgemachte Levels, Spieler etc&amp;#41;&amp;#58;&lt;br /&gt;attackdata.bb&lt;br /&gt;leveldata.bb&lt;br /&gt;playerdata.bb&lt;br /&gt;&lt;br /&gt;Alle Dateien sind im &amp;lt;main program&amp;gt; includet und k&amp;ouml;nnen Const und Function enthalten. Man sollte es m&amp;ouml;glichst vermeiden Lokale oder Globale Variablen zu definieren, sondern sollte mittels Const auf die bnkInfo des Types, den man bearbeitet zugreifen. Die Banks m&amp;ouml;glichst sp&amp;auml;t erstellen, sodass man nicht eine 200er Bank im Spiel hat, die nicht genutzt wird.&lt;br /&gt;&lt;br /&gt;2. Label2 und GoSub2&lt;br /&gt;====================&lt;br /&gt;&lt;br /&gt;Die Funktionszeiger.dll von Noobody macht es m&amp;ouml;glich Labels in Variablen zu speichern.&lt;br /&gt;Einen Label definiert man wie folgt&amp;#58;&lt;br /&gt;&lt;br /&gt;tmp=Label2&amp;#40;&amp;#41;&lt;br /&gt;If proginit&lt;br /&gt;&amp;nbsp; lblVariable=tmp&lt;br /&gt;Else&lt;br /&gt;&amp;nbsp; &amp;lt;CODE&amp;gt;&lt;br /&gt;&amp;nbsp; Return&lt;br /&gt;EndIf&lt;br /&gt;&lt;br /&gt;Die Variable proginit ist vor den Includes 1 und danach 0. Das f&amp;uuml;hrt dazu, dass die Variable lblVariable beim Include gesetzt wird aber &amp;lt;CODE&amp;gt; nicht ausgef&amp;uuml;hrt wird. Wird sp&amp;auml;ter im Code folgendes ausgef&amp;uuml;hrt&amp;#58;&lt;br /&gt;&lt;br /&gt;GoSub2 lblVariable&lt;br /&gt;&lt;br /&gt;Dann springt der Code an diese Stelle&amp;#58;&lt;br /&gt;&lt;br /&gt;tmp=&amp;lt;---&lt;br /&gt;&lt;br /&gt;Das hei&amp;szlig;t tmp erh&amp;auml;llt irgendeinen Wert, weil Label2 nicht ausgef&amp;uuml;hrt wird. Deshalb darf lblVariable nur w&amp;auml;hrend proginit=1 ist gesetzt werden, da es sonst mit diesem Wert &amp;uuml;berschrieben werden w&amp;uuml;rde. Da die GoSub2 erst in der Hauptschleife ausgef&amp;uuml;hrt werden ist proginit=0 und es wird &amp;lt;CODE&amp;gt; ausgef&amp;uuml;hrt und mit Return zur&amp;uuml;ckgesprungen.&lt;br /&gt;&lt;br /&gt;3. Einen Player erstellen&lt;br /&gt;=========================&lt;br /&gt;in der Datei playerdata.bb ist folgendes einzugeben&amp;#58;&lt;br /&gt;&lt;br /&gt;;&amp;lt;NAME DES CHARAKT&amp;Auml;RS&amp;gt;&lt;br /&gt;&lt;br /&gt;Const PLAYER_NAME_Variable=0;=Bankoffset&lt;br /&gt;&lt;br /&gt;c.character=New character&lt;br /&gt;c\name=&amp;quot;&amp;lt;NAME DES CHARAKT&amp;Auml;RS&amp;gt;&amp;quot;&lt;br /&gt;&lt;br /&gt;tmp=Label2&amp;#40;&amp;#41;;input&amp;#58; c.character ;output&amp;#58;p.player&lt;br /&gt;If proginit&lt;br /&gt;&amp;nbsp; &amp;nbsp;c\lblInit=tmp&lt;br /&gt;Else&lt;br /&gt;&amp;nbsp; &amp;nbsp;;lblInit wird bei der Charakterwahl ausgef&amp;uuml;hrt. Ein Level l ist&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;noch nicht gesetzt. Aufgabe der lblInit eines Charakt&amp;auml;rs ist es &lt;br /&gt;&amp;nbsp; &amp;nbsp;;einen p.player zu erstellen und ihn spielbereit zu laden.&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Der folgede Teil ist immer gleich&lt;br /&gt;&amp;nbsp; &amp;nbsp;p=New player&lt;br /&gt;&amp;nbsp; &amp;nbsp;p\bnkInfo=CreateBank&amp;#40;4&amp;#41; ;/!\ Die Bankgr&amp;ouml;&amp;szlig;e nach Bedarf anpassen&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;Dran denken&amp;#58; Ein Handle &amp;#40;zB von Models&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;ist 4 Byte gro&amp;szlig;.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;p\phx=New phxEntity&amp;nbsp; &amp;nbsp;;Hier wird Der Spieler als Physikalisches&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;Objekt erstellt, dass der Schwerkraft&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;unterliegt und sterben kann.&lt;br /&gt;&amp;nbsp; &amp;nbsp;p\phx\entModel=CreatePivot&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;Dieser Pivot ist Pflicht und dient&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;als Kollisions-Entity&lt;br /&gt;&amp;nbsp; &amp;nbsp;p\c=c&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;Dem Spieler den Charakter zuweisen&lt;br /&gt;&amp;nbsp; &amp;nbsp;EntityType p\phx\entModel,COLLISION_PLAYER&lt;br /&gt;&amp;nbsp; &amp;nbsp;EntityPickMode p\phx\entModel,1&amp;nbsp; &amp;nbsp;;&amp;#125; Wichtig f&amp;uuml;r Attacken.&lt;br /&gt;&amp;nbsp; &amp;nbsp;NameEntity p\phx\entModel,Handle&amp;#40;p&amp;#41;&amp;nbsp; &amp;nbsp;;&amp;#125;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Beispiel f&amp;uuml;r das Aussehen des Players&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;PokeInt p\bnkInfo,PLAYER_NAME_Variable,CreateCube&amp;#40;p\phx\entModel&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Anstelle von Variable=CreateCube&amp;#40;p\phx\entModel&amp;#41;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;EntityColor PeekInt&amp;#40;p\bnkInfo,PLAYER_NAME_Variable&amp;#41;,255,0,0&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Anstelle von EntityColor Variable,255,0,0&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Return&lt;br /&gt;EndIf&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;tmp=Label2&amp;#40;&amp;#41;;input&amp;#58; btnRight,btnLeft,btnUp,btnDown,btnAtt1,btnAtt2,btnSmash,p.player&lt;br /&gt;If proginit&lt;br /&gt;&amp;nbsp; &amp;nbsp;c\lblMovement=tmp&lt;br /&gt;Else&lt;br /&gt;&amp;nbsp; &amp;nbsp;;lblMovement wird in der Hauptschleife f&amp;uuml;r jeden teilnehmenden&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;Spieler ausgef&amp;uuml;hrt. Die Buttons Right und Left sind durch Downs &lt;br /&gt;&amp;nbsp; &amp;nbsp;;und alle anderen nur durch Hits abgefragt.&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;If btnRight&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;p\phx\ax=p\phx\ax+0.7;Den Spieler beschleunigen&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;RotateEntity p\phx\entModel,0,-90,0&amp;nbsp; &amp;nbsp;;Den Spieler Drehen,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;sodass er in die&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;Laufrichtugn schaut&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Beispiel f&amp;uuml;r Animationssteuerung der Meshs beim Laufen.&lt;br /&gt;&amp;nbsp; &amp;nbsp;;If Not Animating&amp;#40;PeekInt&amp;#40;p\bnkInfo,PLAYER_PLAYER_NAME_ANIM&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;&amp;nbsp; &amp;nbsp;Animate PeekInt&amp;#40;p\bnkInfo,PLAYER_NAME_ANIM&amp;#41;,1,0.5&lt;br /&gt;&amp;nbsp; &amp;nbsp;;EndIf&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;If btnLeft&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;p\phx\ax=p\phx\ax-0.7;Den Spieler beschleunigen&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;RotateEntity p\phx\entModel,0,90,0&amp;nbsp; ;Den Spieler Drehen,&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;sodass er in die &lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;Laufrichtugn schaut&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Beispiel f&amp;uuml;r Animationssteuerung der Meshs beim Laufen.&lt;br /&gt;&amp;nbsp; &amp;nbsp;;If Not Animating&amp;#40;PeekInt&amp;#40;p\bnkInfo,PLAYER_PLAYER_NAME_ANIM&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;&amp;nbsp; &amp;nbsp;Animate PeekInt&amp;#40;p\bnkInfo,PLAYER_NAME_ANIM&amp;#41;,1,0.5&lt;br /&gt;&amp;nbsp; &amp;nbsp;;EndIf&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;If btnUp&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;p\phx\ay=p\phx\ay+10;Nach oben beschleunigen&lt;br /&gt;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;If btnDown&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;p\phx\ay=p\phx\ay-10;Nach unten beschleunigen&lt;br /&gt;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;If btnAtt1 ;Beispiel-Atacke&amp;#58; Kick&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;If EntityYaw&amp;#40;p\phx\entModel&amp;#41;&amp;gt;0 ;je nachdem wohin man schaut&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;ATTACK_KICK_Damage&amp;#40;p,-Reichweite,Schaden,-xBeschl,yBeschl&amp;#41;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Else&lt;br /&gt;&lt;br /&gt;ATTACK_KICK_Damage&amp;#40;p,-Reichweite,Schaden,+xBeschl,yBeschl&amp;#41;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;p\tmeStoned=MilliSecs&amp;#40;&amp;#41;+50&amp;nbsp; &amp;nbsp;;F&amp;uuml;r 50 Millisec ist der &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;Spieler blockiert.&lt;br /&gt;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;If btnAtt2&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;Auch eine Attacke&lt;br /&gt;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;If btnSmash&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;Auch eine Attacke&lt;br /&gt;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Hier kann noch anderer Code, wie Attacken-Bewegungen etc hin.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Beispiel f&amp;uuml;r Animationssteuerung&lt;br /&gt;&amp;nbsp; &amp;nbsp;;If p\tmeStoned&amp;lt;MilliSecs&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;&amp;nbsp; &amp;nbsp;If Not&amp;#40;btnRight Or btnLeft&amp;#41; &lt;br /&gt;&amp;nbsp; &amp;nbsp;;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Animate PeekInt&amp;#40;p\bnkInfo,PLAYER_NAME_ANIM&amp;#41;,0&lt;br /&gt;&amp;nbsp; &amp;nbsp;;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Return&lt;br /&gt;EndIf&lt;br /&gt;&lt;br /&gt;4. Ein Level erstellen&lt;br /&gt;======================&lt;br /&gt;&lt;br /&gt;In der Datei leveldata.bb ist folgendes einzugeben&amp;#58;&lt;br /&gt;;&amp;lt;Level-Name&amp;gt;&lt;br /&gt;Const LEVEL_NAME_Variable=0;Bank-Offset&lt;br /&gt;&lt;br /&gt;l.level=New level&lt;br /&gt;l\maxx=600&amp;nbsp; &amp;nbsp;;Beispielma&amp;szlig;e&lt;br /&gt;l\minx=-600&amp;nbsp; &amp;nbsp;;f&amp;uuml;r&lt;br /&gt;l\maxy=200&amp;nbsp; &amp;nbsp;;ein&lt;br /&gt;l\miny=-100&amp;nbsp; &amp;nbsp;;Level&lt;br /&gt;l\name=&amp;quot;&amp;lt;Level-Name&amp;gt;&amp;quot;&lt;br /&gt;&lt;br /&gt;tmp=Label2&amp;#40;&amp;#41;&lt;br /&gt;If proginit&lt;br /&gt;&amp;nbsp; &amp;nbsp;l\lblInit=tmp&lt;br /&gt;Else&lt;br /&gt;&amp;nbsp; &amp;nbsp;;lblInit wird einmalig vor der Hauptschleife ausgef&amp;uuml;hrt nachdem&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;alle Spieler dem Spiel beigetreten sind.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;l\bnkInfo=CreateBank&amp;#40;4&amp;#41;;/!\Bankgr&amp;ouml;&amp;szlig;e anpassen&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Mindestens ein Gegenstand sollte es geben mit dem der Spieler &amp;nbsp; &amp;nbsp;;mittels Kugel-Poly-Kollision Kollidieren kann.&lt;br /&gt;&amp;nbsp; &amp;nbsp;PokeInt l\bnkInfo,LEVEL_NAME_Variable,CreateCube&amp;#40;&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;EntityType PeekInt&amp;#40;l\bnkInfo,LEVEL_NAME_Variable&amp;#41;,COLLISION_LEVEL&amp;nbsp; &amp;nbsp;EntityScale PeekInt&amp;#40;l\bnkInfo,LEVEL_NAME_Variable&amp;#41;,100,10,10&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Wichtig ist, dass alle 4 Spawnpunkte so Initialisiert werden.&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Man k&amp;ouml;nnte auch mehr als 4 Spawnpunkte erstellen.&lt;br /&gt;&amp;nbsp; &amp;nbsp;spawn&amp;#91;0&amp;#93; = New SpawnPoint&lt;br /&gt;&amp;nbsp; &amp;nbsp;spawn&amp;#91;0&amp;#93;\x=-200&lt;br /&gt;&amp;nbsp; &amp;nbsp;spawn&amp;#91;0&amp;#93;\y=100&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;spawn&amp;#91;1&amp;#93; = New SpawnPoint&lt;br /&gt;&amp;nbsp; &amp;nbsp;spawn&amp;#91;1&amp;#93;\x=-100&lt;br /&gt;&amp;nbsp; &amp;nbsp;spawn&amp;#91;1&amp;#93;\y=100&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;spawn&amp;#91;2&amp;#93; = New SpawnPoint&lt;br /&gt;&amp;nbsp; &amp;nbsp;spawn&amp;#91;2&amp;#93;\x=100&lt;br /&gt;&amp;nbsp; &amp;nbsp;spawn&amp;#91;2&amp;#93;\y=100&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;spawn&amp;#91;3&amp;#93; = New SpawnPoint&lt;br /&gt;&amp;nbsp; &amp;nbsp;spawn&amp;#91;3&amp;#93;\x=200&lt;br /&gt;&amp;nbsp; &amp;nbsp;spawn&amp;#91;3&amp;#93;\y=100&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Return&lt;br /&gt;EndIf&lt;br /&gt;&lt;br /&gt;tmp=Label2&amp;#40;&amp;#41;&lt;br /&gt;If proginit&lt;br /&gt;&amp;nbsp; &amp;nbsp;l\lblLevel=tmp&lt;br /&gt;Else&lt;br /&gt;&amp;nbsp; &amp;nbsp;;lblLevel wird in der Hauptschleife nach lblMovement ausgef&amp;uuml;hrt.&lt;br /&gt;&amp;nbsp; &amp;nbsp;;l und currentlevel enthalten die Level-Variable. Hier kann man&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;Code schreiben, sodass sich das Level bewegt oder interagiert.&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Return&lt;br /&gt;EndIf&lt;br /&gt;&lt;br /&gt;5. Attacken erstellen&lt;br /&gt;=====================&lt;br /&gt;in der ersten Zeile der attackdata.bb steht&amp;#58;&lt;br /&gt;Global ATTACK_KICK.AttackType,...&lt;br /&gt;&lt;br /&gt;Hier die eigene Attacke in der Form ATTACK_NAME hinzuf&amp;uuml;gen. &lt;br /&gt;Dann ans Ende der Datei&lt;br /&gt;&lt;br /&gt;;&amp;lt;Attacken-Name&amp;gt;&lt;br /&gt;Const ATTACK_NAME_Variable=0;Bank-Offset&lt;br /&gt;&lt;br /&gt;ATTACK_NAME=New Attacktype;wurde bei Global schon eingef&amp;uuml;hrt&lt;br /&gt;;ATTACK_NAME\bnkInfo=CreateBank&amp;#40;0&amp;#41;&lt;br /&gt;;Evtl k&amp;ouml;nnen hier schon Texturen oder Entitys f&amp;uuml;r eine solche Attacke&lt;br /&gt;;geladen werden. Diese sollten aber zun&amp;auml;chst unsichtbar sein.&lt;br /&gt;&lt;br /&gt;tmp=Label2&amp;#40;&amp;#41;&lt;br /&gt;If proginit&lt;br /&gt;&amp;nbsp; &amp;nbsp;ATTACK_KICK\lblMovement=tmp&lt;br /&gt;Else&lt;br /&gt;&amp;nbsp; &amp;nbsp;;lblMovement wird ausgef&amp;uuml;hrt wenn ein Spieler eine Attacke&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;ausf&amp;uuml;hrt. *Wenn die Attacke beendet wird muss sie sich selbst&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;l&amp;ouml;schen.*&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Tipps&amp;#58;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Reichweite in einem Byte Speichern&lt;br /&gt;&amp;nbsp; &amp;nbsp;tmp=PeekByte&amp;#40;a\bnkInfos,ATTACK_NAME_DISTANCE&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;If tmp&amp;gt;128 Then tmp=tmp-256;unsinged Byte-&amp;gt;signed byte&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Einfach mit PokeByte reinschreiben und so auslesen&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Einen Gegner finden&amp;#58;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Am einfachsten geht das mit einer Pick-Methode, da jeder&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;Charakter mit seinem Kollisions-Entity Pickbar ist und seine&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;player-Handle als Namen dieses Models tr&amp;auml;gt&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;;Beispiel&amp;#58;&lt;br /&gt;&amp;nbsp; &amp;nbsp;LinePick x,y,0,distancex,distancey,0,radius&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;If PickedEntity&amp;#40;&amp;#41;&amp;lt;&amp;gt;0&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;p.player=Object.player&amp;#40;EntityName&amp;#40;PickedEntity&amp;#40;&amp;#41;&amp;#41;&amp;#41;;p=Ziel&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;If p&amp;lt;&amp;gt;Null&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Damage&amp;#40;p,prozent,xBeschl,yBeschl&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;EndIf&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Delete a&amp;nbsp; &amp;nbsp;;Nach Beendigung der Attacke muss sie sich l&amp;ouml;schen.&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;Eine Attacke kann nat&amp;uuml;rlich auch mehrere Frames&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;;andauern.&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Return&lt;br /&gt;EndIf&lt;br /&gt;&lt;br /&gt;;Hilfsfunktionen k&amp;ouml;nnen n&amp;uuml;tzlich sein um Banks zu f&amp;uuml;llen etc.&lt;br /&gt;;Hier zB die Hilfsfunkiton zu KICK. Innerhalb von Hilfsfunktionen sind ;lokale Variablen erlaubt.&lt;br /&gt;Function ATTACK_KICK_Damage&amp;#40;p.player,distance,percent,ax#,ay#&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;Local a.Attack&lt;br /&gt;&amp;nbsp; &amp;nbsp;a=New Attack&lt;br /&gt;&amp;nbsp; &amp;nbsp;a\at=ATTACK_KICK&lt;br /&gt;&amp;nbsp; &amp;nbsp;a\bnkInfos=CreateBank&amp;#40;ATTACK_KICK_SIZE&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;PokeFloat a\bnkInfos,ATTACK_KICK_X,EntityX&amp;#40;p\phx\entModel&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;PokeFloat a\bnkInfos,ATTACK_KICK_Y,EntityY&amp;#40;p\phx\entModel&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;PokeByte a\bnkInfos,ATTACK_KICK_DISTANCE,distance&lt;br /&gt;&amp;nbsp; &amp;nbsp;PokeByte a\bnkInfos,ATTACK_KICK_PERCENT,percent&lt;br /&gt;&amp;nbsp; &amp;nbsp;PokeFloat a\bnkInfos,ATTACK_KICK_AX,ax&lt;br /&gt;&amp;nbsp; &amp;nbsp;PokeFloat a\bnkInfos,ATTACK_KICK_AY,ay&lt;br /&gt;End Function&lt;br /&gt;&lt;/div&gt;</description>
			<pubDate>Sun, 20 Sep 2009 21:59:50 +0200</pubDate>
		</item>

		<item>
			<title>Neues Level &amp; Mario Animationen</title>
			<link>https://www.blitzforum.de/worklogs/275/#1778</link>
			<guid>https://www.blitzforum.de/worklogs/275/#1778</guid>
			<author>Silver_Knee</author>
			<description>&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;https://www.blitzforum.de/upload/file.php?id=6864&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ich hab bei dem Spieler Magic-Mario eine Dreheung bei dem Sekund&amp;auml;r-Attacken-Sprung eingebaut. Der rechte macht das gerade. W&amp;auml;hrend der Drehung ist man &amp;quot;stoned&amp;quot; Das hei&amp;szlig;t man kann sich nicht Bewegen. Die Funktion war zun&amp;auml;chst zwar f&amp;uuml;r angegriffene gedacht aber hier scheint sie auch f&amp;uuml;r den Angreifer sinnvoll. Smash-Attacke ist mir noch keine eingefallen... k&amp;ouml;nnt ja eine schreiben oder zumindest die Idee mir schicken.&lt;br /&gt;&lt;br /&gt;Au&amp;szlig;erdem gibt es ein zweites Level. Es stammt aus dem Spiel &amp;quot;Parcour&amp;quot;, das ich zum &lt;a href=&quot;https://www.blitzforum.de/forum/viewtopic.php?t=23436&quot; target=&quot;_blank&quot;&gt;BCC 3&lt;/a&gt; entworfen habe und nutzt als erstes Level den lblLevel. Das hei&amp;szlig;t das Level ist in der Schleife interaktiv.&lt;br /&gt;&lt;br /&gt;Im Code selbst hab ich in der Main ver&amp;auml;ndert dass lblMovement nun auch wenn man stoned ist aufgerufen wird. Das macht solche Sp&amp;auml;&amp;szlig;e wie Animationen w&amp;auml;hrend einer Attacke m&amp;ouml;glich bei gleichzeitiger Blockierung der Attacke mittels tmeStoned. W&amp;auml;hrend man stoned ist sind nat&amp;uuml;rlich alle Tasten auf False&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://www.blitzforum.de/upload/file.php?id=6865&quot; target=&quot;_blank&quot;&gt;Download incl. Sources&lt;/a&gt; - &lt;b&gt;Macht euch nicht eure Codes kaputt! &lt;/b&gt;</description>
			<pubDate>Fri, 18 Sep 2009 20:40:55 +0200</pubDate>
		</item>

		<item>
			<title>Momentane Arbeiten</title>
			<link>https://www.blitzforum.de/worklogs/275/#1771</link>
			<guid>https://www.blitzforum.de/worklogs/275/#1771</guid>
			<author>Silver_Knee</author>
			<description>Ich bin Offen f&amp;uuml;r Ideen und allerlei Grafik und Programmiercodes. Bis sich jemand erbarmt, werde ich wohl mit meinen bescheidenen Charakteren und Levels zu tun haben.&lt;br /&gt;&lt;br /&gt;Tats&amp;auml;chlich arbeite ich momentan an der Animation Marios, sodass dieser mal etwas interessanter aussieht als auf dem Foto. Ideen etc sind gerne gesehen...</description>
			<pubDate>Wed, 16 Sep 2009 18:13:29 +0200</pubDate>
		</item>

		<item>
			<title>Beginn des Worklogs</title>
			<link>https://www.blitzforum.de/worklogs/275/#1770</link>
			<guid>https://www.blitzforum.de/worklogs/275/#1770</guid>
			<author>Silver_Knee</author>
			<description>BlitzSmash V0.1&lt;br /&gt;&lt;br /&gt;Dies soll ein SuperSmashBrothers Clon werden. Nur eben nicht mit Nintendo-Charakteren, sondern mit welchem aus diesem Forum. Da ich nicht das Recht (und die Zeit) alle oder zumindest einen Teil der Projekte der Comunity zu durchforsten um dann die Charaktere daraus nachzuprogrammieren habe ich zumindest mal die Engine und einen Charakter aus einem Spiel von mir Eingebaut. Auch Karten fehlen noch, aber auch die sollen noch folgen.&lt;br /&gt;&lt;br /&gt;Insgesamt fehlt noch ziemlich viel, weswegen ich die Comunity in &lt;a href=&quot;https://www.blitzforum.de/forum/viewtopic.php?t=32709&quot; target=&quot;_blank&quot;&gt;diesem Thread&lt;/a&gt; auffordere an dem Spiel aktiv mitzuarbeiten.&lt;br /&gt;&lt;br /&gt;Steuerung:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Keyboard Left:&lt;br /&gt;Sprung: W&lt;br /&gt;Schnell fallen: S&lt;br /&gt;Rechts: D&lt;br /&gt;Links: A&lt;br /&gt;Attacke 1: Umschalt links&lt;br /&gt;Attacke 2: Leerzeichen&lt;br /&gt;&lt;li&gt;Keyboard Right:&lt;br /&gt;Sprung: Pfeil Hoch&lt;br /&gt;Schnell fallen: Pfeil Runter&lt;br /&gt;Rechts: Pfeil Rechts&lt;br /&gt;Links: Pfeil Links&lt;br /&gt;Attacke 1: STRG Rechts&lt;br /&gt;Attacke 2: Numpad 0&lt;br /&gt;&lt;li&gt;Maus:&lt;br /&gt;Sprung: Hoch&lt;br /&gt;Schnell fallen: Runter&lt;br /&gt;Rechts: Rechts&lt;br /&gt;Links: Links&lt;br /&gt;Attacke 1: Linksklick&lt;br /&gt;Attacke 2: Rechtsklick&lt;br /&gt;&lt;li&gt;Joystick:&lt;br /&gt;Sprung: Hoch&lt;br /&gt;Schnell fallen: Runter&lt;br /&gt;Rechts: Rechts&lt;br /&gt;Links: Links&lt;br /&gt;Attacke 1: Firebutton 1 (ggf suchen)&lt;br /&gt;Attacke 2: Firebutton 2 (ggf suchen)&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Hier noch ein Screenshot der momentanen Version:&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;https://www.blitzforum.de/upload/file.php?id=6816&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;______________________________________________________________________________&lt;br /&gt;&lt;br /&gt;Soviel also zum ehemaligen Projektthread.&lt;br /&gt;&lt;br /&gt;Wie das bei meinen Auftritten hier im Forum schon immer so war hab ich mal wieder die H&amp;auml;lfte vergessen... Der Download unvollst&amp;auml;ndig, keine Readme etc... Nunja nun gibt es eben hier immer die neusten Versionen&lt;br /&gt;eben hier.&lt;br /&gt;&lt;br /&gt;Die hoffentlich endlich lauff&amp;auml;hige Version gibts nun sammt sources im Komplettpaket  &lt;a href=&quot;https://www.blitzforum.de/upload/file.php?id=6825&quot; target=&quot;_blank&quot;&gt;hier&lt;/a&gt;</description>
			<pubDate>Wed, 16 Sep 2009 18:05:58 +0200</pubDate>
		</item>


	</channel>
</rss>
