Archiv verlassen und diese Seite im Standarddesign anzeigen : Mein Browsergame
Asrag
22.07.2006, 12:21:19
Hallo,
Ich möchte jetzt ein einheitliches Thema, zu meinen Browsergame, erstellen, damit ich nicht immer neue erstelle. Erstmal möchte ich klären was ich überhaput vorhabe. Ich möchte ein mmorpg (massiv multiplayer online rollen playing game ) in Form eines Browsergame erstellen. Wie Ihr bestimmt alles wisst kann ein Charackter in ein solches Spiel verschiedene Zauber etc. erlernen. Nun kommt mein bisher größtes Problem. Wie speichere ich die Zauber die man schon erlernt hat. Was ich nicht machen will sind Spalten wie zum Beispiel.
Zauber 1: (erster erlernter Zauber)
Zauber 2: (zweiter erlernter Zauber)
.
.
.
Da würden bis zu 100 Spalten auftreten nur für einen User. Gibt es eine Möglichkeit es mit 2 Spalten zu machen eine für den user die andere für die Zauber die dann immer geupdatet wird, aber man damit trozdem noch arbeiten kann?
Ich hoffe ich versteht alles.
MFG
feuervogel
22.07.2006, 15:58:51
du machst zeilen
id | userid | zauber
1 | 1 | zauber1
2 | 1 | zauber2
3 | 2 | zauber24
3 | 2 | zauber33
und dann siehst du anhand der benutzer ids:
id | name
1 | feuervogel
2 | asrag
welcher benutzer welche zauber beherrscht und alles schön dynamisch abgespeichert...
Asrag
22.07.2006, 17:39:01
Super vielen dank ich probiers dann mal aus. Da kommt noch ne frage auf, dafür ist ja hier das Thema da; wenn ich nun das mit den Zaubern etc habe will man ja gegen Monster kämpfen. Es gibt ja in meinen Browsergame verschiedene Zonen, da isgt festgelget welche monster wie oft vorkommen.
So siehts aus.
spalte: land,zone,wildschwein ...
eintrag: Planita, Wald, 4
So die vier gibt an wie oft das Wildschwein in der Zone vorkommt. Gibt es nun eine Möglichkeit, den namen vier mal angezeigen zu lassen? Wenn man daraus zb ne 5 macht soll der Namen des Wildschweins 5 mal angezeigt werden.
Ich habe gedacht das man das mit nem "foreach" Befehl macht aber genau weiß ich es nicht wie ich den Code forme. Hast du da nen Vorschlag?
MatMel
22.07.2006, 17:49:23
Hallo
Du könntest auch bei den Benutzern eine Spalte vom typ "set" dazumachen.
Diesem Set dann die 100 Zauber als Möglichkeit geben und dann kannste das für jeden Zauber den man lernt ankreuzen.
Ist glaub ich noch leichter als wenn man mehrere Tabellen macht.
Gruß,
Matze
Asrag
22.07.2006, 18:10:22
Wäre auch ein Versuch wert, wie muss dann die Spalte aufgebaut werden. Also null oder not null? Denn ich habe noch nie mit diesem Typ gearbeitet
MatMel
22.07.2006, 19:15:49
Da kannst du alles nachlesen: http://dev.mysql.com/doc/refman/4.1/en/set.html
Also ich hab die Tabellen immer mit phpmyAdmin erstellt, da konnte man dann durch Kommas getrennt die einzelnen Sachen reinschreiben.
Einfügen bzw auslesen kannste so:
INSER INTO table SET setcol="eins, zwei, drei"
SELECT * FROM table WHERE setcol = "eins, drei"
Asrag
22.07.2006, 19:19:43
Okay ich werde es mir mal genau angucken.
Nun brauche ich mal ne schnelle Lösung unzwa habe ich es mal notdürftig mit den Techniken gelöst. So nun soll er die Techniken raussuchen die man schon beherscht. Und die Techniken soll er dann in einen Select menu darstellen, wie mache ich das oder wo muss ich die value setzen in den <select> oder <option> ?
MFG
Asrag
23.07.2006, 13:05:15
Okay das mit den Techniken ist gelöst aber gibt es eine möglichkeit den Namen eines Spaltenkopfes auszulesen und mit einen echo auszugeben?
Also zb :
tabelle monster: Wildschwein, Krähe
Eintrag 4,3
So jetzt soll er nicht die 4 oder die 3 ausgeben sondern den Spaltenkopf nahmen Wildschwein oder Kräher oder beides
Asrag
24.07.2006, 15:42:59
habe es jetzt anderes gemacht ^^
Asrag
24.07.2006, 15:50:16
Sorry wegen dem doppel post aber ich bekomme immer einen Fehler und ich weis nicht warum.
Meine Datenbank helden sieht wie folgt aus :
user
skillpunkte
und mein update
$punkte= $lvl * "5";
$up1= @mysql_query("UPDATE helden SET lvl= '$lvl2', lvlup='$lvlup', skillpunkte= '$punkte' where user='".$_SESSION['user']."'") or die(mysql_error());
und er sagt mir immer
Unknown column 'skillpunkte' in 'field list'
aber warum
Quago
24.07.2006, 15:53:54
du musst das feld auch in deiner datenbank erstellen!!!
schau mal nach ob du es in der definition hast und wenn ja ob es gleich geschrieben ist und dann kannst du noch schauen ob du es in der richtigen reihenfolge wegschreibst oder nicht!!!
Asrag
24.07.2006, 15:56:33
´ja die spalte gibt es ja und gleichgeschrieben habe ich es und ich habe soggra den namen aus der datenbank kopiert und dann eingefügt um fehler zu vermeiden aber nichts es kommt ständig der fehler was meinst du mit definition
Quago
24.07.2006, 16:01:02
definition ist deine datai in welcher du deine tabelle aufbaust wo du die einzelnen felder schreibst damit dein prog weis wo was hingehört und welches value dein input haben darf!!!
das kannst du auch noch überprüfen stimmt dein value???
oder hast du dir ein feld gemacht mit timformat???
o.ähnlichem??
ansonsten poste mal deinen insert befehl!
für deine sql datenbank
Asrag
24.07.2006, 16:35:49
hihi hatt neben dem namen ein leerzeichen und deswegen kam der fehler, trozdem danke der mühe
xxxxxx97
01.07.2007, 23:28:07
hallo [gelöscht - bitte keine plumpe werbung]
vBulletin® v3.8.3, Copyright ©2000-2012, Jelsoft Enterprises Ltd.