game maker
Gebruikersnaam:
Wachtwoord:
Home Info Forums Help
Welkom, Gast. Alsjeblieft inloggen of registreren.
De activerings e-mail gemist?
+  Forums
|-+  Werken met Game Maker
| |-+  Gevorderden (Moderators: Erik Leppen, ericlegomeer, BlueMoonProductions)
| | |-+  Accounts in ini-bestanden: waarom werkt deze code niet? NIEUWE VRAAG
Pagina's: [1] 2
« vorige volgende »
Print
Advertenties

bilie888
Gebruiker


Offline Offline

Berichten: 175

1000... ik ben er bijna! bijna... = )


« Gepost op: 1 April 2011, 18:13:26 »

GML:
(Verwijdert wegens teveel plaats)
Moderatie: gebruik duidelijke topictitels


Ik heb een nieuwe vraag:

GML:
ini_open("accounts")
if ini_section_exists('user1'){
'de codes komen hier'
}
else {
show_message('You need to create a character first')
room_goto(new_account)
}
ini_close()

Als ik een account aanmaak en ik wil daarop spelen dan zegt ie dat 'You need to create a character first' maar waarom?   Waar zit de fout? Twijfelachtig

« Laatste verandering: 4 April 2011, 14:25:50 door bilie888 »

game met vliegtuigen bezig.
nog geen naam PM me als je er 1 hebt
Naar boven Gelogd

Wout91
Gebruiker

Offline Offline

Berichten: 370

Hey!


« Antwoord #1 Gepost op: 1 April 2011, 18:19:53 »

Ten eerste de vraag: wat werkt er dan niet? Maar ik denk dat je '{' en '}' moet gebruiken. Nu doet die telkens kijken of de ini key bestaad, zoja? sluit de ini. Maar je zou het zo moeten doen (denk ik ik weet niet wat je fout is):
GML:
ini_open(..)
if ini_key_exists(..){ //<<deze dus
     ini_close()
     ini_open(..)
     if ini_key_exists(..){
          ini_close()
          if ini_key_......
     }//en ook weer sluiten
}//en ook weer sluiten
Maar je hebt nu wel het probleem, dat als de ini key niet bestaad, word je ini niet gesloten. Maar nogmaals ik weet het probleem niet.


Naar boven Gelogd

Maartenz
Gebruiker


Offline Offline

Berichten: 3417

Ponies


« Antwoord #2 Gepost op: 1 April 2011, 18:20:43 »

Dit is echt de meest vreemde code die ik ooit heb gezien Twijfelachtig Gebruik je 10 ini's voor 1 ding?

Naar boven Gelogd

yazid
Gebruiker


Offline Offline

Berichten: 444


« Antwoord #3 Gepost op: 1 April 2011, 18:30:23 »

Ja indd.. en wat werkt er nou niet?
Maakt het voor ons ook makkelijker uit te vinden wat de oplossing is..


I am a in the GM Quiz!
Naar boven Gelogd

BlueMoonProductions
Globale moderator


Offline Offline

Berichten: 5632

Vanaf heden ook verkrijgbaar in groen en rood.


WWW
« Antwoord #4 Gepost op: 1 April 2011, 19:06:37 »

GML is geen Python, je moet je code wel omsluiten met accolades.

Dit is wat er nu gebeurt:
GML:
ini_open("account1.ini")
if ini_key_exists("playerdetails","playername") // Bestaat ie?
 ini_close() // Sluiten
 ini_open("account2.ini") // En de volgende openen
 if ini_key_exists("playerdetails","playername") // Bestaat ie?
  ini_close() // Zonee, dan sluiten we hem niet
  ini_open("account3.ini") // Maar we gaan hier wel verder

Er simpelweg accolades om heen zet gaat denk ik nog niet werken. Wat wil je precies bereiken?


Naar boven Gelogd

bilie888
Gebruiker


Offline Offline

Berichten: 175

1000... ik ben er bijna! bijna... = )


« Antwoord #5 Gepost op: 1 April 2011, 19:10:51 »

ik wil gewoon een systeem waarmee ik 10 accounts kan creren maar hij zegt altijd dat er iets fout is met die else maar ik denk dat wout gelijk heeft eventjes proberen

EDIT:
het werkt niet maar hij geeft de foutmelding:
GML:
FATAL ERROR in
action number 3
of Mouse Event for Left Pressed
for object create_new_character_comfirm:

COMPILATION ERROR in code action
Error in code at line 33:
   
          else

at position 12: Unexpected symbol in expression.

« Laatste verandering: 1 April 2011, 19:16:18 door bilie888 »

game met vliegtuigen bezig.
nog geen naam PM me als je er 1 hebt
Naar boven Gelogd

Erik Leppen
Forumbeheerder


Offline Offline

Berichten: 9375


WWW
« Antwoord #6 Gepost op: 1 April 2011, 19:16:08 »

Het lijkt mij vele malen handiger om dit in n ini te doen. Dan open je n ini, kijk je daarna welke section er niet bestaat en gooi je je keys daar in. Er is niet voor niets zoiets als sections Knipoog

GML:
var new_section;
ini_open("accounts.ini")
  new_section = "user1"
  if ini_section_exists(new_section) {new_section = "user2"}
  if ini_section_exists(new_section) {new_section = "user3"}
  if ini_section_exists(new_section) {new_section = "user4"}
  if ini_section_exists(new_section) {new_section = "user5"}
  if ini_section_exists(new_section) {new_section = "user6"}
  if ini_section_exists(new_section) {new_section = "user7"}
  if ini_section_exists(new_section) {new_section = "user8"}
  if ini_section_exists(new_section) {new_section = "user9"}
  if ini_section_exists(new_section) {new_section = "user10"}
  if ini_section_exists(new_section)
  {
    show_message("Sorry - limiet bereikt!")
  }
  else
  {
    //nu heb je de kleinste section "userXX" die niet bestaat. Gooi nu gewoon alles daar in:
    ini_write_string(new_section, "playername", name)
    ini_write_string(new_section, "playerlevel", levelchecker)
  }
  //en klaar
ini_close()

Volgens mij heb je dan exact dezelfde functionaliteit maar dan met 80% minder code. Trouwens, als je wil kun je die limiet zelfs ook helemaal weglaten.

GML:
var section_number;
section_number = 1
ini_open()
  while ini_section_exists("user" + string(section_number)
  {
    section_number += 1
  }
  new_section = "user" + string(section_number)
  ini_write_string(new_section, "playername", name)
  ini_write_string(new_section, "playerlevel", levelchecker)
ini_close()
Tadaa! Nog minder code nodig Blij

Codes zijn niet getest trouwens, het gaat om het idee erachter.


Naar boven Gelogd

bilie888
Gebruiker


Offline Offline

Berichten: 175

1000... ik ben er bijna! bijna... = )


« Antwoord #7 Gepost op: 1 April 2011, 19:17:11 »

lol blue (youre good) maar eens proberen Engel

EDIT: erik...

EDIT:
GML:
FATAL ERROR in
action number 3
of Mouse Event for Left Pressed
for object create_new_character_comfirm:

COMPILATION ERROR in code action
Error in code at line 5:
  
{

at position 2: Symbol , or ) expected.

maar de eerst werkt prima maar kun je er nog zo'n string aan toevoegen waardoor je de naam moet invoeren?

EDIT: gedaan

EDIT:

dit is nu mijn code:
GML:
var new_section;
name=get_string("Please enter the name of the character.","")
levelchecker=1
ini_open("accounts.ini")
  new_section = "user1"
  if ini_section_exists(new_section) {new_section = "user2"}
  if ini_section_exists(new_section) {new_section = "user3"}
  if ini_section_exists(new_section) {new_section = "user4"}
  if ini_section_exists(new_section) {new_section = "user5"}
  if ini_section_exists(new_section) {new_section = "user6"}
  if ini_section_exists(new_section) {new_section = "user7"}
  if ini_section_exists(new_section) {new_section = "user8"}
  if ini_section_exists(new_section) {new_section = "user9"}
  if ini_section_exists(new_section) {new_section = "user10"}
  if ini_section_exists(new_section)
  {
    show_message("You already have the max of accounts.")
  }
  else
  {
    //nu heb je de kleinste section "userXX" die niet bestaat. Gooi nu gewoon alles daar in:
    ini_write_string(new_section, "playername", name)
    ini_write_string(new_section, "playerlevel", levelchecker)
  }
  //en klaar
ini_close()
alleen schrijft hij de "levelchecker" niet erin

« Laatste verandering: 1 April 2011, 19:37:55 door bilie888 »

game met vliegtuigen bezig.
nog geen naam PM me als je er 1 hebt
Naar boven Gelogd

yazid
Gebruiker


Offline Offline

Berichten: 444


« Antwoord #8 Gepost op: 1 April 2011, 19:43:22 »

Dat komt omdat het een real is.
je kunt ook doen ini_write_real(levelchecker) of
in_write_string(string(levelchecker))

Ik zou de real gebruiken..


I am a in the GM Quiz!
Naar boven Gelogd

bilie888
Gebruiker


Offline Offline

Berichten: 175

1000... ik ben er bijna! bijna... = )


« Antwoord #9 Gepost op: 1 April 2011, 19:46:38 »

t'werkt maar nu zet hij in de plaats van 1 dit : 0,99999998430675
Wat doe ik fout |8D


game met vliegtuigen bezig.
nog geen naam PM me als je er 1 hebt
Naar boven Gelogd

Erik Leppen
Forumbeheerder


Offline Offline

Berichten: 9375


WWW
« Antwoord #10 Gepost op: 1 April 2011, 20:14:23 »

Dan zou ik toch maar de stringversie gebruiken.

ini_write_string(new_section, "playerlevel", string(levelchecker))

Dan krijg je wel gewoon 1.

Welke versie van GM gebruik je trouwens?


Naar boven Gelogd

lucb1e
Gebruiker


Offline Offline

Berichten: 4520


WWW
« Antwoord #11 Gepost op: 1 April 2011, 20:15:44 »

Wat doe ik fout |8D
Gamemaker 6 gebruiken waarschijnlijk.


Naar boven Gelogd

bilie888
Gebruiker


Offline Offline

Berichten: 175

1000... ik ben er bijna! bijna... = )


« Antwoord #12 Gepost op: 1 April 2011, 21:00:11 »

lol erik je manier werkt ! eindelijk  Tong

thx evry1 Cool


game met vliegtuigen bezig.
nog geen naam PM me als je er 1 hebt
Naar boven Gelogd

bilie888
Gebruiker


Offline Offline

Berichten: 175

1000... ik ben er bijna! bijna... = )


« Antwoord #13 Gepost op: 4 April 2011, 06:50:30 »

*BUMP*




Ik bump omdat het een nieuwe vraag is want anders kijk er toch geen kat naar...


game met vliegtuigen bezig.
nog geen naam PM me als je er 1 hebt
Naar boven Gelogd

ericlegomeer
Moderator


Offline Offline

Berichten: 9038

http://xkcd.com/386/


WWW
« Antwoord #14 Gepost op: 4 April 2011, 10:31:23 »

Heb je echt letterlijk deze code?:
GML:
ini_open(accounts.ini)
Want dat kn gewoon niet Twijfelachtig...

Het moet minstens een string zijn en anders zou hier al een foutmelding moeten komen. Als je nou eens gewoon letterlijk post wat je hebt, dan kunnen we misschien de fout zien, maar ik heb het idee dat je dus voor het posten er nog vanalles aan verandert.. Zoals 'codes komen hier' enzo..

Weet je zeker dat de ini in dezelfde map als het spel staat? Dus dat je niet ergens het spel tijdelijk runt en dat je dus daarna je ini kwijt bent. Dus eerst saven en de ini verwijderen, dan account aanmaken en kijken of je ini in de spelmap staat en dan kijken of je in kunt loggen. Maar eerst maar eens de correctheid van je codes fixen Knipoog


Naar boven Gelogd

Advertenties
« vorige volgende »
Pagina's: [1] 2
Print


Topic Informatie
0 geregistreerde leden en 1 gast bekijken dit topic.

Ga naar:  

Powered by SMF 1.1.19 | SMF © 2006-2007, Simple Machines
www.game-maker.nl © 2003-2014 Nederlandse Game Maker Community