/* * Copyright (c) 2010-2017 OTClient * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ #include "client.h" #include "luavaluecasts.h" #include "game.h" #include "tile.h" #include "houses.h" #include "towns.h" #include "container.h" #include "item.h" #include "effect.h" #include "missile.h" #include "statictext.h" #include "animatedtext.h" #include "creature.h" #include "player.h" #include "localplayer.h" #include "map.h" #include "minimap.h" #include "thingtypemanager.h" #include "spritemanager.h" #include "shadermanager.h" #include "protocolgame.h" #include "uiitem.h" #include "uicreature.h" #include "uimap.h" #include "uiminimap.h" #include "uimapanchorlayout.h" #include "uiprogressrect.h" #include "uisprite.h" #include "outfit.h" #include void Client::registerLuaFunctions() { g_lua.registerSingletonClass("g_things"); g_lua.bindSingletonFunction("g_things", "loadDat", &ThingTypeManager::loadDat, &g_things); g_lua.bindSingletonFunction("g_things", "saveDat", &ThingTypeManager::saveDat, &g_things); g_lua.bindSingletonFunction("g_things", "loadOtb", &ThingTypeManager::loadOtb, &g_things); g_lua.bindSingletonFunction("g_things", "loadXml", &ThingTypeManager::loadXml, &g_things); g_lua.bindSingletonFunction("g_things", "loadOtml", &ThingTypeManager::loadOtml, &g_things); g_lua.bindSingletonFunction("g_things", "isDatLoaded", &ThingTypeManager::isDatLoaded, &g_things); g_lua.bindSingletonFunction("g_things", "isOtbLoaded", &ThingTypeManager::isOtbLoaded, &g_things); g_lua.bindSingletonFunction("g_things", "getDatSignature", &ThingTypeManager::getDatSignature, &g_things); g_lua.bindSingletonFunction("g_things", "getContentRevision", &ThingTypeManager::getContentRevision, &g_things); g_lua.bindSingletonFunction("g_things", "getThingType", &ThingTypeManager::getThingType, &g_things); g_lua.bindSingletonFunction("g_things", "getItemType", &ThingTypeManager::getItemType, &g_things); g_lua.bindSingletonFunction("g_things", "getThingTypes", &ThingTypeManager::getThingTypes, &g_things); g_lua.bindSingletonFunction("g_things", "findItemTypeByClientId", &ThingTypeManager::findItemTypeByClientId, &g_things); g_lua.bindSingletonFunction("g_things", "findItemTypeByName", &ThingTypeManager::findItemTypeByName, &g_things); g_lua.bindSingletonFunction("g_things", "findItemTypesByName", &ThingTypeManager::findItemTypesByName, &g_things); g_lua.bindSingletonFunction("g_things", "findItemTypesByString", &ThingTypeManager::findItemTypesByString, &g_things); g_lua.bindSingletonFunction("g_things", "findItemTypeByCategory", &ThingTypeManager::findItemTypeByCategory, &g_things); g_lua.bindSingletonFunction("g_things", "findThingTypeByAttr", &ThingTypeManager::findThingTypeByAttr, &g_things); g_lua.registerSingletonClass("g_houses"); g_lua.bindSingletonFunction("g_houses", "clear", &HouseManager::clear, &g_houses); g_lua.bindSingletonFunction("g_houses", "load", &HouseManager::load, &g_houses); g_lua.bindSingletonFunction("g_houses", "save", &HouseManager::save, &g_houses); g_lua.bindSingletonFunction("g_houses", "getHouse", &HouseManager::getHouse, &g_houses); g_lua.bindSingletonFunction("g_houses", "getHouseByName", &HouseManager::getHouseByName, &g_houses); g_lua.bindSingletonFunction("g_houses", "addHouse", &HouseManager::addHouse, &g_houses); g_lua.bindSingletonFunction("g_houses", "removeHouse", &HouseManager::removeHouse, &g_houses); g_lua.bindSingletonFunction("g_houses", "getHouseList", &HouseManager::getHouseList, &g_houses); g_lua.bindSingletonFunction("g_houses", "filterHouses", &HouseManager::filterHouses, &g_houses); g_lua.bindSingletonFunction("g_houses", "sort", &HouseManager::sort, &g_houses); g_lua.registerSingletonClass("g_towns"); g_lua.bindSingletonFunction("g_towns", "getTown", &TownManager::getTown, &g_towns); g_lua.bindSingletonFunction("g_towns", "getTownByName",&TownManager::getTownByName,&g_towns); g_lua.bindSingletonFunction("g_towns", "addTown", &TownManager::addTown, &g_towns); g_lua.bindSingletonFunction("g_towns", "removeTown", &TownManager::removeTown, &g_towns); g_lua.bindSingletonFunction("g_towns", "getTowns", &TownManager::getTowns, &g_towns); g_lua.bindSingletonFunction("g_towns", "sort", &TownManager::sort, &g_towns); g_lua.registerSingletonClass("g_sprites"); g_lua.bindSingletonFunction("g_sprites", "loadSpr", &SpriteManager::loadSpr, &g_sprites); g_lua.bindSingletonFunction("g_sprites", "saveSpr", &SpriteManager::saveSpr, &g_sprites); g_lua.bindSingletonFunction("g_sprites", "unload", &SpriteManager::unload, &g_sprites); g_lua.bindSingletonFunction("g_sprites", "isLoaded", &SpriteManager::isLoaded, &g_sprites); g_lua.bindSingletonFunction("g_sprites", "getSprSignature", &SpriteManager::getSignature, &g_sprites); g_lua.bindSingletonFunction("g_sprites", "getSpritesCount", &SpriteManager::getSpritesCount, &g_sprites); g_lua.registerSingletonClass("g_map"); g_lua.bindSingletonFunction("g_map", "isLookPossible", &Map::isLookPossible, &g_map); g_lua.bindSingletonFunction("g_map", "isCovered", &Map::isCovered, &g_map); g_lua.bindSingletonFunction("g_map", "isCompletelyCovered", &Map::isCompletelyCovered, &g_map); g_lua.bindSingletonFunction("g_map", "addThing", &Map::addThing, &g_map); g_lua.bindSingletonFunction("g_map", "getThing", &Map::getThing, &g_map); g_lua.bindSingletonFunction("g_map", "removeThingByPos", &Map::removeThingByPos, &g_map); g_lua.bindSingletonFunction("g_map", "removeThing", &Map::removeThing, &g_map); g_lua.bindSingletonFunction("g_map", "colorizeThing", &Map::colorizeThing, &g_map); g_lua.bindSingletonFunction("g_map", "removeThingColor", &Map::removeThingColor, &g_map); g_lua.bindSingletonFunction("g_map", "clean", &Map::clean, &g_map); g_lua.bindSingletonFunction("g_map", "cleanTile", &Map::cleanTile, &g_map); g_lua.bindSingletonFunction("g_map", "cleanTexts", &Map::cleanTexts, &g_map); g_lua.bindSingletonFunction("g_map", "getTile", &Map::getTile, &g_map); g_lua.bindSingletonFunction("g_map", "getTiles", &Map::getTiles, &g_map); g_lua.bindSingletonFunction("g_map", "setCentralPosition", &Map::setCentralPosition, &g_map); g_lua.bindSingletonFunction("g_map", "getCentralPosition", &Map::getCentralPosition, &g_map); g_lua.bindSingletonFunction("g_map", "getCreatureById", &Map::getCreatureById, &g_map); g_lua.bindSingletonFunction("g_map", "removeCreatureById", &Map::removeCreatureById, &g_map); g_lua.bindSingletonFunction("g_map", "getSpectators", &Map::getSpectators, &g_map); g_lua.bindSingletonFunction("g_map", "findPath", &Map::findPath, &g_map); g_lua.bindSingletonFunction("g_map", "loadOtbm", &Map::loadOtbm, &g_map); g_lua.bindSingletonFunction("g_map", "saveOtbm", &Map::saveOtbm, &g_map); g_lua.bindSingletonFunction("g_map", "loadOtcm", &Map::loadOtcm, &g_map); g_lua.bindSingletonFunction("g_map", "saveOtcm", &Map::saveOtcm, &g_map); g_lua.bindSingletonFunction("g_map", "getHouseFile", &Map::getHouseFile, &g_map); g_lua.bindSingletonFunction("g_map", "setHouseFile", &Map::setHouseFile, &g_map); g_lua.bindSingletonFunction("g_map", "getSpawnFile", &Map::getSpawnFile, &g_map); g_lua.bindSingletonFunction("g_map", "setSpawnFile", &Map::setSpawnFile, &g_map); g_lua.bindSingletonFunction("g_map", "createTile", &Map::createTile, &g_map); g_lua.bindSingletonFunction("g_map", "setWidth", &Map::setWidth, &g_map); g_lua.bindSingletonFunction("g_map", "setHeight", &Map::setHeight, &g_map); g_lua.bindSingletonFunction("g_map", "getSize", &Map::getSize, &g_map); g_lua.bindSingletonFunction("g_map", "setDescription", &Map::setDescription, &g_map); g_lua.bindSingletonFunction("g_map", "getDescriptions", &Map::getDescriptions, &g_map); g_lua.bindSingletonFunction("g_map", "clearDescriptions", &Map::clearDescriptions, &g_map); g_lua.bindSingletonFunction("g_map", "setShowZone", &Map::setShowZone, &g_map); g_lua.bindSingletonFunction("g_map", "setShowZones", &Map::setShowZones, &g_map); g_lua.bindSingletonFunction("g_map", "setZoneColor", &Map::setZoneColor, &g_map); g_lua.bindSingletonFunction("g_map", "setZoneOpacity", &Map::setZoneOpacity, &g_map); g_lua.bindSingletonFunction("g_map", "getZoneOpacity", &Map::getZoneOpacity, &g_map); g_lua.bindSingletonFunction("g_map", "getZoneColor", &Map::getZoneColor, &g_map); g_lua.bindSingletonFunction("g_map", "showZones", &Map::showZones, &g_map); g_lua.bindSingletonFunction("g_map", "showZone", &Map::showZone, &g_map); g_lua.bindSingletonFunction("g_map", "setForceShowAnimations", &Map::setForceShowAnimations, &g_map); g_lua.bindSingletonFunction("g_map", "isForcingAnimations", &Map::isForcingAnimations, &g_map); g_lua.bindSingletonFunction("g_map", "isShowingAnimations", &Map::isShowingAnimations, &g_map); g_lua.bindSingletonFunction("g_map", "setShowAnimations", &Map::setShowAnimations, &g_map); g_lua.bindSingletonFunction("g_map", "beginGhostMode", &Map::beginGhostMode, &g_map); g_lua.bindSingletonFunction("g_map", "endGhostMode", &Map::endGhostMode, &g_map); g_lua.bindSingletonFunction("g_map", "findItemsById", &Map::findItemsById, &g_map); g_lua.registerSingletonClass("g_minimap"); g_lua.bindSingletonFunction("g_minimap", "clean", &Minimap::clean, &g_minimap); g_lua.bindSingletonFunction("g_minimap", "loadImage", &Minimap::loadImage, &g_minimap); g_lua.bindSingletonFunction("g_minimap", "saveImage", &Minimap::saveImage, &g_minimap); g_lua.bindSingletonFunction("g_minimap", "loadOtmm", &Minimap::loadOtmm, &g_minimap); g_lua.bindSingletonFunction("g_minimap", "saveOtmm", &Minimap::saveOtmm, &g_minimap); g_lua.registerSingletonClass("g_creatures"); g_lua.bindSingletonFunction("g_creatures", "getCreatures", &CreatureManager::getCreatures, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "getCreatureByName", &CreatureManager::getCreatureByName, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "getCreatureByLook", &CreatureManager::getCreatureByLook, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "getSpawn", &CreatureManager::getSpawn, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "getSpawnForPlacePos", &CreatureManager::getSpawnForPlacePos, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "addSpawn", &CreatureManager::addSpawn, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "loadMonsters", &CreatureManager::loadMonsters, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "loadNpcs", &CreatureManager::loadNpcs, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "loadSingleCreature", &CreatureManager::loadSingleCreature, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "loadSpawns", &CreatureManager::loadSpawns, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "saveSpawns", &CreatureManager::saveSpawns, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "isLoaded", &CreatureManager::isLoaded, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "isSpawnLoaded", &CreatureManager::isSpawnLoaded, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "clear", &CreatureManager::clear, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "clearSpawns", &CreatureManager::clearSpawns, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "getSpawns", &CreatureManager::getSpawns, &g_creatures); g_lua.bindSingletonFunction("g_creatures", "deleteSpawn", &CreatureManager::deleteSpawn, &g_creatures); g_lua.registerSingletonClass("g_game"); g_lua.bindSingletonFunction("g_game", "loginWorld", &Game::loginWorld, &g_game); g_lua.bindSingletonFunction("g_game", "cancelLogin", &Game::cancelLogin, &g_game); g_lua.bindSingletonFunction("g_game", "forceLogout", &Game::forceLogout, &g_game); g_lua.bindSingletonFunction("g_game", "safeLogout", &Game::safeLogout, &g_game); g_lua.bindSingletonFunction("g_game", "walk", &Game::walk, &g_game); g_lua.bindSingletonFunction("g_game", "dashWalk", &Game::dashWalk, &g_game); g_lua.bindSingletonFunction("g_game", "autoWalk", &Game::autoWalk, &g_game); g_lua.bindSingletonFunction("g_game", "forceWalk", &Game::forceWalk, &g_game); g_lua.bindSingletonFunction("g_game", "turn", &Game::turn, &g_game); g_lua.bindSingletonFunction("g_game", "stop", &Game::stop, &g_game); g_lua.bindSingletonFunction("g_game", "look", &Game::look, &g_game); g_lua.bindSingletonFunction("g_game", "move", &Game::move, &g_game); g_lua.bindSingletonFunction("g_game", "moveToParentContainer", &Game::moveToParentContainer, &g_game); g_lua.bindSingletonFunction("g_game", "rotate", &Game::rotate, &g_game); g_lua.bindSingletonFunction("g_game", "use", &Game::use, &g_game); g_lua.bindSingletonFunction("g_game", "useWith", &Game::useWith, &g_game); g_lua.bindSingletonFunction("g_game", "useInventoryItem", &Game::useInventoryItem, &g_game); g_lua.bindSingletonFunction("g_game", "useInventoryItemWith", &Game::useInventoryItemWith, &g_game); g_lua.bindSingletonFunction("g_game", "findItemInContainers", &Game::findItemInContainers, &g_game); g_lua.bindSingletonFunction("g_game", "open", &Game::open, &g_game); g_lua.bindSingletonFunction("g_game", "openParent", &Game::openParent, &g_game); g_lua.bindSingletonFunction("g_game", "close", &Game::close, &g_game); g_lua.bindSingletonFunction("g_game", "refreshContainer", &Game::refreshContainer, &g_game); g_lua.bindSingletonFunction("g_game", "attack", &Game::attack, &g_game); g_lua.bindSingletonFunction("g_game", "cancelAttack", &Game::cancelAttack, &g_game); g_lua.bindSingletonFunction("g_game", "follow", &Game::follow, &g_game); g_lua.bindSingletonFunction("g_game", "cancelFollow", &Game::cancelFollow, &g_game); g_lua.bindSingletonFunction("g_game", "cancelAttackAndFollow", &Game::cancelAttackAndFollow, &g_game); g_lua.bindSingletonFunction("g_game", "talk", &Game::talk, &g_game); g_lua.bindSingletonFunction("g_game", "talkChannel", &Game::talkChannel, &g_game); g_lua.bindSingletonFunction("g_game", "talkPrivate", &Game::talkPrivate, &g_game); g_lua.bindSingletonFunction("g_game", "openPrivateChannel", &Game::openPrivateChannel, &g_game); g_lua.bindSingletonFunction("g_game", "requestChannels", &Game::requestChannels, &g_game); g_lua.bindSingletonFunction("g_game", "joinChannel", &Game::joinChannel, &g_game); g_lua.bindSingletonFunction("g_game", "leaveChannel", &Game::leaveChannel, &g_game); g_lua.bindSingletonFunction("g_game", "closeNpcChannel", &Game::closeNpcChannel, &g_game); g_lua.bindSingletonFunction("g_game", "openOwnChannel", &Game::openOwnChannel, &g_game); g_lua.bindSingletonFunction("g_game", "inviteToOwnChannel", &Game::inviteToOwnChannel, &g_game); g_lua.bindSingletonFunction("g_game", "excludeFromOwnChannel", &Game::excludeFromOwnChannel, &g_game); g_lua.bindSingletonFunction("g_game", "partyInvite", &Game::partyInvite, &g_game); g_lua.bindSingletonFunction("g_game", "partyJoin", &Game::partyJoin, &g_game); g_lua.bindSingletonFunction("g_game", "partyRevokeInvitation", &Game::partyRevokeInvitation, &g_game); g_lua.bindSingletonFunction("g_game", "partyPassLeadership", &Game::partyPassLeadership, &g_game); g_lua.bindSingletonFunction("g_game", "partyLeave", &Game::partyLeave, &g_game); g_lua.bindSingletonFunction("g_game", "partyShareExperience", &Game::partyShareExperience, &g_game); g_lua.bindSingletonFunction("g_game", "requestOutfit", &Game::requestOutfit, &g_game); g_lua.bindSingletonFunction("g_game", "changeOutfit", &Game::changeOutfit, &g_game); g_lua.bindSingletonFunction("g_game", "addVip", &Game::addVip, &g_game); g_lua.bindSingletonFunction("g_game", "removeVip", &Game::removeVip, &g_game); g_lua.bindSingletonFunction("g_game", "editVip", &Game::editVip, &g_game); g_lua.bindSingletonFunction("g_game", "setChaseMode", &Game::setChaseMode, &g_game); g_lua.bindSingletonFunction("g_game", "setFightMode", &Game::setFightMode, &g_game); g_lua.bindSingletonFunction("g_game", "setPVPMode", &Game::setPVPMode, &g_game); g_lua.bindSingletonFunction("g_game", "setSafeFight", &Game::setSafeFight, &g_game); g_lua.bindSingletonFunction("g_game", "getChaseMode", &Game::getChaseMode, &g_game); g_lua.bindSingletonFunction("g_game", "getFightMode", &Game::getFightMode, &g_game); g_lua.bindSingletonFunction("g_game", "getPVPMode", &Game::getPVPMode, &g_game); g_lua.bindSingletonFunction("g_game", "getUnjustifiedPoints", &Game::getUnjustifiedPoints, &g_game); g_lua.bindSingletonFunction("g_game", "getOpenPvpSituations", &Game::getOpenPvpSituations, &g_game); g_lua.bindSingletonFunction("g_game", "isSafeFight", &Game::isSafeFight, &g_game); g_lua.bindSingletonFunction("g_game", "inspectNpcTrade", &Game::inspectNpcTrade, &g_game); g_lua.bindSingletonFunction("g_game", "buyItem", &Game::buyItem, &g_game); g_lua.bindSingletonFunction("g_game", "sellItem", &Game::sellItem, &g_game); g_lua.bindSingletonFunction("g_game", "closeNpcTrade", &Game::closeNpcTrade, &g_game); g_lua.bindSingletonFunction("g_game", "requestTrade", &Game::requestTrade, &g_game); g_lua.bindSingletonFunction("g_game", "inspectTrade", &Game::inspectTrade, &g_game); g_lua.bindSingletonFunction("g_game", "acceptTrade", &Game::acceptTrade, &g_game); g_lua.bindSingletonFunction("g_game", "rejectTrade", &Game::rejectTrade, &g_game); g_lua.bindSingletonFunction("g_game", "openRuleViolation", &Game::openRuleViolation, &g_game); g_lua.bindSingletonFunction("g_game", "closeRuleViolation", &Game::closeRuleViolation, &g_game); g_lua.bindSingletonFunction("g_game", "cancelRuleViolation", &Game::cancelRuleViolation, &g_game); g_lua.bindSingletonFunction("g_game", "reportBug", &Game::reportBug, &g_game); g_lua.bindSingletonFunction("g_game", "reportRuleViolation", &Game::reportRuleViolation, &g_game); g_lua.bindSingletonFunction("g_game", "debugReport", &Game::debugReport, &g_game); g_lua.bindSingletonFunction("g_game", "editText", &Game::editText, &g_game); g_lua.bindSingletonFunction("g_game", "editList", &Game::editList, &g_game); g_lua.bindSingletonFunction("g_game", "requestQuestLog", &Game::requestQuestLog, &g_game); g_lua.bindSingletonFunction("g_game", "requestQuestLine", &Game::requestQuestLine, &g_game); g_lua.bindSingletonFunction("g_game", "equipItem", &Game::equipItem, &g_game); g_lua.bindSingletonFunction("g_game", "mount", &Game::mount, &g_game); g_lua.bindSingletonFunction("g_game", "requestItemInfo", &Game::requestItemInfo, &g_game); g_lua.bindSingletonFunction("g_game", "ping", &Game::ping, &g_game); g_lua.bindSingletonFunction("g_game", "setPingDelay", &Game::setPingDelay, &g_game); g_lua.bindSingletonFunction("g_game", "changeMapAwareRange", &Game::changeMapAwareRange, &g_game); g_lua.bindSingletonFunction("g_game", "canPerformGameAction", &Game::canPerformGameAction, &g_game); g_lua.bindSingletonFunction("g_game", "canReportBugs", &Game::canReportBugs, &g_game); g_lua.bindSingletonFunction("g_game", "checkBotProtection", &Game::checkBotProtection, &g_game); g_lua.bindSingletonFunction("g_game", "isOnline", &Game::isOnline, &g_game); g_lua.bindSingletonFunction("g_game", "isLogging", &Game::isLogging, &g_game); g_lua.bindSingletonFunction("g_game", "isDead", &Game::isDead, &g_game); g_lua.bindSingletonFunction("g_game", "isAttacking", &Game::isAttacking, &g_game); g_lua.bindSingletonFunction("g_game", "isFollowing", &Game::isFollowing, &g_game); g_lua.bindSingletonFunction("g_game", "isConnectionOk", &Game::isConnectionOk, &g_game); g_lua.bindSingletonFunction("g_game", "getPing", &Game::getPing, &g_game); g_lua.bindSingletonFunction("g_game", "getContainer", &Game::getContainer, &g_game); g_lua.bindSingletonFunction("g_game", "getContainers", &Game::getContainers, &g_game); g_lua.bindSingletonFunction("g_game", "getVips", &Game::getVips, &g_game); g_lua.bindSingletonFunction("g_game", "getAttackingCreature", &Game::getAttackingCreature, &g_game); g_lua.bindSingletonFunction("g_game", "getFollowingCreature", &Game::getFollowingCreature, &g_game); g_lua.bindSingletonFunction("g_game", "getServerBeat", &Game::getServerBeat, &g_game); g_lua.bindSingletonFunction("g_game", "getLocalPlayer", &Game::getLocalPlayer, &g_game); g_lua.bindSingletonFunction("g_game", "getProtocolGame", &Game::getProtocolGame, &g_game); g_lua.bindSingletonFunction("g_game", "getProtocolVersion", &Game::getProtocolVersion, &g_game); g_lua.bindSingletonFunction("g_game", "setProtocolVersion", &Game::setProtocolVersion, &g_game); g_lua.bindSingletonFunction("g_game", "getClientVersion", &Game::getClientVersion, &g_game); g_lua.bindSingletonFunction("g_game", "setClientVersion", &Game::setClientVersion, &g_game); g_lua.bindSingletonFunction("g_game", "setCustomOs", &Game::setCustomOs, &g_game); g_lua.bindSingletonFunction("g_game", "getOs", &Game::getOs, &g_game); g_lua.bindSingletonFunction("g_game", "getCharacterName", &Game::getCharacterName, &g_game); g_lua.bindSingletonFunction("g_game", "getWorldName", &Game::getWorldName, &g_game); g_lua.bindSingletonFunction("g_game", "getGMActions", &Game::getGMActions, &g_game); g_lua.bindSingletonFunction("g_game", "getFeature", &Game::getFeature, &g_game); g_lua.bindSingletonFunction("g_game", "setFeature", &Game::setFeature, &g_game); g_lua.bindSingletonFunction("g_game", "enableFeature", &Game::enableFeature, &g_game); g_lua.bindSingletonFunction("g_game", "disableFeature", &Game::disableFeature, &g_game); g_lua.bindSingletonFunction("g_game", "isGM", &Game::isGM, &g_game); g_lua.bindSingletonFunction("g_game", "answerModalDialog", &Game::answerModalDialog, &g_game); g_lua.bindSingletonFunction("g_game", "browseField", &Game::browseField, &g_game); g_lua.bindSingletonFunction("g_game", "seekInContainer", &Game::seekInContainer, &g_game); g_lua.bindSingletonFunction("g_game", "getLastWalkDir", &Game::getLastWalkDir, &g_game); g_lua.bindSingletonFunction("g_game", "buyStoreOffer", &Game::buyStoreOffer, &g_game); g_lua.bindSingletonFunction("g_game", "requestTransactionHistory", &Game::requestTransactionHistory, &g_game); g_lua.bindSingletonFunction("g_game", "requestStoreOffers", &Game::requestStoreOffers, &g_game); g_lua.bindSingletonFunction("g_game", "openStore", &Game::openStore, &g_game); g_lua.bindSingletonFunction("g_game", "transferCoins", &Game::transferCoins, &g_game); g_lua.bindSingletonFunction("g_game", "openTransactionHistory", &Game::openTransactionHistory, &g_game); g_lua.registerSingletonClass("g_shaders"); g_lua.bindSingletonFunction("g_shaders", "createShader", &ShaderManager::createShader, &g_shaders); g_lua.bindSingletonFunction("g_shaders", "createFragmentShader", &ShaderManager::createFragmentShader, &g_shaders); g_lua.bindSingletonFunction("g_shaders", "createFragmentShaderFromCode", &ShaderManager::createFragmentShaderFromCode, &g_shaders); g_lua.bindSingletonFunction("g_shaders", "createItemShader", &ShaderManager::createItemShader, &g_shaders); g_lua.bindSingletonFunction("g_shaders", "createMapShader", &ShaderManager::createMapShader, &g_shaders); g_lua.bindSingletonFunction("g_shaders", "getDefaultItemShader", &ShaderManager::getDefaultItemShader, &g_shaders); g_lua.bindSingletonFunction("g_shaders", "getDefaultMapShader", &ShaderManager::getDefaultMapShader, &g_shaders); g_lua.bindSingletonFunction("g_shaders", "getShader", &ShaderManager::getShader, &g_shaders); g_lua.bindGlobalFunction("getOutfitColor", Outfit::getColor); g_lua.bindGlobalFunction("getAngleFromPos", Position::getAngleFromPositions); g_lua.bindGlobalFunction("getDirectionFromPos", Position::getDirectionFromPositions); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return ProtocolGamePtr(new ProtocolGame); }); g_lua.bindClassMemberFunction("login", &ProtocolGame::login); g_lua.bindClassMemberFunction("sendExtendedOpcode", &ProtocolGame::sendExtendedOpcode); g_lua.bindClassMemberFunction("addPosition", &ProtocolGame::addPosition); g_lua.bindClassMemberFunction("setMapDescription", &ProtocolGame::setMapDescription); g_lua.bindClassMemberFunction("setFloorDescription", &ProtocolGame::setFloorDescription); g_lua.bindClassMemberFunction("setTileDescription", &ProtocolGame::setTileDescription); g_lua.bindClassMemberFunction("getOutfit", &ProtocolGame::getOutfit); g_lua.bindClassMemberFunction("getThing", &ProtocolGame::getThing); g_lua.bindClassMemberFunction("getCreature", &ProtocolGame::getCreature); g_lua.bindClassMemberFunction("getItem", &ProtocolGame::getItem); g_lua.bindClassMemberFunction("getPosition", &ProtocolGame::getPosition); g_lua.registerClass(); g_lua.bindClassMemberFunction("getItem", &Container::getItem); g_lua.bindClassMemberFunction("getItems", &Container::getItems); g_lua.bindClassMemberFunction("getItemsCount", &Container::getItemsCount); g_lua.bindClassMemberFunction("getSlotPosition", &Container::getSlotPosition); g_lua.bindClassMemberFunction("getName", &Container::getName); g_lua.bindClassMemberFunction("getId", &Container::getId); g_lua.bindClassMemberFunction("getCapacity", &Container::getCapacity); g_lua.bindClassMemberFunction("getContainerItem", &Container::getContainerItem); g_lua.bindClassMemberFunction("hasParent", &Container::hasParent); g_lua.bindClassMemberFunction("isClosed", &Container::isClosed); g_lua.bindClassMemberFunction("isUnlocked", &Container::isUnlocked); g_lua.bindClassMemberFunction("hasPages", &Container::hasPages); g_lua.bindClassMemberFunction("getSize", &Container::getSize); g_lua.bindClassMemberFunction("getFirstIndex", &Container::getFirstIndex); g_lua.registerClass(); g_lua.bindClassMemberFunction("setId", &Thing::setId); g_lua.bindClassMemberFunction("setPosition", &Thing::setPosition); g_lua.bindClassMemberFunction("getId", &Thing::getId); g_lua.bindClassMemberFunction("getPosition", &Thing::getPosition); g_lua.bindClassMemberFunction("getStackPriority", &Thing::getStackPriority); g_lua.bindClassMemberFunction("getStackPos", &Thing::getStackPos); g_lua.bindClassMemberFunction("getAnimationPhases", &Thing::getAnimationPhases); g_lua.bindClassMemberFunction("getTile", &Thing::getTile); g_lua.bindClassMemberFunction("isItem", &Thing::isItem); g_lua.bindClassMemberFunction("isMonster", &Thing::isMonster); g_lua.bindClassMemberFunction("isNpc", &Thing::isNpc); g_lua.bindClassMemberFunction("isCreature", &Thing::isCreature); g_lua.bindClassMemberFunction("isEffect", &Thing::isEffect); g_lua.bindClassMemberFunction("isMissile", &Thing::isMissile); g_lua.bindClassMemberFunction("isPlayer", &Thing::isPlayer); g_lua.bindClassMemberFunction("isLocalPlayer", &Thing::isLocalPlayer); g_lua.bindClassMemberFunction("isAnimatedText", &Thing::isAnimatedText); g_lua.bindClassMemberFunction("isStaticText", &Thing::isStaticText); g_lua.bindClassMemberFunction("isGround", &Thing::isGround); g_lua.bindClassMemberFunction("isGroundBorder", &Thing::isGroundBorder); g_lua.bindClassMemberFunction("isOnBottom", &Thing::isOnBottom); g_lua.bindClassMemberFunction("isOnTop", &Thing::isOnTop); g_lua.bindClassMemberFunction("isContainer", &Thing::isContainer); g_lua.bindClassMemberFunction("isForceUse", &Thing::isForceUse); g_lua.bindClassMemberFunction("isMultiUse", &Thing::isMultiUse); g_lua.bindClassMemberFunction("isRotateable", &Thing::isRotateable); g_lua.bindClassMemberFunction("isNotMoveable", &Thing::isNotMoveable); g_lua.bindClassMemberFunction("isPickupable", &Thing::isPickupable); g_lua.bindClassMemberFunction("isIgnoreLook", &Thing::isIgnoreLook); g_lua.bindClassMemberFunction("isStackable", &Thing::isStackable); g_lua.bindClassMemberFunction("isHookSouth", &Thing::isHookSouth); g_lua.bindClassMemberFunction("isTranslucent", &Thing::isTranslucent); g_lua.bindClassMemberFunction("isFullGround", &Thing::isFullGround); g_lua.bindClassMemberFunction("isMarketable", &Thing::isMarketable); g_lua.bindClassMemberFunction("getMarketData", &Thing::getMarketData); g_lua.bindClassMemberFunction("isUsable", &Thing::isUsable); g_lua.bindClassMemberFunction("isWrapable", &Thing::isWrapable); g_lua.bindClassMemberFunction("isUnwrapable", &Thing::isUnwrapable); g_lua.bindClassMemberFunction("isTopEffect", &Thing::isTopEffect); g_lua.bindClassMemberFunction("isLyingCorpse", &Thing::isLyingCorpse); g_lua.bindClassMemberFunction("getParentContainer", &Thing::getParentContainer); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return HousePtr(new House); }); g_lua.bindClassMemberFunction("setId", &House::setId); g_lua.bindClassMemberFunction("getId", &House::getId); g_lua.bindClassMemberFunction("setName", &House::setName); g_lua.bindClassMemberFunction("getName", &House::getName); g_lua.bindClassMemberFunction("setTownId", &House::setTownId); g_lua.bindClassMemberFunction("getTownId", &House::getTownId); g_lua.bindClassMemberFunction("setTile", &House::setTile); g_lua.bindClassMemberFunction("getTile", &House::getTile); g_lua.bindClassMemberFunction("setEntry", &House::setEntry); g_lua.bindClassMemberFunction("getEntry", &House::getEntry); g_lua.bindClassMemberFunction("addDoor", &House::addDoor); g_lua.bindClassMemberFunction("removeDoor", &House::removeDoor); g_lua.bindClassMemberFunction("removeDoorById", &House::removeDoorById); g_lua.bindClassMemberFunction("setSize", &House::setSize); g_lua.bindClassMemberFunction("getSize", &House::getSize); g_lua.bindClassMemberFunction("setRent", &House::setRent); g_lua.bindClassMemberFunction("getRent", &House::getRent); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return SpawnPtr(new Spawn); }); g_lua.bindClassMemberFunction("setRadius", &Spawn::setRadius); g_lua.bindClassMemberFunction("getRadius", &Spawn::getRadius); g_lua.bindClassMemberFunction("setCenterPos", &Spawn::setCenterPos); g_lua.bindClassMemberFunction("getCenterPos", &Spawn::getCenterPos); g_lua.bindClassMemberFunction("addCreature", &Spawn::addCreature); g_lua.bindClassMemberFunction("removeCreature", &Spawn::removeCreature); g_lua.bindClassMemberFunction("getCreatures", &Spawn::getCreatures); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return TownPtr(new Town); }); g_lua.bindClassMemberFunction("setId", &Town::setId); g_lua.bindClassMemberFunction("setName", &Town::setName); g_lua.bindClassMemberFunction("setPos", &Town::setPos); g_lua.bindClassMemberFunction("setTemplePos", &Town::setPos); // alternative method g_lua.bindClassMemberFunction("getId", &Town::getId); g_lua.bindClassMemberFunction("getName", &Town::getName); g_lua.bindClassMemberFunction("getPos", &Town::getPos); g_lua.bindClassMemberFunction("getTemplePos", &Town::getPos); // alternative method g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return CreatureTypePtr(new CreatureType); }); g_lua.bindClassMemberFunction("setName", &CreatureType::setName); g_lua.bindClassMemberFunction("setOutfit", &CreatureType::setOutfit); g_lua.bindClassMemberFunction("setSpawnTime", &CreatureType::setSpawnTime); g_lua.bindClassMemberFunction("getName", &CreatureType::getName); g_lua.bindClassMemberFunction("getOutfit", &CreatureType::getOutfit); g_lua.bindClassMemberFunction("getSpawnTime", &CreatureType::getSpawnTime); g_lua.bindClassMemberFunction("cast", &CreatureType::cast); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return CreaturePtr(new Creature); }); g_lua.bindClassMemberFunction("getId", &Creature::getId); g_lua.bindClassMemberFunction("getName", &Creature::getName); g_lua.bindClassMemberFunction("getHealthPercent", &Creature::getHealthPercent); g_lua.bindClassMemberFunction("getSpeed", &Creature::getSpeed); g_lua.bindClassMemberFunction("getBaseSpeed", &Creature::getBaseSpeed); g_lua.bindClassMemberFunction("getSkull", &Creature::getSkull); g_lua.bindClassMemberFunction("getShield", &Creature::getShield); g_lua.bindClassMemberFunction("getEmblem", &Creature::getEmblem); g_lua.bindClassMemberFunction("getIcon", &Creature::getIcon); g_lua.bindClassMemberFunction("setOutfit", &Creature::setOutfit); g_lua.bindClassMemberFunction("getOutfit", &Creature::getOutfit); g_lua.bindClassMemberFunction("setOutfitColor", &Creature::setOutfitColor); g_lua.bindClassMemberFunction("getDirection", &Creature::getDirection); g_lua.bindClassMemberFunction("getStepDuration", &Creature::getStepDuration); g_lua.bindClassMemberFunction("getStepProgress", &Creature::getStepProgress); g_lua.bindClassMemberFunction("getWalkTicksElapsed", &Creature::getWalkTicksElapsed); g_lua.bindClassMemberFunction("getStepTicksLeft", &Creature::getStepTicksLeft); g_lua.bindClassMemberFunction("setDirection", &Creature::setDirection); g_lua.bindClassMemberFunction("setSkullTexture", &Creature::setSkullTexture); g_lua.bindClassMemberFunction("setShieldTexture", &Creature::setShieldTexture); g_lua.bindClassMemberFunction("setEmblemTexture", &Creature::setEmblemTexture); g_lua.bindClassMemberFunction("setIconTexture", &Creature::setIconTexture); g_lua.bindClassMemberFunction("showStaticSquare", &Creature::showStaticSquare); g_lua.bindClassMemberFunction("hideStaticSquare", &Creature::hideStaticSquare); g_lua.bindClassMemberFunction("isWalking", &Creature::isWalking); g_lua.bindClassMemberFunction("isInvisible", &Creature::isInvisible); g_lua.bindClassMemberFunction("isDead", &Creature::isDead); g_lua.bindClassMemberFunction("isRemoved", &Creature::isRemoved); g_lua.bindClassMemberFunction("canBeSeen", &Creature::canBeSeen); g_lua.bindClassMemberFunction("jump", &Creature::jump); g_lua.registerClass(); g_lua.bindClassMemberFunction("getServerId", &ItemType::getServerId); g_lua.bindClassMemberFunction("getClientId", &ItemType::getClientId); g_lua.bindClassMemberFunction("isWritable", &ItemType::isWritable); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return ThingTypePtr(new ThingType); }); g_lua.bindClassMemberFunction("getId", &ThingType::getId); g_lua.bindClassMemberFunction("getClothSlot", &ThingType::getClothSlot); g_lua.bindClassMemberFunction("getCategory", &ThingType::getCategory); g_lua.bindClassMemberFunction("getSize", &ThingType::getSize); g_lua.bindClassMemberFunction("getWidth", &ThingType::getWidth); g_lua.bindClassMemberFunction("getHeight", &ThingType::getHeight); g_lua.bindClassMemberFunction("getDisplacement", &ThingType::getDisplacement); g_lua.bindClassMemberFunction("getDisplacementX", &ThingType::getDisplacementX); g_lua.bindClassMemberFunction("getDisplacementY", &ThingType::getDisplacementY); g_lua.bindClassMemberFunction("getExactSize", &ThingType::getExactSize); g_lua.bindClassMemberFunction("getRealSize", &ThingType::getRealSize); g_lua.bindClassMemberFunction("getLayers", &ThingType::getLayers); g_lua.bindClassMemberFunction("getNumPatternX", &ThingType::getNumPatternX); g_lua.bindClassMemberFunction("getNumPatternY", &ThingType::getNumPatternY); g_lua.bindClassMemberFunction("getNumPatternZ", &ThingType::getNumPatternZ); g_lua.bindClassMemberFunction("getAnimationPhases", &ThingType::getAnimationPhases); g_lua.bindClassMemberFunction("getGroundSpeed", &ThingType::getGroundSpeed); g_lua.bindClassMemberFunction("getMaxTextLength", &ThingType::getMaxTextLength); g_lua.bindClassMemberFunction("getLight", &ThingType::getLight); g_lua.bindClassMemberFunction("getMinimapColor", &ThingType::getMinimapColor); g_lua.bindClassMemberFunction("getLensHelp", &ThingType::getLensHelp); g_lua.bindClassMemberFunction("getClothSlot", &ThingType::getClothSlot); g_lua.bindClassMemberFunction("getElevation", &ThingType::getElevation); g_lua.bindClassMemberFunction("isGround", &ThingType::isGround); g_lua.bindClassMemberFunction("isGroundBorder", &ThingType::isGroundBorder); g_lua.bindClassMemberFunction("isOnBottom", &ThingType::isOnBottom); g_lua.bindClassMemberFunction("isOnTop", &ThingType::isOnTop); g_lua.bindClassMemberFunction("isContainer", &ThingType::isContainer); g_lua.bindClassMemberFunction("isStackable", &ThingType::isStackable); g_lua.bindClassMemberFunction("isForceUse", &ThingType::isForceUse); g_lua.bindClassMemberFunction("isMultiUse", &ThingType::isMultiUse); g_lua.bindClassMemberFunction("isWritable", &ThingType::isWritable); g_lua.bindClassMemberFunction("isChargeable", &ThingType::isChargeable); g_lua.bindClassMemberFunction("isWritableOnce", &ThingType::isWritableOnce); g_lua.bindClassMemberFunction("isFluidContainer", &ThingType::isFluidContainer); g_lua.bindClassMemberFunction("isSplash", &ThingType::isSplash); g_lua.bindClassMemberFunction("isNotWalkable", &ThingType::isNotWalkable); g_lua.bindClassMemberFunction("isNotMoveable", &ThingType::isNotMoveable); g_lua.bindClassMemberFunction("blockProjectile", &ThingType::blockProjectile); g_lua.bindClassMemberFunction("isNotPathable", &ThingType::isNotPathable); g_lua.bindClassMemberFunction("isPickupable", &ThingType::isPickupable); g_lua.bindClassMemberFunction("isHangable", &ThingType::isHangable); g_lua.bindClassMemberFunction("isHookSouth", &ThingType::isHookSouth); g_lua.bindClassMemberFunction("isHookEast", &ThingType::isHookEast); g_lua.bindClassMemberFunction("isRotateable", &ThingType::isRotateable); g_lua.bindClassMemberFunction("hasLight", &ThingType::hasLight); g_lua.bindClassMemberFunction("isDontHide", &ThingType::isDontHide); g_lua.bindClassMemberFunction("isTranslucent", &ThingType::isTranslucent); g_lua.bindClassMemberFunction("hasDisplacement", &ThingType::hasDisplacement); g_lua.bindClassMemberFunction("hasElevation", &ThingType::hasElevation); g_lua.bindClassMemberFunction("isLyingCorpse", &ThingType::isLyingCorpse); g_lua.bindClassMemberFunction("isAnimateAlways", &ThingType::isAnimateAlways); g_lua.bindClassMemberFunction("hasMiniMapColor", &ThingType::hasMiniMapColor); g_lua.bindClassMemberFunction("hasLensHelp", &ThingType::hasLensHelp); g_lua.bindClassMemberFunction("isFullGround", &ThingType::isFullGround); g_lua.bindClassMemberFunction("isIgnoreLook", &ThingType::isIgnoreLook); g_lua.bindClassMemberFunction("isCloth", &ThingType::isCloth); g_lua.bindClassMemberFunction("isMarketable", &ThingType::isMarketable); g_lua.bindClassMemberFunction("getMarketData", &ThingType::getMarketData); g_lua.bindClassMemberFunction("isUsable", &ThingType::isUsable); g_lua.bindClassMemberFunction("isWrapable", &ThingType::isWrapable); g_lua.bindClassMemberFunction("isUnwrapable", &ThingType::isUnwrapable); g_lua.bindClassMemberFunction("isTopEffect", &ThingType::isTopEffect); g_lua.bindClassMemberFunction("getSprites", &ThingType::getSprites); g_lua.bindClassMemberFunction("hasAttribute", &ThingType::hasAttr); g_lua.bindClassMemberFunction("exportImage", &ThingType::exportImage); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", &Item::create); g_lua.bindClassStaticFunction("createOtb", &Item::createFromOtb); g_lua.bindClassMemberFunction("clone", &Item::clone); g_lua.bindClassMemberFunction("getContainerItems", &Item::getContainerItems); g_lua.bindClassMemberFunction("getContainerItem", &Item::getContainerItem); g_lua.bindClassMemberFunction("addContainerItem", &Item::addContainerItem); g_lua.bindClassMemberFunction("addContainerItemIndexed", &Item::addContainerItemIndexed); g_lua.bindClassMemberFunction("removeContainerItem", &Item::removeContainerItem); g_lua.bindClassMemberFunction("clearContainerItems", &Item::clearContainerItems); g_lua.bindClassMemberFunction("getContainerItem", &Item::getContainerItem); g_lua.bindClassMemberFunction("setCount", &Item::setCount); g_lua.bindClassMemberFunction("getCount", &Item::getCount); g_lua.bindClassMemberFunction("getSubType", &Item::getSubType); g_lua.bindClassMemberFunction("getId", &Item::getId); g_lua.bindClassMemberFunction("getServerId", &Item::getServerId); g_lua.bindClassMemberFunction("getName", &Item::getName); g_lua.bindClassMemberFunction("getDescription", &Item::getDescription); g_lua.bindClassMemberFunction("getText", &Item::getText); g_lua.bindClassMemberFunction("setDescription", &Item::setDescription); g_lua.bindClassMemberFunction("setText", &Item::setText); g_lua.bindClassMemberFunction("getUniqueId", &Item::getUniqueId); g_lua.bindClassMemberFunction("getActionId", &Item::getActionId); g_lua.bindClassMemberFunction("setUniqueId", &Item::setUniqueId); g_lua.bindClassMemberFunction("setActionId", &Item::setActionId); g_lua.bindClassMemberFunction("getTeleportDestination", &Item::getTeleportDestination); g_lua.bindClassMemberFunction("setTeleportDestination", &Item::setTeleportDestination); g_lua.bindClassMemberFunction("isStackable", &Item::isStackable); g_lua.bindClassMemberFunction("isMarketable", &Item::isMarketable); g_lua.bindClassMemberFunction("isFluidContainer", &Item::isFluidContainer); g_lua.bindClassMemberFunction("getMarketData", &Item::getMarketData); g_lua.bindClassMemberFunction("getClothSlot", &Item::getClothSlot); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return EffectPtr(new Effect); }); g_lua.bindClassMemberFunction("setId", &Effect::setId); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return MissilePtr(new Missile); }); g_lua.bindClassMemberFunction("setId", &Missile::setId); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return StaticTextPtr(new StaticText); }); g_lua.bindClassMemberFunction("addMessage", &StaticText::addMessage); g_lua.bindClassMemberFunction("setText", &StaticText::setText); g_lua.bindClassMemberFunction("setFont", &StaticText::setFont); g_lua.bindClassMemberFunction("setColor", &StaticText::setColor); g_lua.bindClassMemberFunction("getColor", &StaticText::getColor); g_lua.registerClass(); g_lua.registerClass(); g_lua.registerClass(); g_lua.registerClass(); g_lua.registerClass(); g_lua.bindClassMemberFunction("unlockWalk", &LocalPlayer::unlockWalk); g_lua.bindClassMemberFunction("lockWalk", &LocalPlayer::lockWalk); g_lua.bindClassMemberFunction("canWalk", &LocalPlayer::canWalk); g_lua.bindClassMemberFunction("setStates", &LocalPlayer::setStates); g_lua.bindClassMemberFunction("setSkill", &LocalPlayer::setSkill); g_lua.bindClassMemberFunction("setHealth", &LocalPlayer::setHealth); g_lua.bindClassMemberFunction("setTotalCapacity", &LocalPlayer::setTotalCapacity); g_lua.bindClassMemberFunction("setFreeCapacity", &LocalPlayer::setFreeCapacity); g_lua.bindClassMemberFunction("setExperience", &LocalPlayer::setExperience); g_lua.bindClassMemberFunction("setLevel", &LocalPlayer::setLevel); g_lua.bindClassMemberFunction("setMana", &LocalPlayer::setMana); g_lua.bindClassMemberFunction("setMagicLevel", &LocalPlayer::setMagicLevel); g_lua.bindClassMemberFunction("setSoul", &LocalPlayer::setSoul); g_lua.bindClassMemberFunction("setStamina", &LocalPlayer::setStamina); g_lua.bindClassMemberFunction("setKnown", &LocalPlayer::setKnown); g_lua.bindClassMemberFunction("setInventoryItem", &LocalPlayer::setInventoryItem); g_lua.bindClassMemberFunction("getStates", &LocalPlayer::getStates); g_lua.bindClassMemberFunction("getSkillLevel", &LocalPlayer::getSkillLevel); g_lua.bindClassMemberFunction("getSkillBaseLevel", &LocalPlayer::getSkillBaseLevel); g_lua.bindClassMemberFunction("getSkillLevelPercent", &LocalPlayer::getSkillLevelPercent); g_lua.bindClassMemberFunction("getHealth", &LocalPlayer::getHealth); g_lua.bindClassMemberFunction("getMaxHealth", &LocalPlayer::getMaxHealth); g_lua.bindClassMemberFunction("getFreeCapacity", &LocalPlayer::getFreeCapacity); g_lua.bindClassMemberFunction("getExperience", &LocalPlayer::getExperience); g_lua.bindClassMemberFunction("getLevel", &LocalPlayer::getLevel); g_lua.bindClassMemberFunction("getLevelPercent", &LocalPlayer::getLevelPercent); g_lua.bindClassMemberFunction("getMana", &LocalPlayer::getMana); g_lua.bindClassMemberFunction("getMaxMana", &LocalPlayer::getMaxMana); g_lua.bindClassMemberFunction("getMagicLevel", &LocalPlayer::getMagicLevel); g_lua.bindClassMemberFunction("getMagicLevelPercent", &LocalPlayer::getMagicLevelPercent); g_lua.bindClassMemberFunction("getSoul", &LocalPlayer::getSoul); g_lua.bindClassMemberFunction("getStamina", &LocalPlayer::getStamina); g_lua.bindClassMemberFunction("getOfflineTrainingTime", &LocalPlayer::getOfflineTrainingTime); g_lua.bindClassMemberFunction("getRegenerationTime", &LocalPlayer::getRegenerationTime); g_lua.bindClassMemberFunction("getBaseMagicLevel", &LocalPlayer::getBaseMagicLevel); g_lua.bindClassMemberFunction("getTotalCapacity", &LocalPlayer::getTotalCapacity); g_lua.bindClassMemberFunction("getInventoryItem", &LocalPlayer::getInventoryItem); g_lua.bindClassMemberFunction("getVocation", &LocalPlayer::getVocation); g_lua.bindClassMemberFunction("getBlessings", &LocalPlayer::getBlessings); g_lua.bindClassMemberFunction("isPremium", &LocalPlayer::isPremium); g_lua.bindClassMemberFunction("isKnown", &LocalPlayer::isKnown); g_lua.bindClassMemberFunction("isPreWalking", &LocalPlayer::isPreWalking); g_lua.bindClassMemberFunction("hasSight", &LocalPlayer::hasSight); g_lua.bindClassMemberFunction("isAutoWalking", &LocalPlayer::isAutoWalking); g_lua.bindClassMemberFunction("isServerWalking", &LocalPlayer::isServerWalking); g_lua.bindClassMemberFunction("stopAutoWalk", &LocalPlayer::stopAutoWalk); g_lua.bindClassMemberFunction("autoWalk", &LocalPlayer::autoWalk); g_lua.registerClass(); g_lua.bindClassMemberFunction("clean", &Tile::clean); g_lua.bindClassMemberFunction("addThing", &Tile::addThing); g_lua.bindClassMemberFunction("getThing", &Tile::getThing); g_lua.bindClassMemberFunction("getThings", &Tile::getThings); g_lua.bindClassMemberFunction("getItems", &Tile::getItems); g_lua.bindClassMemberFunction("getThingStackPos", &Tile::getThingStackPos); g_lua.bindClassMemberFunction("getThingCount", &Tile::getThingCount); g_lua.bindClassMemberFunction("getTopThing", &Tile::getTopThing); g_lua.bindClassMemberFunction("removeThing", &Tile::removeThing); g_lua.bindClassMemberFunction("getTopLookThing", &Tile::getTopLookThing); g_lua.bindClassMemberFunction("getTopUseThing", &Tile::getTopUseThing); g_lua.bindClassMemberFunction("getTopCreature", &Tile::getTopCreature); g_lua.bindClassMemberFunction("getTopMoveThing", &Tile::getTopMoveThing); g_lua.bindClassMemberFunction("getTopMultiUseThing", &Tile::getTopMultiUseThing); g_lua.bindClassMemberFunction("getPosition", &Tile::getPosition); g_lua.bindClassMemberFunction("getDrawElevation", &Tile::getDrawElevation); g_lua.bindClassMemberFunction("getCreatures", &Tile::getCreatures); g_lua.bindClassMemberFunction("getGround", &Tile::getGround); g_lua.bindClassMemberFunction("isWalkable", &Tile::isWalkable); g_lua.bindClassMemberFunction("isHouseTile", &Tile::isHouseTile); g_lua.bindClassMemberFunction("isFullGround", &Tile::isFullGround); g_lua.bindClassMemberFunction("isFullyOpaque", &Tile::isFullyOpaque); g_lua.bindClassMemberFunction("isLookPossible", &Tile::isLookPossible); g_lua.bindClassMemberFunction("hasCreature", &Tile::hasCreature); g_lua.bindClassMemberFunction("isEmpty", &Tile::isEmpty); g_lua.bindClassMemberFunction("isClickable", &Tile::isClickable); g_lua.bindClassMemberFunction("isPathable", &Tile::isPathable); g_lua.bindClassMemberFunction("overwriteMinimapColor", &Tile::overwriteMinimapColor); g_lua.bindClassMemberFunction("select", &Tile::select); g_lua.bindClassMemberFunction("unselect", &Tile::unselect); g_lua.bindClassMemberFunction("isSelected", &Tile::isSelected); g_lua.bindClassMemberFunction("remFlag", &Tile::remFlag); g_lua.bindClassMemberFunction("setFlag", &Tile::setFlag); g_lua.bindClassMemberFunction("setFlags", &Tile::setFlags); g_lua.bindClassMemberFunction("getFlags", &Tile::getFlags); g_lua.bindClassMemberFunction("hasFlag", &Tile::hasFlag); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return UIItemPtr(new UIItem); }); g_lua.bindClassMemberFunction("setItemId", &UIItem::setItemId); g_lua.bindClassMemberFunction("setItemCount", &UIItem::setItemCount); g_lua.bindClassMemberFunction("setItemSubType", &UIItem::setItemSubType); g_lua.bindClassMemberFunction("setItemVisible", &UIItem::setItemVisible); g_lua.bindClassMemberFunction("setItem", &UIItem::setItem); g_lua.bindClassMemberFunction("setVirtual", &UIItem::setVirtual); g_lua.bindClassMemberFunction("clearItem", &UIItem::clearItem); g_lua.bindClassMemberFunction("getItemId", &UIItem::getItemId); g_lua.bindClassMemberFunction("getItemCount", &UIItem::getItemCount); g_lua.bindClassMemberFunction("getItemSubType", &UIItem::getItemSubType); g_lua.bindClassMemberFunction("getItem", &UIItem::getItem); g_lua.bindClassMemberFunction("isVirtual", &UIItem::isVirtual); g_lua.bindClassMemberFunction("isItemVisible", &UIItem::isItemVisible); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return UISpritePtr(new UISprite); }); g_lua.bindClassMemberFunction("setSpriteId", &UISprite::setSpriteId); g_lua.bindClassMemberFunction("clearSprite", &UISprite::clearSprite); g_lua.bindClassMemberFunction("getSpriteId", &UISprite::getSpriteId); g_lua.bindClassMemberFunction("setSpriteColor", &UISprite::setSpriteColor); g_lua.bindClassMemberFunction("hasSprite", &UISprite::hasSprite); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return UICreaturePtr(new UICreature); } ); g_lua.bindClassMemberFunction("setCreature", &UICreature::setCreature); g_lua.bindClassMemberFunction("setOutfit", &UICreature::setOutfit); g_lua.bindClassMemberFunction("setFixedCreatureSize", &UICreature::setFixedCreatureSize); g_lua.bindClassMemberFunction("getCreature", &UICreature::getCreature); g_lua.bindClassMemberFunction("isFixedCreatureSize", &UICreature::isFixedCreatureSize); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return UIMapPtr(new UIMap); }); g_lua.bindClassMemberFunction("drawSelf", &UIMap::drawSelf); g_lua.bindClassMemberFunction("movePixels", &UIMap::movePixels); g_lua.bindClassMemberFunction("setZoom", &UIMap::setZoom); g_lua.bindClassMemberFunction("zoomIn", &UIMap::zoomIn); g_lua.bindClassMemberFunction("zoomOut", &UIMap::zoomOut); g_lua.bindClassMemberFunction("followCreature", &UIMap::followCreature); g_lua.bindClassMemberFunction("setCameraPosition", &UIMap::setCameraPosition); g_lua.bindClassMemberFunction("setMaxZoomIn", &UIMap::setMaxZoomIn); g_lua.bindClassMemberFunction("setMaxZoomOut", &UIMap::setMaxZoomOut); g_lua.bindClassMemberFunction("setMultifloor", &UIMap::setMultifloor); g_lua.bindClassMemberFunction("lockVisibleFloor", &UIMap::lockVisibleFloor); g_lua.bindClassMemberFunction("unlockVisibleFloor", &UIMap::unlockVisibleFloor); g_lua.bindClassMemberFunction("setVisibleDimension", &UIMap::setVisibleDimension); g_lua.bindClassMemberFunction("setViewMode", &UIMap::setViewMode); g_lua.bindClassMemberFunction("setAutoViewMode", &UIMap::setAutoViewMode); g_lua.bindClassMemberFunction("setDrawFlags", &UIMap::setDrawFlags); g_lua.bindClassMemberFunction("setDrawTexts", &UIMap::setDrawTexts); g_lua.bindClassMemberFunction("setDrawNames", &UIMap::setDrawNames); g_lua.bindClassMemberFunction("setDrawHealthBars", &UIMap::setDrawHealthBars); g_lua.bindClassMemberFunction("setDrawLights", &UIMap::setDrawLights); g_lua.bindClassMemberFunction("setDrawManaBar", &UIMap::setDrawManaBar); g_lua.bindClassMemberFunction("setAnimated", &UIMap::setAnimated); g_lua.bindClassMemberFunction("setKeepAspectRatio", &UIMap::setKeepAspectRatio); g_lua.bindClassMemberFunction("setMapShader", &UIMap::setMapShader); g_lua.bindClassMemberFunction("setMinimumAmbientLight", &UIMap::setMinimumAmbientLight); g_lua.bindClassMemberFunction("setLimitVisibleRange", &UIMap::setLimitVisibleRange); g_lua.bindClassMemberFunction("setAddLightMethod", &UIMap::setAddLightMethod); g_lua.bindClassMemberFunction("isMultifloor", &UIMap::isMultifloor); g_lua.bindClassMemberFunction("isAutoViewModeEnabled", &UIMap::isAutoViewModeEnabled); g_lua.bindClassMemberFunction("isDrawingTexts", &UIMap::isDrawingTexts); g_lua.bindClassMemberFunction("isDrawingNames", &UIMap::isDrawingNames); g_lua.bindClassMemberFunction("isDrawingHealthBars", &UIMap::isDrawingHealthBars); g_lua.bindClassMemberFunction("isDrawingLights", &UIMap::isDrawingLights); g_lua.bindClassMemberFunction("isDrawingManaBar", &UIMap::isDrawingManaBar); g_lua.bindClassMemberFunction("isLimitVisibleRangeEnabled", &UIMap::isLimitVisibleRangeEnabled); g_lua.bindClassMemberFunction("isAnimating", &UIMap::isAnimating); g_lua.bindClassMemberFunction("isKeepAspectRatioEnabled", &UIMap::isKeepAspectRatioEnabled); g_lua.bindClassMemberFunction("getVisibleDimension", &UIMap::getVisibleDimension); g_lua.bindClassMemberFunction("getViewMode", &UIMap::getViewMode); g_lua.bindClassMemberFunction("getFollowingCreature", &UIMap::getFollowingCreature); g_lua.bindClassMemberFunction("getDrawFlags", &UIMap::getDrawFlags); g_lua.bindClassMemberFunction("getCameraPosition", &UIMap::getCameraPosition); g_lua.bindClassMemberFunction("getPosition", &UIMap::getPosition); g_lua.bindClassMemberFunction("getTile", &UIMap::getTile); g_lua.bindClassMemberFunction("getMaxZoomIn", &UIMap::getMaxZoomIn); g_lua.bindClassMemberFunction("getMaxZoomOut", &UIMap::getMaxZoomOut); g_lua.bindClassMemberFunction("getZoom", &UIMap::getZoom); g_lua.bindClassMemberFunction("getMapShader", &UIMap::getMapShader); g_lua.bindClassMemberFunction("getMinimumAmbientLight", &UIMap::getMinimumAmbientLight); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return UIMinimapPtr(new UIMinimap); }); g_lua.bindClassMemberFunction("zoomIn", &UIMinimap::zoomIn); g_lua.bindClassMemberFunction("zoomOut", &UIMinimap::zoomOut); g_lua.bindClassMemberFunction("setZoom", &UIMinimap::setZoom); g_lua.bindClassMemberFunction("setMixZoom", &UIMinimap::setMinZoom); g_lua.bindClassMemberFunction("setMaxZoom", &UIMinimap::setMaxZoom); g_lua.bindClassMemberFunction("setCameraPosition", &UIMinimap::setCameraPosition); g_lua.bindClassMemberFunction("floorUp", &UIMinimap::floorUp); g_lua.bindClassMemberFunction("floorDown", &UIMinimap::floorDown); g_lua.bindClassMemberFunction("getTilePoint", &UIMinimap::getTilePoint); g_lua.bindClassMemberFunction("getTilePosition", &UIMinimap::getTilePosition); g_lua.bindClassMemberFunction("getTileRect", &UIMinimap::getTileRect); g_lua.bindClassMemberFunction("getCameraPosition", &UIMinimap::getCameraPosition); g_lua.bindClassMemberFunction("getMinZoom", &UIMinimap::getMinZoom); g_lua.bindClassMemberFunction("getMaxZoom", &UIMinimap::getMaxZoom); g_lua.bindClassMemberFunction("getZoom", &UIMinimap::getZoom); g_lua.bindClassMemberFunction("getScale", &UIMinimap::getScale); g_lua.bindClassMemberFunction("anchorPosition", &UIMinimap::anchorPosition); g_lua.bindClassMemberFunction("fillPosition", &UIMinimap::fillPosition); g_lua.bindClassMemberFunction("centerInPosition", &UIMinimap::centerInPosition); g_lua.registerClass(); g_lua.bindClassStaticFunction("create", []{ return UIProgressRectPtr(new UIProgressRect); } ); g_lua.bindClassMemberFunction("setPercent", &UIProgressRect::setPercent); g_lua.bindClassMemberFunction("getPercent", &UIProgressRect::getPercent); g_lua.registerClass(); }