public func Fire1() // Projektil-Dauerfeuer { var user = GetUser(); var angle = GetR()+RandomX(-6,+6); var x=0; var y=-9; var ammo = CreateObject(SHT2,x,y,user); ammo->Launch(angle,180,400,6,80, GetFMData(FM_Damage, 1),0,80); Sound("EnergyRifle",0,ammo); }
public func OnReload() { Sound("EnergyRifleLoad"); }
public func UpdateCharge(object driver) { var hud = driver->GetHUD(); if(hud) hud->Update(this(), driver->AmmoStoring(),driver); return (1); }
Meiner Meinung nach stimmt das so.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Problem mit CreateObject Do März 18, 2010 10:43 pm
Also die Fehlermeldung sagt nur, dass er kein Objekt sondern eine Spielerzahl will. Also musst du zuerst die Spielerzahl des Objektes abfragen
JOK Fähnrich
Ort : In einer großen Stadt in Mittelfranken (Bayern) Anmeldedatum : 31.12.08
Thema: Re: Problem mit CreateObject Fr März 19, 2010 1:23 am
GetUser() ist das Problem, da es kein object returnt, sondern int. Wobei mir GetUser() nicht bekannt ist und die Doku findet auch nichts dazu.
Bowserkoopa Staatsrat
Alter : 30 Anmeldedatum : 21.12.08
Thema: Re: Problem mit CreateObject Fr März 19, 2010 11:18 am
Ich glaube es gehört zur Hazard-Doku aber damit kenne ich mich nicht aus. Aber JOK ist es eigentlich nicht umbekehrt, dass er eben ein Integer erwartet? Denn ein Object hat er ja gekriegt, aber das will er ja nicht:
Code:
ERROR: call to "CreateObject" parameter 4: got "object", but expected "int"!
Wipfmagus Konteradmiral
Alter : 28 Anmeldedatum : 06.03.10
Thema: Re: Problem mit CreateObject Fr März 19, 2010 11:56 am
Ich glaube, Parameter 4 ist die Spielernummer des Besitzers. Clonks können regeltechnisch keine Besitzer sein, sondern nur Spieler. Wenn du GetOwner(GetUser()) benutzt, müsste es wieder gehen...
JOK Fähnrich
Ort : In einer großen Stadt in Mittelfranken (Bayern) Anmeldedatum : 31.12.08
Thema: Re: Problem mit CreateObject Fr März 19, 2010 5:39 pm
@Bowserkoopa
got "object", but expected "int"!
heißt so viel, wie "object" bekommen, aber "int" erwartet.
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Problem mit CreateObject Fr März 19, 2010 5:42 pm
Du musst folgendes ändern: public func Fire1() // Projektil-Dauerfeuer { var user = GetUser(); var angle = GetR()+RandomX(-6,+6); var x=0; var y=-9; var ammo = CreateObject(SHT2,x,y,GetOwner(user)); /*Hier wurde user zu GetOwner(user) gemacht, so war es wahrscheinlich gedacht*/ ammo->Launch(angle,180,400,6,80, GetFMData(FM_Damage, 1),0,80); Sound("EnergyRifle",0,ammo); }
Tundanér Fregattenkapitän
Alter : 29 Ort : Rödental Anmeldedatum : 03.02.09
Thema: Re: Problem mit CreateObject Fr März 19, 2010 8:03 pm