Hallo Leute,
Ich hoffe es hat jemand Rat.. Wie kann ich zum Beispiel beim Array:
enum testenum
{
b,
}
new Test[testenum];
den Wert b auslesen?
Auslagern geht ja durch
Test[b] = 5;
aber wie nun den Wert 5 auslesen?
Hallo Leute,
Ich hoffe es hat jemand Rat.. Wie kann ich zum Beispiel beim Array:
enum testenum
{
b,
}
new Test[testenum];
den Wert b auslesen?
Auslagern geht ja durch
Test[b] = 5;
aber wie nun den Wert 5 auslesen?
Ich verstehe nicht ganz was du meinst.
Willst du wissen,wo im enum sich 5 befindet bzw b?
Denn Ich glaube kaum,dass du das meinst:
new
x = Test[b];
Doch das hatte ich gemeint. Nein ich hab das Problem falsch geschildert, habe es nun hinbekommen. Den Aus irgendeinem Grund mag CallLocalFunction keine Array definitionen haben, sondern die Zahl muss direkt wiedergegeben werden. Aber nunja mein nächstes Problem wäre noch schlimmer und nicht zu beheben ^^.
Beispiel zu meiner Aussage:
new TestArray[5];
TestArray[3] = 2;
CallLocalFunction("TestPublic", "d", TestArray[3]); //Das mag er nicht und crasht bei Ausführung den Server ^^.
Lösung:
new TestArray[5];
stock GetIntegerFromTestArray(id)
{
return TestArray[id];
}
CallLocalFunction("TestPublic", "d", GetIntegerFromTestArray(3));
Das wäre somit gelöst. Keine Ahnung warum er mit dem Array Angabe crasht...
Kann ich mir nicht vorstellen,deswegen haben Ich es selber mal getestet.
Unten siehst du den Code,bei mir hat es nicht gecrasht.Liegt vielleicht auch an der Server Version,Ich habe es mit 0.3a r7 getestet und als Filterscript und GameMode geladen.
#include <a_samp>
new TestArray[5];
enum e_Test {
a,
b,
c,
d,
e
}
new eTest[e_Test];
public OnFilterScriptInit()
{
TestArray[3] = 2;
eTest[code=c] = 5;
CallLocalFunction("TestPublic", "d", TestArray[3]);
CallLocalFunction("TestPublic", "d", eTest[code=c]);
return 1;
}
forward TestPublic(integer);
public TestPublic(integer) {
printf("integer: %d",integer);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
//Edit: Mit enum's habe Ich dort auch keine Probleme.
Nein, es hat nichts mit der Version zu tun.
Lustig dennoch, dass ich das Problem nicht mehr rekontruieren kann ^^. Hab vorher alles mögliche ausprobiert, damit es wieder geht und nun taucht kein Crash mehr auf Vielleicht lasse ich ein Programm aufzeichen, was ich alles mache, damit ich es später als Film reinziehen kann um anzusehen, was ich falsch gemacht habe... Naja Vielen Dank Goldkiller
Goldkiller: Alles klar,mach das ;D