1)
mach aus der -4 eine 4 un dann gehts doch recht einfach.
da haste in der 2. variable die zahl 10000 (10^4) und kannst damit die zahlen vor und nach dem komma berechnen.
36138 / 10000 = 3
36138 mod 10000 = 6138
=> 3,6138
allerdings kann man auch gleitkommazahlen in den variablen speichern.
dazu musst du bei den event commands auf der letzten seite ganz unten den befehl call script verwenden.
$game_variables[ID] = 3.6138
ID durch die variablen id ersetzen und darauf achten dass die zahl kein komma sondern einen punkt hat.
2)
uff das is doch mal ne frage ._.
es wurde extra ein eigener synthesizer eingebaut damit die midis auf allen pcs gleich klingen, den jetzt zu deaktivieren ist leider nicht möglich.
man könnte aber versuchen die datei über die winmm.dll abzuspielen.
leider weiß ich nicht genau wie...
3)
man kann dieses automatische umdrehen ausstellen, aber das gilt dann für alle events.
Im script Game_Character zeile 196 muss turn_toward_player gelöscht oder ein # davor geschrieben werden.
4)
grenzen: keine - möglich: alles!
bei rgss erweiterungen ist es immer nur eine frage der erfahrung und der performance (niemand mag ein 3d spiel mit 3 fps^^)
--Es ist ein magisches Liopleurodon =D
Es geht um das wie, und nicht um das weshalb. ^^
Im Grunde ist das Prinzip: Hauptspiel > Profile > Jeweils eigene Speicherstände.
Aber wenn man Shining Advances Antwort glauben schenken darf, dann ist das alles nur eine Frage der Materie.
Zu 1.
Jetzt stellt sich mir noch zusätzlich die Frage, wie man z.B. auf ein Ergebnis 0.5 kommt. Wenn man Variablen dividiert (z.B. 50/100), dann ergibt das immer 0 (und nicht wie im Beispiel 0.5).
Ich will eigentlich ganz simpel eine Formel anwenden die den kleineren Wert durch den grösseren teilt, und mit einem Prozent Wert multipliziert.
Dazu bitte auch eine Variablen und eine RGSS Variante (Schulmathematik ist schon eine Weile her). ^^
Zu 3.
Funktioniert einwandfrei! (Da hätte ich noch lang mit dem Maker herumprobieren können...)
Aber was muss ich nun in Zeile 196 angeben, damit ich diese Funktion über Variablen/Switches ein oder ausschalten kann? (attr_reader?)
Die Fragen sind eigentlich nur da, weil man sich mit dem Thema noch zu wenig auseinander gesetzt hat, oder keine eigene Lösung findet (ich schätz mal, so geht es den meisten). Demnächst werd ich mir RGSS Tutorials durchschaun, und hoffe, das solche Fragen in Zukunft nicht mehr auftauchen werden. ^^
zu 1
mit event commands gibts 2 möglichkeiten (wobei die letzte wohl ein wenig mit rgss arbeitet)
1)
rechne doch einfach mit ganzzahligen prozent statt dezimalbrüchen.
2/5 wäre 40%
also
2*100/5=40
wichtig dabei ist, dass vor dem dividieren mit 100 multipliziert wird.
(ansonsten kommt 0 dabei raus)
wenn du jetzt 40 prozent von zb 120 haben willst rechnest du
120*40/100=48
in diesem fall muss möglichst spät durch 100 geteilt werden.
(ansonsten kommt 40 raus)
2)
wenn eine zahl in der rechnung bereits eine gleitkommazahl ist ist das ergebnis ebenfalls von diesem typ.
durch
$game_variables[ID] = $game_variables[ID].to_f
wird die zahl zu einer gleitkommazahl.
nun kannst du diese variable ganz normal über event commands durch eine größere zahl teilen etc.
die zahl wird aber automatisch wieder eine ganze zahl wenn du ihr einen wert zuordnest ("set" müste die operation bei den event commands lauten)
die komplette rgss lösung wäre
var 1 und 2 ergeben hierbei den prozent wert, welcher in "prozent" zwischen gespeichert wird.
danach wird variable 3 mit dem prozent wert multipliziert.
zu 3
das über switches zu regeln wäre nicht so gut da es erneut für alle events gilt.
es sei denn es soll eh für alle events auf einer karte gelten dann is das ganze kein problem.
um es über switches/variablen zu machen kannst du hinter turn_toward_player eine if anweisung schreiben
bsp
turn_toward_player if $game_switches[ID] == true
oder
turn_toward_player if $game_variables[ID] == 1337
bei den switches ist true => an und false => aus
wie es mit den variablen funktioniert sollte eigtl klar sein...
hat die var den wert 1337 dreht sich das event zum helden.
falls sich dieses drehen aber nur für bestimmte events gelten soll kann ich dir folgende möglichkeit ans herz legen
turn_toward_player unless @event.name.include?("DIRFIX")
in diesem fall drehen sich nur die events die NICHT DIRFIX im namen haben (das feld oben links bei den events).
(im namen haben bedeutet "aBcDIRFIX42dEf" wird ebenfalls akzeptiert - aber daran denken dirfix groß zu schreiben)
--Es ist ein magisches Liopleurodon =D
Danke, das hat mir schon um einiges weitergeholfen. :)
Das wäre die perfekte Lösung. ^^ Hatte soetwas auch schon in einem Mini-Map Skript entdeckt, wo ein Comment den Typ angibt. Aber ich dachte, das wäre um einiges komplizierter zu gestalten.Zitat
Mfg Scha
Nur mal so als Einwurf, eigentlich wurde der Thread "Kleine RMXP Faq" schon als Sammelthread für Fragen benutzt.