Lista de funciones Lua
Generada desde el código con
Source/Main5.2/tools/lua_api.py: no editar a mano. Qué hace cada una y ejemplos:16_LUA.md.
Resumen: servidor, 339 funciones (162 de ellas son GetObject/SetObject de campos), 31 ayudas en Lua y 27 eventos; cliente, 81 funciones, 8 ayudas en Lua, 11 eventos y 31 constantes de ventanas.
Servidor (GameServer)
Eventos
Se usan con BridgeFunctionAttach('Evento', 'MiFuncion').
OnReadScript, OnShutScript, OnTimerThread, OnCommandManager, OnCommandDone, OnCharacterEntry, OnCharacterClose, OnNpcTalk, OnMonsterDie, OnUserDie, OnUserMove, OnUserRespawn, OnCheckUserTarget, OnCheckUserKiller, OnUserItemPick, OnUserItemDrop, OnUserItemMove, OnUserItemUse, OnUserDamage, OnMonsterDamage, OnSQLAsyncResult, GameServerProtocol, OnUserLevelUp, OnUserMasterLevelUp, OnOpenWarehouse, OnCloseWarehouse, OnMonsterDieGiveItem
Funciones
AddItemToGremoryCase, AddObjectMasterReset, AddObjectReset, ChatTargetSend, CheckMaxStackItem, ClearPacket, CoinAdd, CommandCheckGameMasterLevel, CommandGetArgNumber, CommandGetArgString, CommandSend, ConfigReadNumber, ConfigReadString, ConfigSaveString, ConnectQueryAsync, CreateAsyncQuery, CreatePacket, DumpStack, EffectAdd, EffectCheck, EffectClear, EffectDel, FireworksSend, GET_ITEM, GetBytePacket, GetCharPacket, GetCharPacketLength, GetDwordPacket, GetEffectTable, GetExpRate, GetGameServerCode, GetGameServerCurUser, GetGameServerMaxUser, GetGameServerUpdate, GetGameServerVersion, GetHexPacketLength, GetMaxIndex, GetMaxMonsterIndex, GetMaxUserIndex, GetMinMonsterIndex, GetMinUserIndex, GetMonsterName, GetMonsterTopHitDamageUser, GetObjectAccount, GetObjectAccountExpireDate, GetObjectAddResistance, GetObjectClass, GetObjectCoin, GetObjectConnected, GetObjectDamageReduction, GetObjectDefaultDexterity, GetObjectDefaultEnergy, GetObjectDefaultLeadership, GetObjectDefaultStrength, GetObjectDefaultVitality, GetObjectGuildMark, GetObjectGuildName, GetObjectGuildRelationship, GetObjectGuildUnionName, GetObjectIndexByName, GetObjectInterface, GetObjectIpAddress, GetObjectLanguage, GetObjectMap, GetObjectMapX, GetObjectMapY, GetObjectMoney, GetObjectName, GetObjectPersonalCode, GetObjectResistance, GetObjectTotalBP, GetObjectTotalDexterity, GetObjectTotalEnergy, GetObjectTotalLeadership, GetObjectTotalLevel, GetObjectTotalLife, GetObjectTotalMana, GetObjectTotalShield, GetObjectTotalStrength, GetObjectTotalVitality, GetObjectType, GetPacketSize, GetWordPacket, GremoryCaseAdd, InvasionGetMonsterTable, InvasionGetRemainTime, InvasionGetState, InvasionSetRemainTime, InventoryCheckSpaceByItem, InventoryCheckSpaceBySize, InventoryDecreaseItemDurability, InventoryDelItemCount, InventoryDelItemIndex, InventoryGetFreeSlotCount, InventoryGetFullSize, InventoryGetItemCount, InventoryGetItemIndex, InventoryGetItemTable, InventoryGetMainSize, InventoryGetWearSize, InventoryItemCount, InventoryItemDelete, ItemDrop, ItemDropEx, ItemGive, ItemGiveEx, KillObject, LevelUpSend, LifeSend, LogColor, LogError, LogPrint, MapCheckAttr, MapGetItemTable, MasterLevelUpSend, MessageGet, MessageGetByLang, MessageGetByUserLang, MessageSend, MessageSendToAll, MoneyDrop, MoneySend, MonsterCreate, MonsterDelete, MonsterSummonCreate, MonsterSummonDelete, MoveUser, MoveUserEx, NoticeGlobalSend, NoticeSend, NoticeSendToAll, ObjectAddCoin, ObjectAddExperience, ObjectGetCoin, ObjectGetGuildMembers, ObjectGetUserGuildInfo, ObjectSubCoin, PartyAddMember, PartyCreate, PartyDelete, PartyDelMember, PartyGetMemberCount, PartyGetMemberIndex, PKLevelSend, PostSend, QueryAsyncDelete, QueryAsyncGetRowCount, QueryAsyncGetTable, QueryAsyncGetValue, RandomGetNumber, requirefolder, SendPacket, SetBytePacket, SetCharPacket, SetCharPacketLength, SetDwordPacket, SetExpRate, SetHexPacketLength, SetObjectAddResistance, SetObjectDamageReduction, SetObjectGuildNotice, SetObjectMap, SetObjectMapX, SetObjectMapY, SetObjectMoney, SetObjectResistance, SetWordPacket, SkinChangeSend, UserActionSend, UserCalcAttribute, UserDisconnect, UserGameLogout, UserInfoSend, UserSetAccountLevel
Campos del personaje
GetObject<Campo>(aIndex) para todos; SetObject<Campo>(aIndex, valor) solo donde dice "sí".
| Campo | Set |
|---|---|
| AccountLevel | no |
| AddBP | sí |
| AddLife | sí |
| AddMana | sí |
| AddShield | sí |
| AttackSuccessRate | sí |
| AttackSuccessRatePvP | sí |
| Authority | no |
| BP | sí |
| Change | sí |
| ChangeUp | no |
| ChatLimitTime | sí |
| CriticalDamageRate | sí |
| DamagePvP | sí |
| DamageReflect | sí |
| Deads | sí |
| DecreaseShieldGaugeRate | sí |
| Defense | sí |
| DefensePvP | sí |
| DefenseSuccessRate | sí |
| DefenseSuccessRatePvP | sí |
| DefensiveFullHPRestoreRate | sí |
| DefensiveFullMPRestoreRate | sí |
| DefensiveFullSDRestoreRate | sí |
| Dexterity | sí |
| DoubleDamage | sí |
| Energy | sí |
| ExcellentDamageRate | sí |
| Experience | sí |
| ExtraDexterity | sí |
| ExtraEnergy | sí |
| ExtraLeadership | sí |
| ExtraStrength | sí |
| ExtraVitality | sí |
| GensContribution | no |
| GensFamily | no |
| GensRank | no |
| GensSymbol | no |
| GuildNumber | no |
| GuildStatus | sí |
| HPRecovery | sí |
| HPRecoveryRate | sí |
| IgnoreDefenseRate | sí |
| IgnoreShieldGaugeRate | sí |
| Kills | sí |
| Leadership | sí |
| Level | sí |
| LevelUpPoint | sí |
| Life | sí |
| Live | no |
| MagicSpeed | sí |
| Mana | sí |
| MasterLevel | sí |
| MasterPoint | sí |
| MasterReset | sí |
| MaxBP | sí |
| MaxLife | sí |
| MaxMana | sí |
| MaxShield | sí |
| MoneyAmountDropRate | sí |
| MPRecovery | sí |
| MPRecoveryRate | sí |
| NextExperience | no |
| OffensiveFullHPRestoreRate | sí |
| OffensiveFullMPRestoreRate | sí |
| OffensiveFullSDRestoreRate | sí |
| OfflineFlag | no |
| PartyNumber | no |
| PhysiSpeed | sí |
| PKCount | sí |
| PKLevel | sí |
| PKTimer | sí |
| Reset | sí |
| ResistCriticalDamageRate | sí |
| ResistDoubleDamage | sí |
| ResistExcellentDamageRate | sí |
| ResistIgnoreDefenseRate | sí |
| ResistIgnoreShieldGaugeRate | sí |
| ResistStunRate | sí |
| SDRecovery | sí |
| SDRecoveryRate | sí |
| Shield | sí |
| ShieldDamageReduction | sí |
| ShieldGaugeRate | sí |
| Strength | sí |
| TripleDamage | sí |
| Vitality | sí |
Ayudas escritas en Lua (System y Utils)
| Función | Archivo |
|---|---|
BridgeFunctionAttach(BridgeName, FunctionName) | ScriptCore.lua |
Timer.Repeater(timer, counts, call, ...) | Cron.lua |
Timer.Interval(timer, call, ...) | Cron.lua |
Timer.TimeOut(timer, call, ...) | Cron.lua |
Timer.Cancel(id) | Cron.lua |
DBQuery(sql, params, callback) | Database.lua |
DataSet(scope, owner, key, value) | Database.lua |
DataGet(scope, owner, key, callback) | Database.lua |
DataGetAll(scope, owner, callback) | Database.lua |
DataDelete(scope, owner, key) | Database.lua |
SQLConnect() | Database.lua |
SQLDisconnect() | Database.lua |
SQLFetch() | Database.lua |
SQLGetNumber() | Database.lua |
SQLGetString() | Database.lua |
SQLGetResult() | Database.lua |
SQLGetSingle() | Database.lua |
SQLClose() | Database.lua |
ExecuteQuery(sql) | Database.lua |
get_script_path() | Functions.lua |
SendMessageAllByNumber(MessageNumber, ...) | Functions.lua |
Schedule.SetDayAndHourAndMinute(Day, Hour, Minute, call, ...) | Schedule.lua |
Schedule.SetHourAndMinute(Hour, Minute, call, ...) | Schedule.lua |
Schedule.SetDayOfWeek(DayOfWeek, Hour, Minute, call, ...) | Schedule.lua |
Internas (las usan los scripts del sistema; un script no necesita llamarlas): BridgeFunctionEnable, DBGetResult, DBQueryRaw, Timer.RunRepeat, Timer.RunInterval, Timer.RunTimerOut, Timer.Update, TimerSystem, Schedule.GetScheduler, Schedule.Running.
Cliente (Main)
Eventos
OnReadScript, OnShutScript, MainProcThread, MainInterfaceProcThread, KeyboardEvent, ScrollMouseEvent, LeftClickEvent, RightClickEvent, ClientProtocol, OnEnterGame, OnLeaveGame
Funciones
CheckMouseIn, CheckPressedKey, CheckReleasedKey, CheckRepeatKey, CheckWindowOpen, ClearPacket, CloseWindow, Console, CreatePacket, DisableAlphaBlend, DrawBar, EnableAlphaBlend, GetBytePacket, GetCharacterMap, GetCharPacket, GetCharPacketLength, GetDwordPacket, GetFontHeight, GetHexPacketLength, GetImageHeight, GetImageWidth, GetItemName, GetLanguage, GetMainResolution, GetMainScene, GetNameByIndex, GetPacketSize, GetPlatform, GetPlayerClass, GetPlayerIndex, GetPlayerLevel, GetPlayerLife, GetPlayerMana, GetPlayerMap, GetPlayerMaxLife, GetPlayerMaxMana, GetPlayerMoney, GetPlayerName, GetPlayerPosX, GetPlayerPosY, GetTargetIndex, GetTargetName, GetTextWidth, GetTickCount, GetWindowHeight, GetWindowWidth, GetWordPacket, glColor4f, IsMobile, LoadBitmap, LoadPngImage, LockPlayerWalk, LogPrint, MouseLButton, MousePosX, MousePosY, MouseRButton, OpenWindow, ReloadClientScripts, RenderImage, RenderImage2, RenderItem3D, RenderText, ScriptError, SendMessageClient, SendPacket, SendPlayerChat, SetBytePacket, SetCharPacket, SetCharPacketLength, SetColor, SetDwordPacket, SetFontType, SetHexPacketLength, SetTextBg, SetTextColor, SetWordPacket, UnlockPlayerWalk
Ventanas (constantes)
Para IsWindowOpen, OpenWindow y CloseWindow; las marcadas "solo mirar" no se abren ni se cierran desde Lua.
| Constante | |
|---|---|
| WINDOW_FRIEND | |
| WINDOW_MOVE | |
| WINDOW_PARTY | |
| WINDOW_QUEST | |
| WINDOW_GUILD | |
| WINDOW_COMMAND | |
| WINDOW_PET | |
| WINDOW_INVENTORY | |
| WINDOW_CHARACTER | |
| WINDOW_MENU | |
| WINDOW_OPTION | |
| WINDOW_HELP | |
| WINDOW_QUICK_COMMAND | |
| WINDOW_MASTER_LEVEL | |
| WINDOW_GENS_RANKING | |
| WINDOW_MINI_MAP | |
| WINDOW_HELPER | |
| WINDOW_CUSTOM_MENU | |
| WINDOW_COMMAND_LIST | |
| WINDOW_EVENT_TIME | |
| WINDOW_RANKING | |
| WINDOW_TRADE | solo mirar |
| WINDOW_STORAGE | solo mirar |
| WINDOW_CHAOS_MIX | solo mirar |
| WINDOW_NPC_SHOP | solo mirar |
| WINDOW_MY_SHOP | solo mirar |
| WINDOW_OTHER_SHOP | solo mirar |
| WINDOW_CHAT_INPUT | solo mirar |
| WINDOW_MESSAGEBOX | solo mirar |
| WINDOW_NPC_DIALOGUE | solo mirar |
| WINDOW_CASH_SHOP | solo mirar |
Ayudas escritas en Lua (System y Utils)
| Función | Archivo |
|---|---|
BridgeFunctionAttach(BridgeName, FunctionName) | ScriptCore.lua |
Window.New(o) | Window.lua |
Internas (las usan los scripts del sistema; un script no necesita llamarlas): BridgeFunctionEnable, ScriptFolderList, ScriptLoadFile, WindowSystem_Draw, WindowSystem_Proc, WindowSystem_LeftClick, WindowSystem_RightClick, WindowSystem_Scroll, WindowSystem_Key.