GameMaker Extension mit DLL

    • GM 8

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • GameMaker Extension mit DLL

      Hallo kleine Experten frage :P

      Ich hab in PureBasic eine einfache DLL geschrieben:

      Spoiler anzeigen
      ProcedureDLL AttachProcess(Instance)
      EndProcedure

      ProcedureDLL DetachProcess(Instance)
      EndProcedure

      ProcedureDLL AttachThread(Instance)
      EndProcedure

      ProcedureDLL DetachThread(Instance)
      EndProcedure

      ProcedureDLL ini_Open(filename.s)
      If OpenPreferences(filename.s,#PB_Preference_NoSpace | #PB_Preference_GroupSeparator)
      ProcedureReturn #True
      Else
      ProcedureReturn #False
      EndIf
      EndProcedure

      ProcedureDLL ini_Create(filename.s)
      If CreatePreferences(filename.s,#PB_Preference_NoSpace | #PB_Preference_GroupSeparator)
      ProcedureReturn #True
      Else
      ProcedureReturn #False
      EndIf
      EndProcedure

      ProcedureDLL ini_Close()
      If ClosePreferences()
      ProcedureReturn #True
      Else
      ProcedureReturn #False
      EndIf
      EndProcedure

      ProcedureDLL.s ini_ReadString(keyword.s,defaultvalue.s)
      ProcedureReturn ReadPreferenceString(keyword.s,defaultvalue.s)
      EndProcedure

      ProcedureDLL.i ini_ReadInteger(keyword.s,defaultvalue)
      ProcedureReturn ReadPreferenceInteger(keyword.s,defaultvalue)
      EndProcedure

      ProcedureDLL.f ini_ReadFloat(keyword.s,defaultvalue)
      ProcedureReturn ReadPreferenceFloat(keyword.s,defaultvalue)
      EndProcedure

      ProcedureDLL ini_WriteString(keyword.s,value.s)
      ProcedureReturn WritePreferenceString(keyword.s,value.s)
      EndProcedure

      ProcedureDLL ini_WriteInteger(keyword.s,value)
      ProcedureReturn WritePreferenceInteger(keyword.s,value)
      EndProcedure

      ProcedureDLL ini_WriteFloat(keyword.s,value)
      ProcedureReturn WritePreferenceFloat(keyword.s,value)
      EndProcedure

      ProcedureDLL ini_KeyExists(keyword.s)

      EndProcedure


      so nachdem ich das ganze als dll in eine gex gepackt hab und im gm "installiert" hab wollte ich fröhlich drauf los scripten aber meine befehle existieren irgendwie nicht

      ich häng mal die dateien dran kann jemand vllt schauen was ich falsch gemacht hab?

      danke :thumbsup:

      mfg R3booz

      PS: ich hab sowas noch nie gemacht....

      EDIT: Irgendwie scheint es so als ob kein einziger befehl aus meiner dll in meinem script funktioniert er sagt immer den befehl gibt es nicht...

      EDIT EDIT: hat jemand wenigstens ansatzweise eine idee? :|
      Dateien
      • hz_ext.zip

        (12,15 kB, 249 mal heruntergeladen, zuletzt: )

      Aktuelle Version: 0.2.6
      Version vom: 01.06.2013
      indieDB - Hello Zombie
      games-table.de.tl

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von r3booz ()

    • Von PureBasic habe ich leider keine Ahnung. In C++ ist es jedoch so dass man Funktionen auf eine besondere Weise in der DLL definieren muss...
      Teste mal die Beispiele die hier geschrieben wurden bzw. vergleiche mit deinem Code: gmc.yoyogames.com/index.php?showtopic=144653

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)
    • ok das habe ich gemacht

      Spoiler anzeigen

      ProcedureDLL.d ini_Open(filename.s)
      If OpenPreferences(filename.s,#PB_Preference_NoSpace | #PB_Preference_GroupSeparator)
      ProcedureReturn #True
      Else
      ProcedureReturn #False
      EndIf
      EndProcedure

      ProcedureDLL.d ini_Create(filename.s)
      If CreatePreferences(filename.s,#PB_Preference_NoSpace | #PB_Preference_GroupSeparator)
      ProcedureReturn #True
      Else
      ProcedureReturn #False
      EndIf
      EndProcedure

      ProcedureDLL.d ini_Close()
      If ClosePreferences()
      ProcedureReturn #True
      Else
      ProcedureReturn #False
      EndIf
      EndProcedure

      ProcedureDLL.s ini_ReadString(keyword.s,defaultvalue.s)
      ProcedureReturn ReadPreferenceString(keyword.s,defaultvalue.s)
      EndProcedure

      ProcedureDLL.d ini_ReadInteger(keyword.s,defaultvalue.d)
      ProcedureReturn ReadPreferenceInteger(keyword.s,defaultvalue)
      EndProcedure

      ProcedureDLL.d ini_ReadFloat(keyword.s,defaultvalue.d)
      ProcedureReturn ReadPreferenceFloat(keyword.s,defaultvalue)
      EndProcedure

      ProcedureDLL.d ini_WriteString(keyword.s,value.s)
      ProcedureReturn WritePreferenceString(keyword.s,value.s)
      EndProcedure

      ProcedureDLL.d ini_WriteInteger(keyword.s,value.d)
      ProcedureReturn WritePreferenceInteger(keyword.s,value)
      EndProcedure

      ProcedureDLL.d ini_WriteFloat(keyword.s,value.d)
      ProcedureReturn WritePreferenceFloat(keyword.s,value)
      EndProcedure

      ProcedureDLL.d ini_KeyExists(keyword.s)

      EndProcedure


      aber er sagt mir immer noch "unknown function or script: hz_ini_open"

      EDIT: habs grad bemerkt...

      Aktuelle Version: 0.2.6
      Version vom: 01.06.2013
      indieDB - Hello Zombie
      games-table.de.tl

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von r3booz ()

    • uuuuuuuuuund es funktioniert immer noch nicht :(

      EDIT: wartet kurz ich lade noch mal alle dateien hoch wie sie jetzt sind
      Dateien
      • hz_ext.zip

        (322,18 kB, 238 mal heruntergeladen, zuletzt: )

      Aktuelle Version: 0.2.6
      Version vom: 01.06.2013
      indieDB - Hello Zombie
      games-table.de.tl

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von r3booz ()

    • aber er sagt mir immer noch "unknown function or script: hz_ini_open"


      Die Funktion die du definiert hast heißt "hz_ini_Open" und der Game Maker beachtet die Groß-und Kleinschreibung. Sicher das du die Erweiterung zum Game Maker hinzugefügt hast und die Funktion richtig geschrieben hast (sollte auch in der Farbehervorgehoben werden)?
      wupto.net/ Nicht meine Seite!
      We love Koalas.

      GM-D-Spam-o-Meter: 32%
    • OMG ich bin soooooo doof :whistling:
      daran hab ich gar nicht mehr gedacht... :----S

      tut mir leid funktioniert jetzt alles

      auch danke an die anderen ohne eure tipps hätte es garantiert nicht funktioniert :)

      mfg R3booz

      PS: Wen der kram interessiert im Anhang die extension mit quellcode und allem nocheinmal in der neusten version ^^
      PSS: Hätte irgendjemand Lust das ich ein Tutorial mache? weil ich hab hier keins gefunden und auch im internet gab es kaum welche...
      Dateien
      • hz_ext.zip

        (310,38 kB, 276 mal heruntergeladen, zuletzt: )

      Aktuelle Version: 0.2.6
      Version vom: 01.06.2013
      indieDB - Hello Zombie
      games-table.de.tl
    • Benutzer online 1

      1 Besucher