Nachladen der Waffe funktioniert nicht wie gewollt.

Posted By: TheShooter

Nachladen der Waffe funktioniert nicht wie gewollt. - 03/09/11 23:27

Hi(mal wider),
ich habe gerade versucht eine nachladefunktion für meine Waffe zu machen. Der Code scheint mir logisch. Aber wenn ich einfach die linke Maustaste gedrückt halte, spielt die engine die nachladefunktion nicht ab, wenn die var "nachladen" auf null ist. Wenn ich allerdings diese var per console auf 0 setze schon. Man muss irgendwie die linke maustaste während dieses Vorgangs abschalten. (Was wir aber sehr unlogisch erscheint, weil zu kompliziert). Der code sieht jetzt so aus:
Code:
function reload()
{
while(1)
{
if (ammo == 0)
{
	
	
ent_animate(ent_gun,"reload",nachladen,0);
nachladen += 5 * time_step;
}


if (nachladen > 99) {
ammo = ammo +30;
wait(1);
}




wait(1);
}

}



Die funktion reload wird nachher noch aufgerufen. Ich stelle die "nachladen" var durch digits da, damit ich sie verfolgen kann. Wie kann ich während des nachladens das schießen vermeiden?

mfg TheShooter( vorerst letzter Thread)
Posted By: Liamissimo

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/09/11 23:43

Hier wird einmal das ammo == 0 ausgeführt, absicht? Erscheint mir sehr seltsam.
Posted By: Rei_Ayanami

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/09/11 23:44

mache einfach ein if in deiner schießen funktion, die das schießen unterbindet, wenn "nachladen" größer 0 ist. setzt vorraus das du nachladen auf 0 setzt wenn nachladen größer 99 wink
Posted By: WretchedSid

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/09/11 23:53

Und formatier deinen verdammten Kot damit Code daraus wird. Verdammte Axt, so schwer kann das doch nicht sein.
Posted By: TheShooter

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/10/11 00:01

ähhm, jetzt geht garnichts mehr. Wies oll ich denn das schießen unterbinden?

der neue code:
Code:
function schiessen()
{
	
	while(1)
	{
		
		VECTOR trace_target;
		var i = 1;
		if(mouse_left)
		{
			ammo = ammo -1;
			i = 70;
			
			vec_set(trace_target,vector(10000,0,0));
			vec_rotate(trace_target, ent_gun.pan);
			vec_add(trace_target, ent_gun.x);
			c_trace(ent_gun.x,trace_target,IGNORE_PASSABLE|ACTIVATE_SHOOT|IGNORE_CONTENT| SCAN_TEXTURE);
			if(HIT_TARGET)
			{	
				PARTICLE* p = ent_decal(you,hole,7+random(3),random(360));
				p.lifespan = 1600;
				p.material = mat_model;
				wait(0.5);
			}
			var l = 20;
			
			vec_for_vertex(temp.x ,ent_gun,8920);
			
			ENTITY* muzzle = ent_create("muzzle.tga", temp.x ,display_muzzle);
			
			
			
			
			

			camera.tilt = camera.tilt +2;




			
			snd_play(HK, 100,0);
			while(i<=100)
			{
				ent_animate(ent_gun,"shot",i,0);
				i += 20 * time_step;
				wait(1);
			}	
			
			
			
		}
		

		
		wait(1);
	}
}
function reload()
{
	while(1)
	{
		
		if (ammo == 0)
		{
			;
			ent_animate(ent_gun,"reload",nachladen,0);
			nachladen += 5 * time_step;
			//ammo = ammo +30;
		}
		wait(1);
	}

}



@JustSid: Was meinst du damit? Jetzt von der Setzung der {} ?

Tut mir echt leid, aber ich bekomme es nicht hin.
Posted By: Widi

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/10/11 00:40

Weist du noch, dein Versprechen? Hast du denn die Tutorials schon durch? Also langsam grenzt das hier an spammen was du machst. Zähl mal wieviele Posts du hier heute ins Forum gestellt hast und schau mal, ob ein anderer nur annähernd so viele hat. Du machst dir hier so keine Freunde...
Posted By: TheShooter

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/10/11 01:24

Weißt du was? Ich arbeite erst einmal de Tutorials durch.
Posted By: Widi

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/10/11 01:42

Hast du schon einmal versprochen!

Denk daran, du machst die Workshops nicht wegen uns, sondern wegen DIR. DICH bringt es weiter, wenn du die Zusammenhänge endlich verstehst. Was denkst du, wie lange ich an diesen Workshops dran war? Sicher eine Woche, habe jedes Kapitel ausprobiert, danach ein paar Parameter verändert um zu sehenwelche Auswirkung das hat und schlussendlich ganz zu meinen Wünschen abgeändert und kombiniert.

In der Zeit, die du hier im Forum mit fragen und Code kopieren / einfügen verbracht hast, hättest du schon lange das Manual durchlesen können (habe das sicher schon 10 mal einfach so getan), oder das Internet durchforsten können (zb über Vectorberechnungen), oder ein Buch über Spieleprogrammierung bestellen und durchlesen können. Habe auch einige Bücher gekauft, sind für c+. Aber das macht absolut nichts, die ganzen Erklährungen helfen dir auch weiter. Und c+ ist ja eine ähnliche Sprache wie lite_c.

DU hast heute im Forum gesagt, programmieren fasziniert dich. Also musst auch DU DICH da reinarbeiten, damit DU weiterkommst. Wenn du immer nur fragst und die Lösung präsentiert bekommst, ohne den Code auch zu verstehen, dann lernst du überhaupt nichts.

Ich sehe viel bei dir, dass wenn du eine Lösung präsentiert bekommst, schon nach wenigen Minuten schon die Retourfrage erscheint, weil angeblich etwas nicht funktioniert. Du nimmst dir gar nicht die Zeit, den Code auseinanderzunehmen und zu verstehen. Bei dem Post über schnellere Waffenanimation als wir dir die Lösung nicht sofort präsentierten und Uhrwerk nochmals nachfragte, ob du es auch verstanden hast, ging es ja auch, du hast es selber herausgefunden. Nur so kommst du weiter.

Was ich dir auch empfehlen kann, sind die AUM`s. Lese diese auch jedesmal wenn die erscheinen. Diese Magazine erscheinen alle 2 bis 3 Monate, sind auch in Deutsch vorhanden. Darin findest du viele Fragen / Antworten und Lösungen oder sonstige codezeilen. Aber auch hier gilt: nicht einfach kopieren und einfügen, sondern den Code auseinandernehmen, verstehen was und warum er etwas macht.

Und das sollen keine "Hausaufgaben" sein, die ein notwendiges Uebel sind. Wenn du das so siehst, DANN BIST DU HIER FALSCH!
Du kannst auch nicht sagen, ich möchte weltbester Tennisspieler werden, aber trainieren möchte ich nicht. Geht nicht.

Posted By: xxxxxxx

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/10/11 18:14

@Widi, wie lange warst du an den Workshop? O_o
ich hab 2-3Tage an denen(ohne multiplayer, ich habe noch kein bedürfnis einen zu proggen) verbracht und konnte mich nacher mehr oder weniger gut mit lite-C umgehen nur bei den panels... x_X
habe ich nicht soviel erfahrung gesammelt reicht aber bei mir auch für eine einfache benutzeroberfläche! Bücher habe ich mir auch noch keine geholt!
Hört sich nach sehr viel arbeit an was du alles gemacht hast crazy

@TheShooter
das soll jetzt kein post sein der dir sagt das du deine Workshops mal soeben hin rotzt! mach die vernümpftig dann pogrammierst du (hoffentlich) auch so wink , nicht so wie ich
EDIT: mach die nicht so wie ich blush
xxxxxxx
Posted By: schlubberwuz

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/10/11 18:20

Originally Posted By: TheShooter
Der code sieht jetzt so aus:
Code:
function reload()
{
while(1)
{
if (ammo == 0)
{
	
	
ent_animate(ent_gun,"reload",nachladen,0);
nachladen += 5 * time_step;
}


if (nachladen > 99) {
ammo = ammo +30;
wait(1);
}




wait(1);
}

}





wow was ein murks, ich habe zwar auch erst wieder mit 3dgs angefangen (gut hatte früher mal die 5.5 extra) aber irgendwie mag dein code keinen sinn ergeben...
beispiel:

ammo = ammo +30;
mit dieser zeile ermöglichst du es dem spieler unendlich munition ins magazin zu quetschen, ich denke mal du wolltest auf ammo=30; hinaus ...

desweiteren werde ich das gefühl nicht los du hast den sinn von einer while und einer if schleife noch nicht ganz verstanden ...
Posted By: Sajeth

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/10/11 18:41

abgesehen davon, dass der code totale Scheisse ist, ist nachladen nach dem ersten mal auf >99 und bleibt da auch, das magazin wird also jeden frame nach dem ersten nachladen um 30 voller
Posted By: Michael_Schwarz

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/10/11 21:10

Originally Posted By: Widi
Hast du schon einmal versprochen!

Denk daran, du machst die Workshops nicht wegen uns, sondern wegen DIR. DICH bringt es weiter, wenn du die Zusammenhänge endlich verstehst. Was denkst du, wie lange ich an diesen Workshops dran war? Sicher eine Woche, habe jedes Kapitel ausprobiert, danach ein paar Parameter verändert um zu sehenwelche Auswirkung das hat und schlussendlich ganz zu meinen Wünschen abgeändert und kombiniert.

In der Zeit, die du hier im Forum mit fragen und Code kopieren / einfügen verbracht hast, hättest du schon lange das Manual durchlesen können (habe das sicher schon 10 mal einfach so getan), oder das Internet durchforsten können (zb über Vectorberechnungen), oder ein Buch über Spieleprogrammierung bestellen und durchlesen können. Habe auch einige Bücher gekauft, sind für c+. Aber das macht absolut nichts, die ganzen Erklährungen helfen dir auch weiter. Und c+ ist ja eine ähnliche Sprache wie lite_c.

DU hast heute im Forum gesagt, programmieren fasziniert dich. Also musst auch DU DICH da reinarbeiten, damit DU weiterkommst. Wenn du immer nur fragst und die Lösung präsentiert bekommst, ohne den Code auch zu verstehen, dann lernst du überhaupt nichts.

Ich sehe viel bei dir, dass wenn du eine Lösung präsentiert bekommst, schon nach wenigen Minuten schon die Retourfrage erscheint, weil angeblich etwas nicht funktioniert. Du nimmst dir gar nicht die Zeit, den Code auseinanderzunehmen und zu verstehen. Bei dem Post über schnellere Waffenanimation als wir dir die Lösung nicht sofort präsentierten und Uhrwerk nochmals nachfragte, ob du es auch verstanden hast, ging es ja auch, du hast es selber herausgefunden. Nur so kommst du weiter.

Was ich dir auch empfehlen kann, sind die AUM`s. Lese diese auch jedesmal wenn die erscheinen. Diese Magazine erscheinen alle 2 bis 3 Monate, sind auch in Deutsch vorhanden. Darin findest du viele Fragen / Antworten und Lösungen oder sonstige codezeilen. Aber auch hier gilt: nicht einfach kopieren und einfügen, sondern den Code auseinandernehmen, verstehen was und warum er etwas macht.

Und das sollen keine "Hausaufgaben" sein, die ein notwendiges Uebel sind. Wenn du das so siehst, DANN BIST DU HIER FALSCH!
Du kannst auch nicht sagen, ich möchte weltbester Tennisspieler werden, aber trainieren möchte ich nicht. Geht nicht.


full ack

ich habe bestimmt auch ewig lang rumgetestet und probiert um auswirkungen zu sehen, und stück für stück habe ich mehr und mehr gelernt. Das handbuch ist wirklich eines der besten die es gibt (wenn man es mal mit anderen engines vergleicht). Es gibt keinen grund sich zu scheuen es zu lesen.

Als plusnpunkt: Wenn du ein problem selber lösen kannst ohne nachzufragen ist die freude umso größer!
Posted By: Ayumi

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/10/11 21:52

Zu Zeiten der A5 hatte ich nichtmal zugriff aufs internet:D,
somit nur das Handbuch, die techdemo und die WED demo aus dem
Tutorial.

Die letzten beiden Sachen haben mir sehr geholfen, das Ganze
spielerisch zu erlernen,
was lite c und andere Scriptsprachen angeht, kommt man leider
um die Theorie nicht herum.

Das beste, was du und andere machen kannst/koennen ist, dir die AUM
Hefte zu schnappen, sie sind das beste was du als Anfaenger und
auch Fortgeschrittener haben kannst, wie ich finde.
In meiner Signatur ist ein Link mit einem Index aller AUM inhalte.



@Widi
Wenn du, so wie ich auch C++ und C# lernst, ist das wieder eine andere Sache.
Jemand, der keinerlei Interesse an Scriptsprachen hat, wird das ausser Acht
lassen.Lite c orientiert sich zwar stark an C, aber damit verwirrt man
Anfaenger noch mehr, findeste nicht?
Posted By: JoGa

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/10/11 22:01

"Zu Zeiten der A5 hatte ich nichtmal zugriff aufs internet:D,
somit nur das Handbuch, die techdemo und die WED demo aus dem
Tutorial." - yay, dito :-)
Und als ich dann das Forum hier entdeckte und die AUMs, rannte ich tagelang mit 3,5-Disketten von unsrem Familien-internet-PC im Erdgeschoss und meinem PC im ersten Stock hin und her, um die ganzen AUMs und Beispiellevel mir zusammen zu hamstern - (war nach ein paar Wochen ein 350MB-Ordner xD)

aber genug offtopic.

warum willst du denn die Nachladefunktion in einer endlosschleife dauernd drin lassen?
Führe beim Schießen doch eine Frage durch, die klärt, ob noch Munition im Magazin ist. Wenn nicht, dann darf nicht geschossen werden, sondern es wird die Nachladeanimation abgespielt.
Code:
var animidst;
while(1)
{
  if(mouse_left)
  {
    if(ammo <= 0)
    {
      animdist = 0;
      while(animdist < 100)
      {
        //animation mit animdist als zähler
        animdist += 10*time_step;
        wait(1);
      }
      ammo = 50;
    }
    else //wenn Munition im Magazin
    {
      //trace-Zeug
    }
}



so als kleiner Ansatz, wie ich es handhaben würde
Posted By: Ayumi

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/10/11 23:16

Ja, mit 3,5MB Disketten:D, allerdings wars bei mir ein internetcafe, hehe.


Fuer die Munition wuerde ich aber noch eine Grenze setzen.

Code:
if(Muni > 0)
{
   Muni -= 1; 
   Muni = maxv(0, Muni ); 
}


Posted By: Widi

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/11/11 02:56

Quote:

@Widi
Wenn du, so wie ich auch C++ und C# lernst, ist das wieder eine andere Sache.
Jemand, der keinerlei Interesse an Scriptsprachen hat, wird das ausser Acht
lassen.Lite c orientiert sich zwar stark an C, aber damit verwirrt man
Anfaenger noch mehr, findeste nicht?

Vielleicht habe ich das falsch erklärt: Ich lerne NICHT c++ oder c#, habe keine Ahnung davon. Aber diese Bücher erklären viel über allgemeines programmieren, wie die Strukturen aufgebaut sind usw...
Ist auch nur als Beispiel gemeint dass auch bei uns das Programmieren nicht einfach in den Schoss gefallen ist, sondern dass wir etwas dafür getan haben.
Posted By: TheShooter

Re: Nachladen der Waffe funktioniert nicht wie gewollt. - 03/11/11 15:48

Danke JoGa wink
© 2024 lite-C Forums