CrazySDK godot 4

Godot Version

4.3

Question

hello powerfull godoters, i have big problem with CrazySDK i havent seen topic like this,
i want to make a game for crazygames and problem will be later when i will want to publish the game, SDK is ment for 3.x godot. but the video promoting it is 1 y/o so im assuming that it might be solvable and already then there was a hint for 4.x godot, here i have all the informations i found on the web

the video i mentioned https://youtu.be/ZlCVm67RrDI

code provided by the same people

my code is practically copy paste but with changes i made after i saw this on Crazygames “support” or whatever this is xd

and also my code (im VERY sorry for how it will be shown to you but its bugging a lot)

extends Node
signal ad_started
signal ad_finished
signal ad_error
signal ad_done
signal adblock_result

var SDK = null

var adStartedCallback = JavaScriptBridge.create_callback(adStarted)
var adErrorCallback = JavaScriptBridge.create_callback(adError)
var adFinishedCallback = JavaScriptBridge.create_callback(adFinished)
var adCallbacks

var adblockCallback

func hasSDK()->bool:
return SDK != null

func _ready() → void:
if not OS.has_feature(“crazygames”): return

var window = JavaScriptBridge.get_interface("window")
SDK = window.CrazyGames.SDK

adCallbacks = JavaScriptBridge.create_object("Object")
adCallbacks["adFinished"] = adFinishedCallback
adCallbacks["adError"] = adErrorCallback
adCallbacks["adStarted"] = adStartedCallback

adblockCallback = JavaScriptBridge.create_callback(adblockResult)

func adStarted(args):
print(“[Godot] adStarted callback”)
emit_signal(“ad_started”)

func adError(error):
print(“[Godot] adError callback”)
emit_signal(“ad_error”, error)
emit_signal(“ad_done”)

func adFinished(args):
print(“[Godot] adFinished callback”)
emit_signal(“ad_finished”)
emit_signal(“ad_done”)

func midgameAd():
if not SDK: return
SDK.ad.requestAd(“midgame”, adCallbacks)

func rewardedAd():
if not SDK: return
SDK.ad.requestAd(“rewarded”, adCallbacks)

func detectAdblock():
if not SDK: return
SDK.ad.hasAdblock(adblockCallback)

func adblockResult(args):
var error = args[0]
var result = args[1]
emit_signal(“adblock_result”, error, result)

func gameplayStart():
if not SDK: return
SDK.game.gameplayStart()

func gameplayStop():
if not SDK: return
SDK.game.gameplayStop()

func happytime():
if not SDK: return
SDK.game.happytime()

func gameLoadingStart():
if not SDK: return
SDK.game.sdkGameLoadingStart()

func gameLoadingStop():
if not SDK: return
SDK.game.sdkGameLoadingStop()

func requestBanner(width : int, height : int):
if not SDK: return
var params = JavaScriptBridge.create_object(“Object”)
params[“id”] = “banner-container”
params[“width”] = width
params[“height”] = height
SDK.banner.requestBanner(params)

func requestResponsiveBanner():
if not SDK: return
SDK.banner.requestResponsiveBanner(“responsive-banner-container”)

func clearAllBanners():
if not SDK: return
SDK.banner.clearAllBanners()

What is the problem? Seems like you’ve adapted the tutorial to Godot 4.x. You are using 4.3 which supports single threaded web exports as you will need.

You can paste code between three ticks ```