TWLan Forum

Full Version: Problem beim erstellen von neuen Einheiten
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Ich habe mir versucht
(nach dem Tutorial von Bettdecke)
eigene Einheiten zu erstellen.

Insgesamt habe ich 3 neue Einheite eingefügt. (kann man soviele einfügen?)

Bin Schritt für Schritt vorgegangen aba hab iwie ein Fehler drin den ich net finde Sad

Fatal error: Call to a member function on a non-object in C:\dslan_v1.4\htdocs\include\configs\units.php on line 209

Hier der Code von einer neuen Einheit:

PHP Code:
$cl_units->add_unit($lang->grab("configs_units""nonique"),"unit_nonique");
$cl_units->set_woodprice("80");
$cl_units->set_stoneprice("50");
$cl_units->set_ironprice("60");
$cl_units->set_bhprice("1");
$cl_units->set_time("1000");
$cl_units->set_att("40","1.055");
$cl_units->set_def("5","1.045");
$cl_units->set_defcav("10","1.055");
$cl_units->set_defarcher("15","1.045");
$cl_units->set_speed("580");
$cl_units->set_booty("100");
$cl_techs->set_needed(array("smith"=>5,"barracks"=>2));  // Das ist Zeile 209
$cl_units->set_recruit_in("barracks");
$cl_units->set_specials(array());
$cl_units->set_group("foot");
$cl_units->set_col("A");
$cl_units->set_attType("off");
$cl_units->set_description($lang->grab("configs_units""nonique_des")); 


Die dslan.bat beschwert sich über folgendes:

[Image: fehlerdslan.jpg]

I der Datenbakn habe ich folgendes eingefügt:

ALTER TABLE `villages` ADD `unit_nonique_tec_level` INT( 11 ) NULL DEFAULT '0' AFTER `unit_axe_tec_level` ;
ALTER TABLE `villages` ADD `all_unit_nonique` INT( 6 ) NULL DEFAULT '0' AFTER `all_unit_axe` ;
ALTER TABLE `unit_place` ADD `unit_nonique` INT( 11 ) NULL DEFAULT '0' AFTER `unit_axe` ;

ALTER TABLE `villages` ADD `unit_tamia_tec_level` INT( 11 ) NULL DEFAULT '0' AFTER `unit_nonique_tec_level` ;
ALTER TABLE `villages` ADD `all_unit_tamia` INT( 6 ) NULL DEFAULT '0' AFTER `all_unit_nonique` ;
ALTER TABLE `unit_place` ADD `unit_tamia` INT( 11 ) NULL DEFAULT '0' AFTER `unit_nonique` ;

ALTER TABLE `villages` ADD `unit_turm_tec_level` INT( 11 ) NULL DEFAULT '0' AFTER `unit_tamia_tec_level` ;
ALTER TABLE `villages` ADD `all_unit_turm` INT( 6 ) NULL DEFAULT '0' AFTER `all_tamia_axe` ;
ALTER TABLE `unit_place` ADD `unit_turm` INT( 11 ) NULL DEFAULT '0' AFTER `unit_tamia` ;
welche zeile ist denn die zeile 209?
(21.12.2010, 23:18)lolli1 Wrote: [ -> ]welche zeile ist denn die zeile 209?

Ich habs jetzt im Code makiert Danke für den HInweis
dann hier nochmal^^
versuche die " " durch ' ' zu ersetzen. außerdem versuch das mal mit den leertasten etc genau wie beim "orginalen" zu lassen, villt liegts daran
(22.12.2010, 12:44)k3v95 Wrote: [ -> ]dann hier nochmal^^
versuche die " " durch ' ' zu ersetzen. außerdem versuch das mal mit den leertasten etc genau wie beim "orginalen" zu lassen, villt liegts daran

Es liegt daran, dass er in Zeile 209 eine Methode von einem Objekt aufruft und genau dieses Objekt (in diesem Fall $cl_tech) findet er nicht.

So berichtigst du den Fehler: Du musst dort $cl_units->set_needed schreiben und nicht $cl_techs->set_needed Wink

MfG

pL4n3
Vielen Dank pl4n3 und ihr anderen hat jetzt alles geklappt!!!

Hab jetzt drei perfekte Einheiten =)
War ein Fehler in meinem Tutorial Big Grin

Danke pl4n3^^

~closed