Opferlamm-Clan Board
www.opferlamm-clan.de
Verantwortlich für diese bösen Machenschaften: siehe Impressum

Registrierung Kalender Mitgliederliste Suche Häufig gestellte Fragen Zur Startseite

Opferlamm-Clan Board » Call of Duty 4 » Fix-Dateien, Modding-Fragen, Scripting » G_FindConfigstringIndex: overflow (309): ' Headshot Kills: 18 (9)' » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen G_FindConfigstringIndex: overflow (309): ' Headshot Kills: 18 (9)'
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Arnold
Zu-Hause-Esser


Dabei seit: 12.11.2010
Beiträge: 56


G_FindConfigstringIndex: overflow (309): ' Headshot Kills: 18 (9)' Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
G_FindConfigstringIndex: overflow (309): ' Headshot Kills: 18 (9)'




Ich habe einen HUD erstellt. Allerdings in einem LOOP while(1)


Deshalb ist er warscheinlich auch abgestürzt.

Wie erstelle ich meinen HUD so, dass er nicht irgendwann zu einem crash führt?

Oder kann ich es wie folgt machen:


while(1)
self thread hud();
wait .3;


hud()
{
hier mein hud script
}


Edit:
zweitens, aber nicht so wichtig: wie kann ich ein prozentzeichen in den text einfügen? aus dem "%" wird immer nur ein punkt...

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Arnold: 06.02.2011 18:38.

Arnold ist offline E-Mail an Arnold senden Beiträge von Arnold suchen Nehmen Sie Arnold in Ihre Freundesliste auf
OLD MAN WITH GUN
... sehr viel alleine


images/avatars/avatar-798.gif


Dabei seit: 01.05.2006
Beiträge: 2.305


RE: G_FindConfigstringIndex: overflow (309): ' Headshot Kills: 18 (9)' Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du darfst das HUD nicht in deine while(1) Schleife packen sondern davor. Nur die Zeile vom HUD die den Text darstellt kommt (zusammen mit der Berechnung des Wertes) in die Schleife. Dann solltest du beim Spawnen des Players auch noch mal testen, ob er dein HUD Objekt noch hat, und wenn ja, mit destroy löschen bevor er es neu bekommt. Somit sollte jeder Player immer nur eins von deinem HUD Objekt haben und nicht mehrere (die dann zu deinem Fehler führen).

__________________

Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.

OLD MAN WITH GUN ist offline Beiträge von OLD MAN WITH GUN suchen Nehmen Sie OLD MAN WITH GUN in Ihre Freundesliste auf
Arnold
Zu-Hause-Esser


Dabei seit: 12.11.2010
Beiträge: 56


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wieso klappt es eig. nicht, wenn ich das destroy in den loop einarbeite? Siehe:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
headshothud()
{
	self.experc = 0;
	self.explosives = 0;
	self.headshots = 0;
	self.meleesp = 0;
	self.grenades = 0;
	self.meleesp = 0;
	self.suicides = 0;

	self endon("death");
	self endon("disconnect");
	while(1)
	{

	self.totalkills_text destroy();
	self.headshotcount = self.totalkills;
	self.totalkills_text = NewClientHudElem(self);
	self.totalkills_text SetText("^2 Total Kills: ^1" + self.cur_kill_streak + "");
	self.totalkills_text.alignx = "left";
	self.totalkills_text.alignY = "top";
	self.totalkills_text.x = 2;
	self.totalkills_text.y = 122;
	self.totalkills_text.sort = -3;
	self.totalkills_text.alpha = 1;
	self.totalkills_text.font = "default";
	self.totalkills_text.fontscale = 1.4;




	self.head_text destroy();
	self.headper = self.headshots / self.cur_kill_streak * 100;
	self.headp = int(self.headper);
	self.head_text = NewClientHudElem(self);
	self.head_text SetText("^2 Headshot Kills: ^1" + self.headshots + " (" + self.headp + ")");
	self.head_text.alignx = "left";
	self.head_text.alignY = "top";
	self.head_text.x = 2;
	self.head_text.y = 136;
	self.head_text.sort = -3;
	self.head_text.alpha = 1;
	self.head_text.font = "default";
	self.head_text.fontscale = 1.4;


	self.melee_text destroy();
	self.meleeper = self.meleesp / self.cur_kill_streak * 100;
	self.meleep = int(self.meleeper);
	self.melee_text = NewClientHudElem(self);
	self.melee_text SetText("^2 Melee Kills: ^1" + self.meleesp + " (" + self.meleep + ")");
	self.melee_text.alignx = "left";
	self.melee_text.alignY = "top";
	self.melee_text.x = 2;
	self.melee_text.y = 150;
	self.melee_text.sort = -3;
	self.melee_text.alpha = 1;
	self.melee_text.font = "default";
	self.melee_text.fontscale = 1.4;


	self.grenades_text destroy();
	self.grenadesper = self.grenades / self.cur_kill_streak * 100;
	self.grenadesp = int(self.grenadesper);
	self.grenades_text = NewClientHudElem(self);
	self.grenades_text SetText("^2 Grenade Kills: ^1" + self.grenades + " (" + self.grenadesp + ")");
	self.grenades_text.alignx = "left";
	self.grenades_text.alignY = "top";
	self.grenades_text.x = 2;
	self.grenades_text.y = 164;
	self.grenades_text.sort = -3;
	self.grenades_text.alpha = 1;
	self.grenades_text.font = "default";
	self.grenades_text.fontscale = 1.4;


	self.explosives_text destroy();
	self.explosivesp = self.explosives / self.cur_kill_streak * 100;
	self.experc = int(self.explosives);
	self.explosives_text = NewClientHudElem(self);
	self.explosives_text SetText("^2 Explosive Kills: ^1" + self.explosivesp + " (" + self.experc + ")");
	self.explosives_text.alignx = "left";
	self.explosives_text.alignY = "top";
	self.explosives_text.x = 2;
	self.explosives_text.y = 178;
	self.explosives_text.sort = -3;
	self.explosives_text.alpha = 1;
	self.explosives_text.font = "default";
	self.explosives_text.fontscale = 1.4;


	self.killrate_text destroy();
	self.killsnormal = self.cur_kill_streak - self.headshots - self.meleesp - self.grenades - self.explosives;
	self.killsnormalp = self.killsnormal / self.cur_kill_streak * 100;
	self.killnormp = int(self.killsnormalp);
	self.killrate_text = NewClientHudElem(self);
	self.killrate_text SetText("^2 Normal Kills: ^1" + self.killsnormal + " (" + self.killnormp + ")");
	self.killrate_text.alignx = "left";
	self.killrate_text.alignY = "top";
	self.killrate_text.x = 2;
	self.killrate_text.y = 192;
	self.killrate_text.sort = -3;
	self.killrate_text.alpha = 1;
	self.killrate_text.font = "default";
	self.killrate_text.fontscale = 1.4;


	self.suicides_text destroy();
	self.suicides_text = NewClientHudElem(self);
	self.suicides_text SetText("^2 Suidides: ^1" + self.suicides + "");
	self.suicides_text.alignx = "left";
	self.suicides_text.alignY = "top";
	self.suicides_text.x = 2;
	self.suicides_text.y = 206;
	self.suicides_text.sort = -3;
	self.suicides_text.alpha = 1;
	self.suicides_text.font = "default";
	self.suicides_text.fontscale = 1.4;
	wait .3;
	}
}	




Soweit, so gut...


Ich habe allerdings folgendes Problem:


Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
if( semeansofdead == MOD_EXPLOSIVE && attacker == self )
	self.explosivesp ++;



Aber er zählt nicht...

Warum ist der ob. gen. Fehler eig. passiert? Ich habe eine Wartezeit und destroy text eingearbeitet. wieso passiert es trotzdem?
Arnold ist offline E-Mail an Arnold senden Beiträge von Arnold suchen Nehmen Sie Arnold in Ihre Freundesliste auf
OLD MAN WITH GUN
... sehr viel alleine


images/avatars/avatar-798.gif


Dabei seit: 01.05.2006
Beiträge: 2.305


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ersetze mal
self.totalkills_text SetText("^2 Total Kills: ^1" + self.cur_kill_streak + "");
mit
self.totalkills_text.label = &"^2 Total Kills: ^1";
self.totalkills_text SetValue (self.cur_kill_streak);

(Wobei, wieso eigentlich self.cur_kill_streak du willst doch die totalkills anzeigen? )

Bei den anderen HUD-Objekten ebenfalls.

Der Fehler könnte auch daher kommen, das dein Script von einem Player öfter als ein mal gestartet wird.
Desshalb, nimm sie aus der While Schleife raus und teste vor dem Erstellen der einzelnen HUD-Objekte, ob diese schon existieren oder nicht. Und nur wenn sie nicht da sind sollen sie erstellt werden

Beispiel (ist jetzt nicht vollständig):

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
headshothud()
{
	self.experc = 0;
	self.explosives = 0;
	self.headshots = 0;
	self.meleesp = 0;
	self.grenades = 0;
	self.meleesp = 0;
	self.suicides = 0;

	self endon("death");
	self endon("disconnect");
	
	if( !isDefined( self.totalkills_text ))
	{
		self.headshotcount = self.totalkills;
		self.totalkills_text = NewClientHudElem(self);
		self.totalkills_text.label = &"^2 Total Kills: ^1";
		self.totalkills_text.alignx = "left";
		self.totalkills_text.alignY = "top";
		self.totalkills_text.x = 2;
		self.totalkills_text.y = 122;
		self.totalkills_text.sort = -3;
		self.totalkills_text.alpha = 1;
		self.totalkills_text.font = "default";
		self.totalkills_text.fontscale = 1.4;
	}

	while( 1 )
	{
		self.totalkills_text SetValue( self.totalkills );
		wait .3;
	}
}



__________________

Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.

OLD MAN WITH GUN ist offline Beiträge von OLD MAN WITH GUN suchen Nehmen Sie OLD MAN WITH GUN in Ihre Freundesliste auf
Rycoon
Teetrinker


Dabei seit: 18.12.2010
Beiträge: 39


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich frage mich wie oft ich Arnold schon erklärt habe, dass in der _globallogic beim damage callback self der ist, wo den Schaden kriegt. Und deshalb kann attacker == self schlecht funktionieren.

Eins noch nebenbei:
Man sollte möglichst kein SetText beim Hud loopen, weil dies auch zu einem overflow führen kann. Deshalb sollte man lieber wie der alte Mann ( old man Zunge raus ) schon sagte SetValue nehmen.

__________________
Ihr lacht über mich weil ich anders bin... ich lache über euch, denn ihr seid alle gleich... grosses Grinsen
Rycoon ist offline E-Mail an Rycoon senden Beiträge von Rycoon suchen Nehmen Sie Rycoon in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Opferlamm-Clan Board » Call of Duty 4 » Fix-Dateien, Modding-Fragen, Scripting » G_FindConfigstringIndex: overflow (309): ' Headshot Kills: 18 (9)'

Impressum ||Datenschutzerklärung

Forensoftware: Wbb - WoltLab GmbH || zum Archiv