PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zu wenig Variable


Psycho_D
19.09.2005, 23:00
Jo mal wieder ein kleines Problem. Wollte jetzt endlich bei meinem Projekt die EXP verteilung machen genau wie das Geld. Mein Problem ist nur, wie kann ich bitte mehr als 9999 Variablen verwenden ? Wollte schließlich das man mehr als 9999 Gold (oder so) und mehr als 9999 EXP kriegen kann ....

BenniXD
19.09.2005, 23:09
Ich frage mich, ob du die funktion der Variablen richtig verstanden hast...
Schließlich speichert eine Variable einen Wert, so dass du für Geld oder Erfahrung nur eine Variable gibt...
Und da kann ich ich einen Wert von bis zu 999999 eingeben...

Wenn du aber trotzdem mehr Variablen brauchst, könntest du es mit dem RessourceHacker versuchen, um die maximale Anzahl zu erhöhen.

.ashitaka
19.09.2005, 23:10
Entweder alles selber proggen oder mit dem Ressource Hacker bearbeiten.

Psycho_D
20.09.2005, 00:47
Also eine Variable geht nur bis 9999 das ja mein Prob und mir ist gerade aufgefallen das es im falschen Forum ist ...

Es geht eigentlich um XP ... man bin ich blöd :aha:

WilderDudelSack
20.09.2005, 02:41
Also eine Variable geht nur bis 9999 das ja mein Prob und mir ist gerade aufgefallen das es im falschen Forum ist ...

Es geht eigentlich um XP ... man bin ich blöd :aha:

weiss ned wie's da beim xp aussieht, ob man den maximalwert einer variable intern per scripting in ruby beeinflussen kann.. schätze aber eher ned. eventuell wäre ein anderer weg auch noch über den ressource hacker, sofern der beim xp funzt. hättest das ganze eher im xp forum posten sollen..

aber ich denke btw, du brauchst ned mehr als den maximalwert von 9'999. 9'999 is scho genug, wenn du das ganze genug gut balancierst.

MagicMagor
20.09.2005, 11:14
Also eine Variable geht nur bis 9999
Bei mir nicht. Die Game-Variablen sind einfache Ruby-Variablen und als Integer damit praktisch unbegrenzt. Wenn dir das Eingabefeld Probleme macht, weil es nur zu kleine Zahlen zuläßt, greif auf die Variablen per Ruby zu. Im Array
"$game_variables[]" sind alle zu finden. Einfach in die eckigen Klammern die ID der Variable und du kannst damit machen was du willst.

Psycho_D
20.09.2005, 11:23
Jo cool danke .... vielleicht klappt das ja endlich mal :)

-=Kain=-
06.10.2005, 15:44
Entweder alles selber proggen oder mit dem Ressource Hacker bearbeiten.


mit den erreichst du überhaupt nichts höchsen schalter lassen sich vll. mit dieser methode hochschrauben aber direkt varis müsste man schpon sich mit hexdezimal auskennen es gibt aber schon einzelne skripte die es auch schpn hochschrauben,

mal sehen ob ich welche finde

Scar
07.10.2005, 16:04
Die Lösung wurde doch bereits gegeben...
und auch integer sind nicht unendlich Magic Magor...

Solidsnake
07.10.2005, 16:13
Die Lösung wurde doch bereits gegeben...
und auch integer sind nicht unendlich Magic Magor...
Stimmt genau, INT Variablen gehen von -32768 bis 32768. Unsigned INT Variablen gehen dagegen von 0 bis 65536... Sofern ich mich nicht irre ;P

Aber ob man das im Ruby so einstellen kann, keine Ahnung.

Sephiroththe23
07.10.2005, 18:33
Er sagte "praktisch" unbegrenzt - und wer praktisch in einem Projekt mehr als 65.000 Variablen verwendet, der hat keine Ahnung, was er da tut.

Abgesehen davon kannst du theoretisch unbegrenzt Variablen in Ruby erzeugen, warum haltet ihr euch an Integer fest?

MagicMagor
07.10.2005, 18:45
Integer:
The abstract class for integers. Its subclasses are Fixnum and Bignum. These two types of integers are automatically converted into one another according to their values. Integers can be treated as infinite bit strings for bit operations.

....
Bignum:
The class for long integers, limited only by memory size. The result of an operation is automatically converted into a Fixnum if its value is within range; conversely, if the value is out of Fixnum range, it is extended into a Bignum.
Hervorhebung von mir.
Klassiche Integer sind begrenzt (übrigens ist die genaue Größe der "Integer" von Sprache zu Sprache unterschiedlich in Basic und Co sind Integer kleiner als zB in C++), das weiß ich. Ruby-Bignums dagegen sind, laut Handbuch, alleine durch den Speicher begrenzt, ergo kann man keinen genauen Maximalwert angeben. Das "Praktisch" bezieht sich darauf, daß man eigentlich nie an eine Grenze stößt, die einen hindert. Faktisch gesehen ist die Variable ja begrenzt (durch den Speicher).

@Seph
Es ging um den Wertebereich einer einzelnen Integervariable, nicht um die Anzahl. Der Anzahl selber sind in der Tat keine Grenzen gesetzt. Wer mehr als 5000 Integer braucht, soll sich ernsthaft mit Ruby auseinandersetzen. Bei komplexen Scripten immer noch auf die Events zu setzen ist, wie mit ner 10 Kg-Eisenkugel am Fuss, nen Marathon zu laufen.

Der Drake
07.10.2005, 18:53
Die Lösung wurde doch bereits gegeben...
und auch integer sind nicht unendlich Magic Magor...
Ruby hat zu diesem Zweck intern eine "Bignum" Klasse, welche Zahlen die über normale Integer hinaus gehen verwaltet. Der Wechsel ist auch transparent, deshalb kann man sehr wohl sagen das "Integer" in Ruby unbegrenzt sind...
(Edit: *sigh* zu langsam...)

weiss ned wie's da beim xp aussieht, ob man den maximalwert einer variable intern per scripting in ruby beeinflussen kann.. schätze aber eher ned.
Muss man sogar, wenn man den Editor hacken will:
class Interpreter
[...]
# Maximum limit check
if $game_variables[i] > 99999999
$game_variables[i] = 99999999
end
# Minimum limit check
if $game_variables[i] < -99999999
$game_variables[i] = -99999999
end
[...]
Ansonsten funktionierts aber wie gehabt mit dem Ressource Hacker.