Geocaching & GPS location based games

Thema anzeigen - iPhone und lua-Programmierung


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 25 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste


Autor Nachricht
 Betreff des Beitrags: iPhone und lua-Programmierung
BeitragVerfasst: Di 6. Sep 2011, 10:12 
Offline
Geocacher
Benutzeravatar

Registriert: Fr 14. Jan 2011, 10:31
Beiträge: 212
Nachdem wir beim Cachopoly-Event bereits Probleme mit dem iPhone hatten wollte nich nun der Sache mal auf den Grund gehen und NoGos fürs Eiertelefon auflisten.

Die erste Sache dir mir aufgefällt, ist dass das iPhone kein print kann.
Dateianhang:
Dateikommentar: print
iPhone-Print.PNG
iPhone-Print.PNG [ 149.33 KiB | 497-mal betrachtet ]

Das heißt debug Ausgaben wie
Code:
print("Der Spieler hat die Zone erreicht")

sind nicht auf dem Gerät.

Da ich leider (zum Glück?) kein iPhone besitze wirst bei mir mit dem Testen schwierig.

Welche KnownBugs gibt es denn noch bei der Apfel-App?

_________________
Bild
WherIGo Tutorials und Cacheschwafel


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: iPhone und lua-Programmierung
BeitragVerfasst: Di 6. Sep 2011, 10:39 
Offline
Geomaster
Benutzeravatar

Registriert: Do 9. Okt 2008, 19:38
Beiträge: 532
Wohnort: Memmingen
Einen Fehler hat das aktuelle Update vom Wherigo-Player ausgebügelt. :D
Messages oder Bilder können überschrieben werden.
Somit ist die Anzeige von z.B. der Restzeit eines Timers im Sekundenwechsel
möglich, oder z.b. der Wechsel von Bildern ohne immer OK klicken zu müssen.

Du kannst mir gerne ein WIG mit allerlei LUA-Code schicken.
Ich teste sie dann. ;)

_________________
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: iPhone und lua-Programmierung
BeitragVerfasst: Di 6. Sep 2011, 11:03 
Offline
Geocacher
Benutzeravatar

Registriert: Fr 14. Jan 2011, 10:31
Beiträge: 212
xxmurdockxx hat geschrieben:
Du kannst mir gerne ein WIG mit allerlei LUA-Code schicken.
Ich teste sie dann. ;)


Ich hab soeben die 1.7er Version von Cachopoly ohne print hochgeladen.
http://www.wherigo.com/cartridge/detail ... 83f59e0934
Wenn du das testen könntest wäre das prima.
VG Markus

_________________
Bild
WherIGo Tutorials und Cacheschwafel


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: iPhone und lua-Programmierung
BeitragVerfasst: Mi 7. Sep 2011, 22:01 
Offline
Geomaster
Benutzeravatar

Registriert: Do 9. Okt 2008, 19:38
Beiträge: 532
Wohnort: Memmingen
Heute konnte ich mal die Cartridge testen.
Hab Sie schon gestern mal im Simulator getestet und dort lief alles problemlos.

Heute mit 3gs und einem 4er eine freie Stelle gesucht und begonnen.
Start, Anywhere ausgewählt und die ersten Eckpunkte definiert.

Nach dem letzten Eckpunkt kam bei beiden folgender Fehler:
Lua Alert: op_gettable
Der Fehler kam mehrmals wobei der Index hochgezählt wurde.
Danach lief die Cartridge auf dem 4er weiter. Das 3gs streikte.
Ach das erneute Abstecken der Eckkoordinaten scheiterte beim 3gs.

Beim Würfeln wird NUR die 6 angezeigt und erst beim Ende des Würfelvorgangs die gewürfelte Zahl. Bei jedem Würfeln ist dies so.

Dann lief es soweit bis zum Kauf einer Strasse.
Dort erschien dann diese Meldung:
Lua Alert: op_gettable
Und dann noch folgende Meldung (haben leider den Screenshot vergessen)
Zitat:
Don´t knot how to call null

Dann wurden plötzlich die Zonen verschoben, und die Strassen waren völlig außerhalb des abgesteckten Spielfeldes.

Um die Computerspieler zum Zug zu bringen musste immer erst ins Inventory gewechselt werden.

Bezüglich dem Würfelproblem hab ich Dir mal ein Beispiel angehängt.
Dies funktioniert auch beim IPhone.

Hoffe ich konnte Dir ein wenig helfen.

Grüße Stefan


Dateianhänge:
Dateikommentar: Würfelbeispiel
wuerfeltest.zip [21.07 KiB]
11-mal heruntergeladen
Dateikommentar: Beim Strasse kaufen.
IMG_0538.JPG
IMG_0538.JPG [ 25.4 KiB | 445-mal betrachtet ]
Dateikommentar: Nach Definieren des Spielfeldes.
IMG_0530.PNG
IMG_0530.PNG [ 103.83 KiB | 445-mal betrachtet ]

_________________
Bild
Nach oben
 Profil  
 
 Betreff des Beitrags: Re: iPhone und lua-Programmierung
BeitragVerfasst: Do 8. Sep 2011, 14:13 
Offline
Geocacher
Benutzeravatar

Registriert: Fr 14. Jan 2011, 10:31
Beiträge: 212
xxmurdockxx hat geschrieben:
Dann lief es soweit bis zum Kauf einer Strasse.
Dort erschien dann diese Meldung:
Lua Alert: op_gettable
Und dann noch folgende Meldung (haben leider den Screenshot vergessen)
Zitat:
Don´t knot how to call null




Hallo Stefan,
dein Würfelbeispiel sieht ganz gut aus, ich konnte allerdings noch nicht erkennen wo bei meinem Code der Unterschied ist, der den op_gettable Fehler provoziert.

Ich hab mit CPI.rar den Teil des Straßenkaufes extrahiert. Kannst du bitte testen, ob dies auf dem iPhone auch zum Fehler führt?
Gibt es auf dem iPhone auch ein log-File um den Fehler einzuschränken?

Nach http://luaj.sourceforge.net/api/2.0/org ... P_GETTABLE schätze ich mal, es geht hier um eine Operation um auf Tabellenwerte zuzugreifen.

VG Markus


Dateianhänge:
CPI.rar [46.98 KiB]
10-mal heruntergeladen

_________________
Bild
WherIGo Tutorials und Cacheschwafel
Nach oben
 Profil  
 
 Betreff des Beitrags: Re: iPhone und lua-Programmierung
BeitragVerfasst: Fr 9. Sep 2011, 12:10 
Offline
Geomaster
Benutzeravatar

Registriert: Do 9. Okt 2008, 19:38
Beiträge: 532
Wohnort: Memmingen
Krolock hat geschrieben:
Ich hab mit CPI.rar den Teil des Straßenkaufes extrahiert. Kannst du bitte testen, ob dies auf dem iPhone auch zum Fehler führt?

Die läuft ohne Probleme.

Gibt zwar ein Consolen-Log, aber das ist leer.
Werde bei Gelegenheit nochmal die Spielfeldabsteckung testen, ob in das Log nur die Fehler geschrieben werden.

Ist das Logging immer an bei der Cartridge?
Kann man ja beim Urwigo explizit an- und ausmachen.

Grüße
Stefan

_________________
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: iPhone und lua-Programmierung
BeitragVerfasst: Fr 9. Sep 2011, 16:07 
Offline
Geocacher
Benutzeravatar

Registriert: Fr 14. Jan 2011, 10:31
Beiträge: 212
Wenn ich mir die Fehlermeldungen anschaue, schließe ich auf eine IndexOutOfArray Situation.

Sprich, im Feld sind nur 4 Element defniert, aber das 5 soll abgefragt werden.

Ich werd nochmals den Code der Initialisierung der 4 Spielfeldecken durchschauen, ob dort was iPhone kritisches stehen könnte.

_________________
Bild
WherIGo Tutorials und Cacheschwafel


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: iPhone und lua-Programmierung
BeitragVerfasst: Sa 10. Sep 2011, 22:28 
Offline
Geomaster
Benutzeravatar

Registriert: Do 9. Okt 2008, 19:38
Beiträge: 532
Wohnort: Memmingen
Hab heute nochmal bei einem Spaziergang das Spielfeld abgesteckt.

Bin zwar nicht im Viereck gelaufen, konnte aber trotzdem die 4 Ecken bestimmen.
Das hat soweit auch ohne Fehlermeldung geklappt.
Dann den Spielernamen eingegeben und bei Nicht-Eingabe des 2. Spielers
(also Computergegner) kamen dann die schon erwähnten Fehlermeldungen.

In dem Consolen-Log steht folgendes:
! 09-10 13:50:26 op_gettable: index is 5, array count=4, dict count=0
! 09-10 13:50:33 op_gettable: index is 6, array count=4, dict count=0
! 09-10 13:50:38 op_gettable: index is 7, array count=4, dict count=0
! 09-10 13:50:43 op_gettable: index is 8, array count=4, dict count=0

Genau die Meldung wird auch angezeigt.
Nach Klicken aufs Inventory kommt die Meldung mit dem Spieler und würfeln.
Dann bleibt das Spiel hängen. Nur die 6 wird angezeigt. Kein Würfelergebnis.
Geht nicht mehr weiter. Hab dann die verbotene Taste gedrückt. ;)
Komm zwar wieder raus, aber bei erneutem Klick ins Inventory bleibt die cartridge dann definitiv hängen.

Getestet auf dem 3GS.

Grüße

_________________
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: iPhone und lua-Programmierung
BeitragVerfasst: Mo 12. Sep 2011, 10:38 
Offline
Geocacher
Benutzeravatar

Registriert: Fr 14. Jan 2011, 10:31
Beiträge: 212
Wie es aussieht führt der iPhone -Player alle definierten Funktionen bei der Initialisierung aus.
So gibt es im Cartrigde den Character Mitspieler an dem 8 Kommandos zur Anzeige der (bis zu 8) Mitspielerstati. Dieses Kommando löst beim Aufruf einen Zugriff auf das Array objCharacters aus, dass bei der Eingabe eines meschlichen Spielers nur aus 4 Spieler besteht.
Es scheint so, dass PiGo alle 8 Kommandos beim Start ausführt. Es wird also auch für Spieler 5,6,7 und 8 ausgeführt, die es nicht gibt und somit folgerder Zugriff ungültig ist.
Code:
local p = objCharacters[5]

In der 1.9 Version ist ein Check eingebaut, der überprüft, ob das Array wirklich groß genug ist für den Zugriff

_________________
Bild
WherIGo Tutorials und Cacheschwafel


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: iPhone und lua-Programmierung
BeitragVerfasst: Mo 12. Sep 2011, 10:56 
Offline
Geocacher
Benutzeravatar

Registriert: Fr 14. Jan 2011, 10:31
Beiträge: 212
Mir ist soeben noch eine weitere mögliche Gefahrenquelle aufgefallen.
Beim Start wird mit den Bedingungen
Code:
if objCharacters[5] ~= nil then ....
if objCharacters[6] ~= nil then ....
if objCharacters[7] ~= nil then ....
if objCharacters[8] ~= nil then ....


Kann es sein, dass PiGo bei einer Abfrage auf ein Array mit Index > #array einen op_gettable Fehler wirft, statt nil zurückzugeben?
Dieses Verhalten kenne ich zumindest aus anderen Programmiersprachen (z.B IndexOutOfBoundException in java).

@Stefan: Wenn du die aktuelle 2.0 Version von Cachopoly startest (Vordefinierter Modus Asbach dürfte reichen) und es wirklich der ungültige Arrayzugriff ist, so dürftest du nur noch
Code:
! 09-10 13:50:26 op_gettable: index is 5, array count=4, dict count=0
! 09-10 13:50:33 op_gettable: index is 6, array count=4, dict count=0
! 09-10 13:50:38 op_gettable: index is 7, array count=4, dict count=0

erhalten, da ich die Abfrage des 8.Spielers abgeschaltet habe.

Zitat:
if objCharacters[5] ~= nil then ....
if objCharacters[6] ~= nil then ....
if objCharacters[7] ~= nil then ....
if objCharacters[8] ~= nil then ....

_________________
Bild
WherIGo Tutorials und Cacheschwafel


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 25 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Raymond


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Impressum