Ist es möglich C++ oder sont eine programmier sprach n den RPG maker 2000 einzu bauen
Hi
Also ich will ein script bauen welches die Prozente der HP errechnett also
HP/MaxHP=[Ergebniss]
[Ergebniss] x 100 = genaue prozenzahl
so problem ist nur das RPG maker sehr sehr wennige zeilen für Variablen hat und das ist WICHITG bei genauer berrechnung die wirklich wichtig ist sonst zeigt die HP anzeige bei 5 von 294 HP 0% an und das sit nun total müll.
Also ist es möglich C++ pascal php oder sonst eine programmier sprache in den maker einzubauen ob per patch oder ohne.
Sagen wirs so: Wozu das ganze? Was bringt es? Das man Nachkommastellen sieht?
Versetz dich mal in die Lage des Spielers. Ist es dem wichtig, ob da nun 1,23645 % steht oder 1 % ? Genau, der Spieler bevorzugt 1%.
Gut, aber das, obwohl man mehr als 0 HP hat, das als 0% angezeigt wird, ist natürlich schlecht. Kann man aber umgehen.
<>FORK Optn: Variable Prozentzahl = 0
<>FORK Optn: Hero HP 1 above
<>Change Variable: Prozentzahl = 1
<>END Case
<>END Case
so oder so reichen die vars ja bis 999999
da kannste auch vorher bei ner maximalen hp von 999 mal 1000 rechnen, dann hasse deinen komastellen, musst halt später nur wieder teilen
Kommt das gleiche raus, bei 5 HP von 294 würde er 0% anzeigen.
...
Naja, eigentlich müsste 1.70068... , gerundet also 2 bei rauskommen.
Dhan hat allerdings schon recht, der Maker rundet nämlich immer auf ganze Zahlen.(Und das btw. auch noch ziemlich falsch, wie man später merken wird.)
Wenn man mit dem Schritt "HP/MaxHP" beginnt, also in unsrem Beispiel 5/294, dann kommt da ein ziemlich kleiner Wert raus, ca. 0.017, der Maker rundet diesen Zwischenwert ab, und zwar auf 0. Wenn man den Wert dann mal 100 nimmt ist klar, das wieder 0 rauskommt.
Beginnt man jedoch mit HP*100 und teilt dann erst durch MaxHP, dann ist der Rundungsfehler viel geringer, in unserem Beispiel erhält man 500 als Zwischenergebniss, das ganze wird dann durch 294 geteilt, ergibt ca. 1.70068..., ansich das richtige Ergebniss, allerdings rundet der Maker komischerweise auf 1, scheinbar kann er nur abrunden, nicht aufrunden.
Um den Rundungsfehler weiter zu minimieren, könnte man dem Maker einen Rundungsalgorhitmus beibringen, aber für ne simple HP-Anzeige wohl zu übertrienen. ^ ^
Von daher am besten mit HP*100/MaxHP rechnen, sonst bekommst du noch öfter solche Rundungsfehler.
Zitat
<>FORK Optn: Variable Prozentzahl = 0
<>FORK Optn: Hero HP 1 above
<>Change Variable: Prozentzahl = 1
<>END Case
<>END Case
...
Das würde ich ergänzend auch noch einbaun, wie wir ja gesehen haben neigt der Maker zum abrunden, von daher würde im Fall 1 > HP*100/MaxHP
wieder die 0 auftauchen, obwohl der Held noch über HP verfügt.
Edit:
Zitat
und runden tut der gar nicht sondern schneidet einfach den rest ab, so einfach ist das, von runden kann hier wirklich nciht die rede sein.
...
Uhm, ja hast recht. Runden ist wohl wirklich das falsche Wort. ^^
der maker rechnet halt auf c++ basis mit int zahlen und nicht mit double oder sonstwas und runden tut der gar nicht sondern schneidet einfach den rest ab, so einfach ist das, von runden kann hier wirklich nciht die rede sein.
meines wissens wird php programmier z.b. wurde auch dieses FORUM programmier und somit ist es im weitesten sinne eine serverseitige programier sprache da der server wo die .php datei liegt diese in eine html datei convertiert .
naja aber über Programmier sprachen kann man steiten bis man blau z.b. ob Logo wirklich ne programmier sprach ist oder nur ein witz ?
ps.Ich glaube auhc das php ne programmier sprach ist da es perl (eine echte programmier sprache) sehr stark änlich ist.
puh das war aber ein langer text.
Damit das auhc kein spamm ist :
ich habe ne anderre lösung gefunden :
sobald die HP unter 10% ist kommt da wo der lebensbalken war ein gefahr zeichen
Als Programmieren bezeichnet man das erzeugen eigenständiger Programme während Scripten eben uneigenständiegt Programme erzeugt.
Da PHP interpretiert werden muss (vom Server), ist es eine Scriptsprache.
Winlogo... ist ein extrem beschränkter Editor, man würds als Scripten bezeichnen, verdient hats den Titel aber net ^^
--
class Dog { //(...)
boolean getBuddha() { throw NullPointerException; } }
Spielt Hero-Chan!
Original geschrieben von dadie ps.Ich glaube auhc das php ne programmier sprach ist da es perl (eine echte programmier sprache) sehr stark änlich ist.
...
erstma is pearl keine programiersprache sondern der größte schund den es gibt und ausserdem ist php eher eine vverknüpfungssache.
ich selber würde php zwar auch als eine art sprache sehen jedoch auch eher als scriptsprache, da es noch imemr auf html basiert und ohne html nicht funktionieren würde
Zwar ist das hier totales OT, aber ich möchte auch mal mit meinem h4x0r-Wissen angeben:
Mit PHP kann man nicht nur Web-Anwendungen schreiben, es ist auch möglich eigene Command-Line-Programme zu erstellen, ist sogar manchmal echt nützlich. Zwar braucht man immernoch den PHP-Interpreter, doch braucht man für Java nicht auch einen? Okay, der Unterschied zwischen Java und PHP ist schon ein bisschen größer... mh...
Zitat
Fab4
ich selber würde php zwar auch als eine art sprache sehen jedoch auch eher als scriptsprache, da es noch imemr auf html basiert und ohne html nicht funktionieren würde
...
DAS ist ja wohl mal der größte Schund den ich je gehört hab. Erstens hat die Art der Sprache überhaupt nichts mit HTML zu tun. HTML entscheidet doch nicht darüber obs eine Skriptsprache ist?! Zweitens: PHP funktioniert auf jedenfall ohne HTML. Es kann genauso gut mit Bildern, mit Flash, mit alllen Arten von XML und vielem mehr umgehen. Die HTML-Ausgabe wird halt nur am meisten benutzt.
Ich könnte jetzt noch viel mehr schreiben, doch eigentlich hab ich besseres zu tun.
Ansonsten: Dadie, du machst das absichtlich, oder? Du machst das echt absichtlich. Nur für ein bisschen Ruhm machst du dich so zum Affen. Das ist Arm. Sehr Arm. Und wenn du's nicht absichtlich machst... mein Beileid, (...).
Aufgrund von Beschwerden, ein klein wenig editiert. >_>. - Ding.
Es ist im prinzip nicht moeglich externe scripte mit parametern aus dem Maker zu fuerttern, bzw nur mit sehr grossem aufwand.
Dein Problem laesst sich aber mit marginalen Mathematikkentnissen (Um genau zu sein Grundschulniveau) loesen, und zwar auf dem Weg der schriftlichen Division
Ein kleines Beispiel : Du hast 7 von 114 HP und wisst die Prozente bestimmen ...
Zuerst multiplizierst du die HP mit 100 und speicherst das in einer Variable (nennen wir sie einfach A).
Zudem speicherst du die Anfangsaddresse eines leeren Variablenblocks in B (z.B. 100).
*) Dann dividierst du die Variable A durch die maxHP und speicherst das Ergebnis in der Variablen, auf die B zeigt (VarNo.). Danach erhoehst du B um 1.
A: 700 ; [100] 6 ; B 101
Nun bestimmst du den Rest der Division von A durch MaxHP mit dem Modulo-operator % und speicherst das Ergebnis in A. Danach multiplizierst du A mit 10.
A: 160
Danach gehst zu zurueck zu *) und wiederholst alle schritte so lange, wie du Nachkommastellen brauchst. Bei jeder Rechnung erhaellst du eine weitere Nachkommastelle, die nacheinander auf die Variablen [101], [102], [103] usw gespeichert werden. Jede dieser Variablen wird dann genau eine Ziffer enthalten.
Hier nachfolgend die Ergebnisse der naechsten Durchlaeufe
Das richtige Ergebnis ist somit 6,14035087...
Da du nun selber runden musst, siehst du dir die letzte nachkommastelle, die fuer dich wichtig ist, an, und ist sie groesser als 4, addierst du 1 zur vorletzten Stelle dazu. In jedem Fall setzt du nun die letzte Stelle auf -1, damit du ein Stoppsignal hast, falls du mal mit der Zahl weiterrechnen willst. Alternativ kanst du natuerlich auch bei jeder Zahl vorher festlegen, wieviele Nachkommastellen sie erhalten soll ^^
@Dingsi ich kann deine Misslaune gut verstehen!
PHP heißt PEARL Hypertext Processor und ist eine SKRIPTSPRACHE!
PHP basiert nicht auf HTML...HTML ist schon wieder komplett anders aufgebaut... (fette beleidigung sowas zu behaupten^^)! PHP basiert, wie der name schon sagt auf dem PEARL-System! PEARL ist auch keine Programmiersprache... Wir gehen mal etwas auf den GROßEN nicht kleinen Unterschied von Programmiersprache und Skriptsprache ein..
(ganz einfach PHP und Pascal: )
Wenn man in einem Pascal Compiler (zb Delphi^^) Pascal code Implementiert hat man die Möglichkeit diesen Nachher in eine EXEcutable-File zu Compilen! Dabei wird der Pascal code in einen sogenannten Binary-Code transveriert! Mit diesem Code können wirklich nur die wenigsten was anfangen... oder man lässt diesen halt vom Betriebssystem als Form o.ä. darstellen! Diese EXE-Files sind nicht Webfähig.. also ich meine jetz, man kann sie nicht als Internetseite online Stellen! Aber man kann natürlich Website-Files mit aufrufen! Bei PHP ist dass komplett andres.. man kann zwar mit Texteditor wie bei Pascal den Code zusammenfassen! Aber dieser wird nicht Compiled sondern ganz einfach auf den Webserver upgeloaded! Wenn nun ein User diese File von zuHasue aus im HTTP aufrufen will, fängt das auf dem Server installierte PHP-Programm an, diesen Code zu generieren! Unzwar in HTML!
Dass waren die äußerlichen Unterschiede.. hab jetzt keine Zeit auf den Code einzugehen!
mfg
Dai
--
Geändert von Dai2kMaster (14.07.2004 um 19:09 Uhr)
PHP heißt PEARL Hypertext Processor und ist eine SKRIPTSPRACHE!
...
o____O. Whadda shit. PHP heißt PHP Hypertext Preprocessor. Das doppelte PHP mag euch seltsam vorkommen, ist aber so. Rekursives Akronym nennt sich das. Ist grad voll angesagt. ^_~. PHP hat also nichts mit PEARL oder was auch immer zu tun. O_o.
Es wird die Zend-Engine benutzt, die von den beiden netten Herren Zeev Suraski und Andi Gutmans entwickelt wurde. Hail to them.
Zitat
PHP basiert nicht auf HTML...HTML ist schon wieder komplett anders aufgebaut...
...
Hat das irgendwer behauptet? Hier wurde nur gesagt, dass PHP nur zur Ausgabe von HTML fungiert.
BTW, gut dass du das ansprichst. PHP und HTML haben doch was gemeinsam. Ursprünglich war der Hypertext Preprocessor ja doch nur dazu entwickelt worden Hypertext auszugeben und die beste Form Hypertext zu formatieren ist nun mal die Hypertext Markup Language. Aber inzwischen kann PHP ja wie gesagt schon lange mehr... Achja, Hypertext ist, wie ihr vielleicht bereits gemerkt habt, der Name für Internet.. Internet-Text. Oder so. ^O^. Daher auch das Hypertext Transfer Protocol
Noch ein kleines Detail zu deinem Beispiel:
Zitat
(ganz einfach PHP und Pascal: )
Wenn man in einem Pascal Compiler (zb Delphi^^)
...
Pascal ist eine eigene Sprache und hat seine eigenen Compiler. Delphi ist auch eine eigene Srache und hat ebenfalls seinen eigenen Compiler. Delphi halt. Der ehemalige Name von Delphi ist Object Pascal, was eine weiterentwickelte Form von dem alten Pascal ist/war. Also wissen wir alle nun: Pascal != (ist nicht gleich) Delphi.
Zitat
Wenn nun ein User diese File von zuHasue aus im HTTP aufrufen will, fängt das auf dem Server installierte PHP-Programm an, diesen Code zu generieren! Unzwar in HTML!
...
Der PHP-Interpreter interpretiert, wie der Name schon sagt, den geschriebenen PHP-Code und wenn da jetzt drin steht "Gebe "<b>Bla</b>" zurück." Dann tut der Interpreter das halt.
Der Unterschied zwischen Compiler und Interpreter ist, dass der Compiler einmalig eine ausführbare Datei erstellt. (Übrigens nicht zwangsläufig eine *.EXE-File, auf Unix System haben ausführbare Datien garkeine Dateiendung, afaik)
Ein Interpreter nimmer bei jedem ausführen den Code neu und interpretiert ihn halt auch jedes mal wieder neu.
Man könnte deinen Beitrag jetzt noch viel weiter auseinander nehmen, aber das war glaube ich das wichtigste. .
Ich kann halt so schlecht erklären. :/
Achja, kann das hier net geschlossen werden oder aufgeteilt und ins Programmier-Forum, oder so? Langsam wirds doch echt n bisschen abwegig.
Da das nur mehr herzlich wenig mit dem Maker zu tun hat, hab ich den Thread umbenannt und hierher verschoben. Es geht ja eh nur mehr um PHP, HTML und Konstorten,...und nebenbei um andere Sprachen, man möge mir verzeihen, falls ich falsch verschoben habe. ^^
PHP hat also nichts mit PEARL oder was auch immer zu tun. O_o.
...
Doch hat es: PHP, die Personal Homepage Tools, wurden 1994 von einem Mann entwickelt, dessen Namen ich leider vergessen habe. Das Programm interpretierte damals in HTML eingebettete Pearl Befehle.
PHP3, mit dem PHP erst richtig populär wurde, wurde von Zeev Suraski und Andi Gutmans neuentwickelt und erhielt den neuen Namen Hypertext Preprocessor.
Original geschrieben von mitaki Doch hat es: PHP, die Personal Homepage Tools, wurden 1994 von einem Mann entwickelt, dessen Namen ich leider vergessen habe. Das Programm interpretierte damals in HTML eingebettete Pearl Befehle.
PHP3, mit dem PHP erst richtig populär wurde, wurde von Zeev Suraski und Andi Gutmans neuentwickelt und erhielt den neuen Namen Hypertext Preprocessor.
...
Okay, aber PHP in der heutigen Version nicht mehr. >.>.