Type - Functions probelm

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Darren

Betreff: Type - Functions probelm

BeitragMi, Nov 24, 2004 18:39
Antworten mit Zitat
Benutzer-Profile anzeigen
was ist an folgendem code falsch es kommt immer die Meldung "Variable Type mismatch":


Code: [AUSKLAPPEN]

l_pathing(auto1,kiauto,w_p_auto1,pivot,"testkoords.txt",1,4)


Function l_pathing(name,mesh,pivot_n,c_pivot,datei$,start,ende)
   name.t_pathing = New t_pathing
   name\model = CopyEntity(mesh)
   name\pivot_n = CopyEntity(c_pivot)
   dat = OpenFile(datei$)
   For i = 1 To ende
      name\x[i] = ReadInt(dat)
      name\z[i] = ReadInt(dat)
   Next
   PositionEntity name\model,name\x[start],0,name\z[start]
   PositionEntity name\pivot_n,name\x[start+1],0,name\z[start+1]
   PointEntity name\model,name\pivot_n   
End Function


ich kann mir des net erklären

thx darrenSharm
 

zocker2150

BeitragMi, Nov 24, 2004 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
du hast 2 mal die Variable "name" in der Funktion.
1.) Als Parameter
2.) Als Variablenname des "t_pathing" Type
 

Darren

BeitragMi, Nov 24, 2004 18:58
Antworten mit Zitat
Benutzer-Profile anzeigen
naja das ist doch absicht so will ich den type doch nennen Exclamation Exclamation Exclamation Exclamation Exclamation

Blatolo

BeitragMi, Nov 24, 2004 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
du kannst doch nicht einfach einen namen an eine funktion übergeben mit dem dann ein objekt eines types erzeugt wird.
 

zocker2150

BeitragMi, Nov 24, 2004 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Blatolo...
Das macht ehrlich gesagt auch keinen Sinn, da BB keine Type-Instanzen kennt. Somit gehst du für Code: [AUSKLAPPEN]
"name".Typenamen = Each Typenamen
durch den ganzen Typenamen, nicht nur durch "name" wie man evtl. vermuten könnte.
 

Darren

BeitragMi, Nov 24, 2004 19:47
Antworten mit Zitat
Benutzer-Profile anzeigen
aber wieso geht das nicht ich versteh das nicht wie soll ich es denn dann machen????
 

Apocalyptic

BeitragMi, Nov 24, 2004 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Du brauchst doch nicht unbedingt nen eigenen Namen für ein Objekt, oder? Wenn ich dich richtig verstehe hast du ein paar Autos, da reicht es doch, wenn du "Auto.Blubb" verwendest... Evt kannst du dann noch nen Field mit ner Id erstellen, solltest du damit was anfangen.
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]
 

Darren

BeitragDo, Nov 25, 2004 22:34
Antworten mit Zitat
Benutzer-Profile anzeigen
aber ich will doch nicht nur autos erstellen ich will doch auch motoräder oder trucks oder so für eine pathingfunktion

Blatolo

BeitragDo, Nov 25, 2004 22:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber was du erstellst hat doch nix mit dem namen für das type objekt zu tun.
Du kannst ja ein field in dem type anlegen in dem der name gespeichert wird.
Und dann per for each ansprvchen
 

Darren

BeitragFr, Nov 26, 2004 18:04
Antworten mit Zitat
Benutzer-Profile anzeigen
ich will doch nicht für jede art eine neue function schreiben???
kannst du mir vlt maln codeschnipsel posten??? damit ich weiß was du genau meinst...

stfighter01

BeitragFr, Nov 26, 2004 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
so kannst einzelne types zurückgeben (wenn es das ist was du willst)


function gibmalzurueck.typename(var1, var2,...)

neuertyp.typename= new typename

return neuertyp

end function


--und--


neuesdings.typename= gibmalzurueck(1231, mesh1 ,..)



mfg stfighter
Denken hilft!
 

Darren

BeitragMo, Nov 29, 2004 17:22
Antworten mit Zitat
Benutzer-Profile anzeigen
ja okay ich hab es jetzt vorerst anders gelöst aber ich hab schon wieder so ein ähnliches problem:

Code: [AUSKLAPPEN]
Function waffenwahl()
   For pistole.waffe = Each waffe
   If KeyHit(2) = 1 And pistole\vis = 0 Then
      pistole\vis = 1
      sniper\vis = 0
      gatling\vis = 0
   Else If KeyHit(3) = 1 And sniper\vis = 0 Then
      sniper\vis = 1
      gatling\vis = 0
      pistole\vis = 0
   Else If KeyHit(4) = 1 And gatling\vis = 0Then
      gatling\vis = 1
      sniper\vis = 0
      pistole\vis = 0
   End If
   If pistole\vis = 1 Then
      ShowEntity pistole\model
      HideEntity sniper\model
      HideEntity gatling\model
   Else If sniper\vis = 1 Then
      HideEntity pistole\model
      ShowEntity sniper\model
      HideEntity gatling\model
   Else If gatling\vis = 1 Then
      HideEntity pistole\model
      HideEntity sniper\model
      ShowEntity gatling\model
   End If
   Next               
End Function


bei dieser function kommt die meldung variable musst be a type und zwar wird der erste eintrag sniper\model = loadmesh(....)

warum geht das nicht???

meines wissens nach wird bei einer for .. each schleife jeder eintrag des types waffe durchlaufen ich habe das auch mit dem beispiel aus der OH getestet

MGF Darren

Blatolo

BeitragMo, Nov 29, 2004 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
wo steht denn in deinem code etwas von loadmesh?
Hast du auch die Objekte als global deklariert?

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group