Fehler beim Übersetzen

Hier können sich alle gegenseitig helfen beim erstellen eines Spiels

Moderator: Agatho

Beitragvon Grummli » 24.08.2004, 16:27

Die Höhlen müssen mit 1 anfangen, nicht mit 0. Ausserdem nicht vergessen dort die Starthöhlen mit anzugeben, sonst kann er dir keine Höhle zuweisen bei Erstellen des Accounts (so wie bei dir geschehen).
Grummli
Proviantschlepper
Proviantschlepper
 
Beiträge: 66
Registriert: 18.02.2004, 20:53

Beitragvon trisha » 24.08.2004, 16:49

Hast Du Starthoehlen vergeben?
Denn dieser Fehler tritt auf, wenn keine der vorhandenen Hoehlen im Feld "starting_position" den Wert "1" stehen hat.

Im Wiki ist der Weg der Hoehlenerstellung mit dem Tool "Mappy" beschrieben, den fand ich erheblich besser, als ueber das PHP-Script. Man hat zusaetzlich den Vorteil, dass man seine Karte nach eigenen Wuenschen gestalten kann.
trisha
Proviantschlepper
Proviantschlepper
 
Beiträge: 71
Registriert: 25.05.2004, 15:34

Beitragvon teufelsengel » 24.08.2004, 18:19

Hey, Klasse !
In der Cave bei der ersten Höhle unter starting_position eine 1 rein, und schon geht die Anmeldung :-)

Allerdings kommt bei jeder Funktion
Fatal error: Cannot use [] for reading in /var/www/game/main.php(501) : eval()'d code on line 1

Ausser, bei Nachrichten, Stamm, Punkte und mein Held....

Seufz, aber FAST läuft es jetzt :-)
teufelsengel
Spielball der Götter
Spielball der Götter
 
Beiträge: 17
Registriert: 15.08.2004, 13:05

Beitragvon trisha » 24.08.2004, 18:34

Mhm...das kann alles moegliche sein.

Was steht denn in Zeile 501 bei Dir?
trisha
Proviantschlepper
Proviantschlepper
 
Beiträge: 71
Registriert: 25.05.2004, 15:34

Beitragvon teufelsengel » 24.08.2004, 18:43

// RESOURCEN ZEIGEN
if (!$no_resource_flag) {

$resources = array();
for ($i = 0; $i < sizeof($resourceTypeList); ++$i){
$delta = $meineHoehlen[$caveID][$resourceTypeList[$i]->dbFieldName . "_delta"];
if ($delta > 0) $delta = "+" . $delta;
$resources[$i] = array('dbFieldName' => $resourceTypeList[$i]->dbFieldName,
'name' => $resourceTypeList[$i]->name,
'amount' => floor($meineHoehlen[$caveID][$resourceTypeList[$i]->dbFiel
'delta' => $delta,
'maxLevel' => round(eval('return ' .
<<Zeile 501>> formula_parseToPHP("{$resourceTypeList[$i]->maxLevel};", '
}
tmpl_set($template, "RESOURCES/RESOURCE", $resources);
}

tmpl_set($template, "", array('cave_name' => $meineHoehlen[$caveID]['name'],
'cave_x_coord' => $meineHoehlen[$caveID]['xCoord'],
'cave_y_coord' => $meineHoehlen[$caveID]['yCoord']));

$gfx = $params->SESSION->nogfx ? DEFAULT_GFX_PATH : $params->SESSION->user['gfxpath'];
echo str_replace ('%gfx%', $gfx, tmpl_parse($template));

page_end();

Komischerweise kann man auch keinen zweiten Account anlegen, da kommt dann wieder "Schwerer Fehler beim Anlegen eines Benutzerkontos", und wieder Zeile 62.
teufelsengel
Spielball der Götter
Spielball der Götter
 
Beiträge: 17
Registriert: 15.08.2004, 13:05

Beitragvon trisha » 24.08.2004, 18:49

Mhm....kannst Du mir den Teil Deiner Einrichtung.xml schicken, in dem die Ressourcen stehen? Ich will ihn nicht klauen :-)
Wenn Du es nicht oeffentlich machen moechtest, dann auch gern per Email.

Ich glaube, in den Regeln stimmt etwas nicht.

Wenn Du einen zweiten Account anlegen moechtest, dann muss auch eine zweite Hoehle auf "starting_position" = 1 stehen.

Also fuer 100 Accounts musst Du auch 100 Hoehlen freigeben.

versuche mal den folgenden SQL-Syntax fuer 100 Hoehlen:

Code: Alles auswählen

UPDATE Cave set starting_position =1 WHERE starting_position=0 AND playerID=0 ORDER by rand() limit 100

trisha
Proviantschlepper
Proviantschlepper
 
Beiträge: 71
Registriert: 25.05.2004, 15:34

Beitragvon Grummli » 25.08.2004, 14:26

Ähem falls du die Beispiel-XMLs von mir benutzt, liegt der Fehler an einer fehlenden abschließenden Klammer im Feld "resource_population" bei den Produktionskosten.
Grummli
Proviantschlepper
Proviantschlepper
 
Beiträge: 66
Registriert: 18.02.2004, 20:53

Beitragvon teufelsengel » 25.08.2004, 16:47

Öhm, nun ja, nehme deine ;-) D.h., alles nochmal Neu übersetzen ?
teufelsengel
Spielball der Götter
Spielball der Götter
 
Beiträge: 17
Registriert: 15.08.2004, 13:05

Beitragvon teufelsengel » 25.08.2004, 18:00

:-) So langsam bekomme ich Übung.

Also ich konnte da keine Fehlende Klammer finden:
<Resource dbfield="resource_population">
<ResourceID>0</ResourceID>
<Name>Bevölkerung</Name>
<RatingValue>1</RatingValue>
<TakeoverValue>0</TakeoverValue>
<StealRatio>.0</StealRatio>
<DestroyRatio>1.</DestroyRatio>
<MaxSaveStorage>3</MaxSaveStorage>
<MaxStorage>100</MaxStorage>
<ResProdFunction>SIGN([R1.ACT]*(1+0.2*[S0.ACT])</ResProdFunction>
</Resource>

Aber: trotzdem nochmal neu das ganz.

Diesmal lief auf das createCave.php 1 190 1 190 komplett durch (ach du herein, sind jetzt über 30.000 Höhlen). Naja, ist halt Platz ;-)
Dann cave_names.php, alles oki.


Dann meine alten Sicherungen zurück, die DB´s nochmal alle frisch gemacht,
UPDATE Cave set starting_position =1 WHERE starting_position=0 AND playerID=0 ORDER by rand() limit 40000
Alles, ohne Fehler. Dann die image.inc.php ausgetauscht, Bild kommt.

Hab dann die Anmeldungen auf 5000 erhöht.

Aber der Fehler kommt wieder:

Fatal error: Cannot use [] for reading in /var/www/game/main.php(501) : eval()'d code on line 1
teufelsengel
Spielball der Götter
Spielball der Götter
 
Beiträge: 17
Registriert: 15.08.2004, 13:05

Beitragvon teufelsengel » 25.08.2004, 18:44

Also ich finde weder in meinen Schinken, noch im I-Net was zu formula_parsetophp . Das steht in 501

Was ist das ? Eine selbstgeschriebene Funktion ?
teufelsengel
Spielball der Götter
Spielball der Götter
 
Beiträge: 17
Registriert: 15.08.2004, 13:05

Beitragvon trisha » 25.08.2004, 19:40

teufelsengel hat geschrieben::-) So langsam bekomme ich Übung.

Also ich konnte da keine Fehlende Klammer finden:

.....

<ResProdFunction>SIGN([R1.ACT]*(1+0.2*[S0.ACT])</ResProdFunction>


Zweimal "Klammer auf" verlangt ja irgendwie auch nach zwei schliessenden Klammern. :top:
trisha
Proviantschlepper
Proviantschlepper
 
Beiträge: 71
Registriert: 25.05.2004, 15:34

Beitragvon teufelsengel » 25.08.2004, 20:14

Also so geschrieben : ?? <ResProdFunction>SIGN([R1.ACT])*(1+0.2*[S0.ACT])</ResProdFunction>


??
Hilft aber nicht. Nochmal alles übersetzt.
teufelsengel
Spielball der Götter
Spielball der Götter
 
Beiträge: 17
Registriert: 15.08.2004, 13:05

Beitragvon trisha » 25.08.2004, 20:36

teufelsengel hat geschrieben:Also so geschrieben : ?? <ResProdFunction>SIGN([R1.ACT])*(1+0.2*[S0.ACT])</ResProdFunction>


??
Hilft aber nicht. Nochmal alles übersetzt.


Meinst Du eventuell: <ResProdFunction>SIGN([R1.ACT]*(1+0.2*[S0.ACT]))
trisha
Proviantschlepper
Proviantschlepper
 
Beiträge: 71
Registriert: 25.05.2004, 15:34

Beitragvon Grummli » 25.08.2004, 22:02

Ja so wie Trisha meint sollte es richtig sein.
Zum Test kannst du auch mal die komplette Funktion ersetzen mit ner 10 oder so. Also: <ResProdFunction>10</ResProdFunction>
Bin mir nämlich auch nicht ganz sicher obs daran liegt.
Grummli
Proviantschlepper
Proviantschlepper
 
Beiträge: 66
Registriert: 18.02.2004, 20:53

Beitragvon teufelsengel » 26.08.2004, 10:59

Ich habe das jetzt einmal mit der Klammer, und dann mit der 10 probiert, leider ohne Erfolg, der Fehler kommt immer noch.
Das komische ist, als ich in den Datenbanken an der Player ID rumprobiert habe, kam auf einmel alles, also Karten usw usw, ohne Fehler, aber dann stand da: Leider hast du keine Höhle melde, lösche den Account und melde dich neu an.
teufelsengel
Spielball der Götter
Spielball der Götter
 
Beiträge: 17
Registriert: 15.08.2004, 13:05

Vorherige

Zurück zu Bastelstube für die CVS Version

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste