What's new

Lua Functions [TFS 1.0] Funkcje

Govern

Advanced User
Joined
Jun 6, 2011
Messages
308
Reaction score
35
Cze??,

Poni?ej zamieszczam wszystkie funkcje lua do TFS 1.0, sam u?ywam - dzia?aj?.

Je?eli kto? mia?bym problem z implementacj? kt?rej? z nich zapraszam do dyskusji w tym temacie.


[LUA]--Source functions
getPlayerFood(cid)
getCreatureHealth(cid)
getCreatureMaxHealth(cid)
getPlayerMana(cid)
getPlayerMaxMana(cid)
getPlayerLevel(cid)
getPlayerMagLevel(cid)
getPlayerName(cid)
getPlayerAccess(cid)
getPlayerPosition(cid)
getPlayerSkill(cid, skillid)
getPlayerMasterPos(cid)
getPlayerTown(cid)
getPlayerVocation(cid)
getPlayerItemCount(cid, itemid[, subtype])
getPlayerSoul(cid)
getPlayerFreeCap(cid)
getPlayerLight(cid)
getPlayerSlotItem(cid, slot)
getPlayerItemById(cid, deepSearch, itemId, <optional> subType)
getPlayerDepotItems(cid, depotid)
getPlayerGuildId(cid)
getPlayerGuildLevel(cid)
getPlayerGuildName(cid)
getPlayerGuildRank(cid)
getPlayerGuildNick(cid)
getPlayerSex(cid)
getPlayerLookDir(cid)
doCreatureSetLookDir(cid, direction)
doSetCreatureDirection(cid, direction)
getPlayerGUID(cid)
getPlayerFlagValue(cid, flag)
getPlayerLossPercent(cid)
getPlayerSkullType(cid)
getPlayerGroupId(cid)
setPlayerGroupId(cid, newGroupId)
getPlayerIp(cid)
playerLearnInstantSpell(cid, name)
canPlayerLearnInstantSpell(cid, name)
getPlayerLearnedInstantSpell(cid, name)
getPlayerInstantSpellCount(cid)
getPlayerInstantSpellInfo(cid, index)
getInstantSpellInfoByName(cid, name)
getInstantSpellWords(name)
getPlayerStorageValue(uid, valueid)
setPlayerStorageValue(uid, valueid, newvalue)
getGlobalStorageValue(valueid)
setGlobalStorageValue(valueid, newvalue)
getOnlinePlayers()
getTilePzInfo(pos) --1 is pz. 0 no pz.
getTileInfo(pos)
getTileHouseInfo(pos) --0 no house. != 0 house id
getItemRWInfo(uid)
getThingfromPos(pos)
getThing(uid)
queryTileAddThing(uid, pos, <optional> flags)
getThingPos(uid)
getTileItemById(pos, itemId, <optional> subType)
getTileItemByType(pos, type)
getTileThingByPos(pos)
getTileThingByTopOrder(pos, topOrder)
getTopCreature(pos)
doRemoveItem(uid, <optional> n)
doPlayerFeed(cid, food)
doPlayerSendCancel(cid, text)
doPlayerSendDefaultCancel(cid, ReturnValue)
doTeleportThing(cid, newpos, <optional> pushmove)
doTransformItem(uid, toitemid, <optional> count/subtype)
doPlayerChangeName(cid, newName)
doCreatureSay(uid, text, type[, ghost = false[, cid = 0[, pos]]])
doSendMagicEffect(pos, type[, player])
doSendDistanceShoot(frompos, topos, type)
doChangeTypeItem(uid, newtype)
doSetItemActionId(uid, actionid)
doSetItemText(uid, text)
doSetItemSpecialDescription(uid, desc)
doSendAnimatedText(pos, text, color)
doPlayerAddSkillTry(cid, skillid, n)
doCreatureAddHealth(cid, health)
doPlayerAddMana(cid, mana[, animationOnLoss])
doPlayerAddManaSpent(cid, mana)
doPlayerAddSoul(cid, soul)
doPlayerAddItem(cid, itemid, <optional: default: 1> count/subtype, <optional: default: 1> canDropOnMap, <optional: default: 1>subtype)
doPlayerAddItemEx(cid, uid, <optional: default: 0> canDropOnMap)
doPlayerSendTextMessage(cid, MessageClasses, message[, position, value, color])
doPlayerRemoveMoney(cid, money)
doPlayerAddMoney(cid, money)
doShowTextDialog(cid, itemid, text)
doSendTutorial(cid, tutorialid)
doAddMapMark(cid, pos, type, <optional> description)
doDecayItem(uid)
doCreateItem(itemid, type/count, pos)
Returns uid of the created item, only works on tiles.
doCreateItemEx(itemid, <optional> count/subtype)
doTileAddItemEx(pos, uid)
doAddContainerItemEx(uid, virtuid)
doRelocate(pos, posTo)
Moves all moveable objects from pos to posTo
doCreateTeleport(itemid, topos, createpos)
doCreateNpc(name, pos)
doSummonCreature(name, pos)
doConvinceCreature(cid, target)
getMonsterTargetList(cid)
getMonsterFriendList(cid)
doSetMonsterTarget(cid, target)
doMonsterChangeTarget(cid)
doAddCondition(cid, condition)
doRemoveCondition(cid, type[, subId])
doRemoveCreature(cid)
doMoveCreature(cid, direction)
doPlayerSetTown(cid, townid)
doPlayerSetVocation(cid,voc)
doPlayerRemoveItem(cid, itemid, count, <optional> subtype, <optional> ignoreEquipped)
doPlayerAddExp(cid, exp, <optional> usemultiplier, <optional> sendtext)
doPlayerSetGuildLevel(cid, level)
doPlayerSetGuildNick(cid, nick)
doPlayerAddOutfit(cid,looktype,addons)
doPlayerRemOutfit(cid,looktype,addons)
canPlayerWearOutfit(cid, looktype, addons)
doPlayerAddMount(cid, mountid)
doPlayerRemoveMount(cid, mountid)
getPlayerMount(cid, mountid)
doSetCreatureLight(cid, lightLevel, lightColor, time)
doSetCreatureDropLoot(cid, doDrop)
getPlayerParty(cid)
doPlayerJoinParty(cid, leaderId)
getPartyMembers(leaderId)
getCreatureMaster(cid)
getCreatureSummons(cid)
getSpectators(centerPos, rangex, rangey, multifloor, onlyPlayers)
getCreatureCondition(cid, condition[, subId])
isPlayer(cid)
isValidUID(uid)
isItem(uid)
isPlayerGhost(cid)
isPlayerPzLocked(cid)
isCreature(cid)
isMonster(cid)
isNpc(cid)
isContainer(uid)
isDepot(uid)
isCorpse(uid)
isMovable(uid)
isMoveable(uid)
getPlayerByName(name)
getPlayerGUIDByName(name)
registerCreatureEvent(uid, eventName)
getContainerSize(uid)
getContainerCap(uid)
getContainerCapById(itemid)
getContainerItem(uid, slot)
doAddContainerItem(uid, itemid, <optional> count/subtype)
getDepotId(uid)
getHouseOwner(houseid)
getHouseName(houseid)
getHouseEntry(houseid)
getHouseRent(houseid)
getHouseTown(houseid)
getHouseAccessList(houseid, listid)
getHouseByPlayerGUID(playerGUID)
getHouseTilesSize(houseid)
setHouseAccessList(houseid, listid, listtext)
setHouseOwner(houseid, ownerGUID)
getWorldType()
getWorldTime()
getWorldLight()
getWorldCreatures(type) --0 players, 1 monsters, 2 npcs, 3 all
getWorldUpTime()
broadcastMessage(message, type)
getGuildId(guild_name)
getPlayerSex(cid)
doPlayerSetSex(cid, newSex)
createCombatArea( {area}, <optional> {extArea} )
createConditionObject(type)
setCombatArea(combat, area)
setCombatCondition(combat, condition)
setCombatParam(combat, key, value)
setConditionParam(condition, key, value)
addDamageCondition(condition, rounds, time, value)
addOutfitCondition(condition, lookTypeEx, lookType, lookHead, lookBody, lookLegs, lookFeet)
setCombatCallBack(combat, key, function_name)
setCombatFormula(combat, type, mina, minb, maxa, maxb)
setConditionFormula(combat, mina, minb, maxa, maxb)
doCombat(cid, combat, param)
createCombatObject()
doAreaCombatHealth(cid, type, pos, area, min, max, effect)
doTargetCombatHealth(cid, target, type, min, max, effect)
doAreaCombatMana(cid, pos, area, min, max, effect)
doTargetCombatMana(cid, target, min, max, effect)
doAreaCombatCondition(cid, pos, area, condition, effect)
doTargetCombatCondition(cid, target, condition, effect)
doAreaCombatDispel(cid, pos, area, type, effect)
doTargetCombatDispel(cid, target, type, effect)
doChallengeCreature(cid, target)
numberToVariant(number)
stringToVariant(string)
positionToVariant(pos)
targetPositionToVariant(pos)
variantToNumber(var)
variantToString(var)
variantToPosition(var)
doChangeSpeed(cid, delta)
doCreatureChangeOutfit(cid, outfit)
doSetMonsterOutfit(cid, name, time)
doSetItemOutfit(cid, item, time)
doSetCreatureOutfit(cid, outfit, time)
getCreatureOutfit(cid)
getCreaturePos(cid)
getCreaturePosition(cid)
getCreatureName(cid)
getCreatureSpeed(cid)
getCreatureBaseSpeed(cid)
getCreatureTarget(cid)
isItemStackable(itemid)
isItemRune(itemid)
isItemDoor(itemid)
isItemContainer(itemid)
isItemFluidContainer(itemid)
isItemMovable(itemid)
getItemDescriptions(itemid)
getItemName(itemid)
getItemWeight(itemid, count, <optional: default: 1> precise)
getItemWeightByUID(uid)
hasProperty(uid, prop)
getItemIdByName(name)
getTownId(townName)
getTownName(townId)
getTownTemplePosition(townId)
isSightClear(fromPos, toPos, floorCheck)
getFluidSourceType(type)
isInArray(array, value)
addEvent(callback, delay, ...)
stopEvent(eventid)
doPlayerPopupFYI(cid, message)
mayNotMove(cid, value)
doPlayerAddPremiumDays(cid, days)
doPlayerRemovePremiumDays(cid, days)
getPlayerPremiumDays(cid)
getPromotedVocation(vocation)
getPlayerBlessing(cid, blessing)
doPlayerAddBlessing(cid, blessing)
getPlayerAccountBalance(cid)
getPlayerBalance(cid)
getPlayerAccountType(cid)
doPlayerSetBalance(cid, balance)
getPlayerMoney(cid)
getPlayerLastLoginSaved(cid)
saveServer()
saveData()
refreshMap()
cleanMap()
getPlayersByAccountNumber(accountNumber)
getAccountNumberByPlayerName(name)
getIPByPlayerName(name)
getIpByName(name)
getPlayersByIPAddress(ip[, mask = 0xFFFFFFFF])
debugPrint(text)
isInWar(cid, target)
doPlayerSetOfflineTrainingSkill(cid, skill)
getWaypointPosition(name)
doWaypointAddTemporial(name, pos)
sendChannelMessage(channelId, type, message)
sendGuildChannelMessage(guildId, type, message)


--Lua-made functions
doPlayerGiveItem(cid, itemid, count, charges)
doCreatureSayWithRadius(cid, text, type, radiusx, radiusy, position)
doPlayerTakeItem(cid, itemid, count)
doPlayerBuyItem(cid, itemid, count, cost, charges)
doPlayerSellItem(cid, itemid, count, cost)
getBlessingsCost(level)
getPvpBlessingCost(level)
isInRange(pos, fromPos, toPos)
isPremium(cid)
getMonthDayEnding(day)
getMonthString(m)
getArticle(str)
isNumber(str)
getDistanceBetween(firstPosition, secondPosition)
isSorcerer(cid)
isDruid(cid)
isPaladin(cid)
isKnight(cid)
getConfigInfo(info)
doPlayerBuyItemContainer(cid, containerid, itemid, count, cost, charges)
getDirectionTo(pos1, pos2)
getPlayerLookPos(cid)
getPosByDir(fromPosition, direction, size)
getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers, showSummons)
addContainerWithItems(cid, container, item, item_count, count)
tableToPos(t)
getCount(string)
playerExists(name)
transferGold(player, amount)
doCopyItem(item, attributes)
getTibianTime()
hasAddon(cid, looktype, addon)
addAddon(cid, looktype, addon)
table.find = function(table, value)
isMonsterInRange(monsterName, fromPos, toPos)[/LUA]

Pozdrawiam.
 

Zbizu

Luakami
Joined
Mar 13, 2010
Messages
719
Reaction score
104
Age
28
Odp: [TFS 1.0] Funkcje

Metatables(wi?cej w kolejnym po?cie):
Legenda:
Metatable.funkcja(parametr, drugi parametr[, opcjonalne parametry = domy?lna wartosc, jesli nie zostal podany])

Zastosowanie w praktyce:
Position(toPos):sendMagicEffect(CONST_ME_POFF)
Position(getThingPos(cid)):sendDistanceEffect(getThingPos(itemEx.uid), CONST_ANI_SUDDENDEATH)
lub
local position = Position(toPos)
position:sendMagicEffect(CONST_ME_POFF)

Game:
Game.getSpectators(position[, multifloor = false[, onlyPlayer = false[, minRangeX = 0[, maxRangeX = 0[, minRangeY = 0[, maxRangeY = 0]]]]]])
Game.getPlayers()
Game.loadMap(path) -- wczytuje mape po sciezce, gdzie aktualny folder to miejsce z ktorego uruchomiono silnik
Game.getExperienceStage(level) -- zwraca exp rate dla danego levela gracza
Game.getMonsterCount()
Game.getPlayerCount()
Game.getNpcCount()
Game.getGameState()
Game.setGameState(state)
Game.getWorldType()
Game.setWorldType(type) -- ustawia typ swiata(np. pvp)
Game.getReturnMessage(value)
Game.createItem(itemId, count[, position])
Game.createMonster(monsterName, position[, extended = false[, force = false]])
Game.createNpc(npcName, position[, extended = false[, force = false]])
Game.startRaid(raidName)

Position:

position:getTile()
position:getDistance(positionEx) -- zwraca odleglosc w kratkach od podanej w parametrze pozycji
position:isSightClear(positionEx[, sameFloor = true]) -- sprawdza, czy mozna czyms rzucic lub strzelic przez kratki po drodze
position:sendMagicEffect(effect) -- to samo co doSendMagicEffect(pos, effect)
position:sendDistanceEffect(positionEx, effect) -- wysyla animacje strzalu do okreslonej pozycji

parametrem jest pozycja, czyli mo?e to by?:
Position(fromPos)
Position(toPos)
Position({x = 256, y = 256, z = 7})
Position(getThingPos(itemEx.uid))

Tile:
tile:getPosition()
tile:getGround()
tile:getThing(index)
tile:getThingCount()
tile:getTopVisibleThing(creature)
tile:getTopTopItem()
tile:getTopDownItem()
tile:getFieldItem()
tile:getItemById(itemId[, subType = -1])
tile:getItemByType(itemType)
tile:getItemByTopOrder(topOrder)
tile:getBottomCreature()
tile:getTopCreature()
tile:getBottomVisibleCreature(creature)
tile:getTopVisibleCreature(creature)
tile:getItems()
tile:getItemCount()
tile:getDownItemCount()
tile:getTopItemCount()
tile:getCreatures()
tile:getCreatureCount()
tile:hasProperty(property[, item])
tile:hasFlag(flag) -- sprawdza flagi kratki takie jak pz, house, no-logout area, zwraca true lub false
tile:queryAdd(thing[, flags]) -- jak wyzej, zwraca wartosc flagi
tile:getHouse() -- zwraca numer id domku, do ktorego ta kratka nalezy

tile jest funkcj? dzia?aj?c? na rzeczy znajduj?ce si? w danej pozycji, kt?r? podajemy w parametrze, np:
Tile({x = 256, y = 256, z = 7})

ModalWindow
modalWindow:getId() -- zwraca id okienka
modalWindow:getTitle() -- zwraca ciag, ktory jest wpisany jako tytul okna
modalWindow:getMessage() -- zwraca ciag, ktory jest w oknie
modalWindow:getButtonCount() -- zwraca ilosc przyciskow
modalWindow:getChoiceCount() -- zwraca ilosc opcji na liscie
modalWindow:addButton(id, text) -- nowy przycisk
modalWindow:addChoice(id, text) -- nowy wpis na liscie
modalWindow:getDefaultEnterButton() -- zwraca opcje ustawiona w przypadku, gdy gracz zamiast wciskac przycisk dwukrotnie kliknie na opcje, ktora wybiera(id domyslnego przycisku).
modalWindow:setDefaultEnterButton(buttonId) -- ustawia to, co jest wyzej
modalWindow:getDefaultEscapeButton() -- jak wyzej z ta roznica, ze skrypt dziala, jak gracz wcisnie esc
modalWindow:setDefaultEscapeButton(buttonId) -- ustawia domyslna akcje, gdy gracz wyjdzie z okna wyboru nie wybierajac niczego
modalWindow:hasPriority() -- odczytuje czy okno ma priorytet
modalWindow:setPriority(priority) -- ustawia priorytet - true nadaje, false odbiera
modalWindow:sendToPlayer(player) -- wysyla okno do gracza, w parametrze np. cid

ModalWindow(id, title, message)
ModalWindow.new(id, title, message)

Modalwindow jest okienkiem wyboru, w kt?rym mo?na dowolnie okre?li?, co ma w nim by?.
2wnbhts.jpg


Wyb?r gracza mo?e uruchomi? creaturescript onModalWindow

Przyk?adowy kod na wywo?anie okienka wyboru:
local modalWindow = ModalWindow(1001, "Tytul okna", "Wybierz opcje z listy:")
modalWindow:addButton(1, "przycisk 1")
modalWindow:addButton(2, "przycisk 2, np anuluj")
modalWindow:addChoice(1, "lista opcja 1")
modalWindow:addChoice(2, "lista opcja 2")
modalWindow:addChoice(3, "lista opcja 3")
modalWindow:addChoice(4, "lista opcja 4")
modalWindow:sendToPlayer(cid)

Przyk?adowy creaturescript:
<event type="modalwindow" name="test_window" script="test_window.lua"/>
function onModalWindow(cid, modalWindowId, buttonId, choiceId)
doPlayerSendTextMessage(cid, 20, "numer okna:" .. modalWindowId .. ", przycisk: " .. buttonId .. ", wybor na liscie: " .. choiceId)
return true
end
login.lua:
Player(cid):registerEvent("test_window")

Item:
zastosowanie: Item(uid):funkcja()
item:isCreature()
item:isItem()
item:getId() -- zwraca itemid
item:getType() -- zwraca ilosc lub rodzaj cieczy
item:clone()
item:split([count = 1]) -- rozdziela stos itemu na dwie czesci(jesli to mozliwe)
item:remove([count = -1]) -- dziala jak doRemoveItem
item:getUniqueId()
item:getActionId()
item:setActionId(actionId)
item:getCount() -- zwraca ilosc
item:getCharges() -- zwraca ilosc uzyc
item:getFluidType() -- zwraca rodzaj cieczy
item:getSubType() -- zwraca subtype
item:getName() -- zwraca nazwe
item:getPluralName() -- zwraca nazwe w liczbie mnogiej
item:getArticle() -- zwraca przedrostek(np. a, an, the)
item:getPosition() -- zwraca pozycje przedmiotu
item:getTile() -- zwraca kratke(tile), na ktorej item sie znajduje, dzieki czemu mozna wykorzystac do tego metatable tile
item:getAttribute(key) -- zwraca atrybuty(nie wszystkie), dostepne atrybuty nizej
item:setAttribute(key, value)
item:removeAttribute(key)
item:moveTo(position)
item:transform(itemId[, count/subType = -1]) -- odpowiednik doTransformItem, oba dzialaja
item:decay()
item:getDescription(distance) -- zwraca opis itemu jak przy look w zaleznosci od tego jaki dystans wpiszemy

dost?pne atrybuty:
ITEM_ATTRIBUTE_NONE = 0
ITEM_ATTRIBUTE_ACTIONID = 1
ITEM_ATTRIBUTE_UNIQUEID = 2
ITEM_ATTRIBUTE_DESCRIPTION = 4
ITEM_ATTRIBUTE_TEXT = 8
ITEM_ATTRIBUTE_DATE = 16
ITEM_ATTRIBUTE_WRITER = 32
ITEM_ATTRIBUTE_OWNER = 65536
ITEM_ATTRIBUTE_DURATION = 131072
ITEM_ATTRIBUTE_DECAYSTATE = 262144
ITEM_ATTRIBUTE_CORPSEOWNER = 524288
ITEM_ATTRIBUTE_CHARGES = 1048576
ITEM_ATTRIBUTE_FLUIDTYPE = 2097152
ITEM_ATTRIBUTE_DOORID = 4194304

Container:
zastosowanie: Container(uid):funkcja() lub Container(itemid):funkcja()
container:getSize()
container:getCapacity()
container:getEmptySlots([recursive = false])
container:getItem(index)
container:hasItem(item)
container:addItem(itemId[, count/subType = 1])
container:addItemEx(item)

Creature/Monster/Player/NPC:
Creature(id/name)
Player(parametr) -- cid, nick lub userdata
Monster(uid)
Npc([uid])
Code:
creature:registerEvent(nazwa eventu) -- to samo co registerCreatureEvent
creature:unregisterEvent(nazwa eventu)
creature:isRemoved()
creature:isCreature()
creature:isPlayer()
creature:isMonster()
creature:isNpc()
creature:isItem()
creature:isInGhostMode() -- tak jak isPlayerGhost zwroci true lub false
creature:isHealthHidden()
creature:canSee(position)
creature:canSeeCreature(creature)
creature:getId()
creature:getName()
creature:getTarget()
creature:setTarget(target)
creature:getFollowCreature()
creature:setFollowCreature(followedCreature)
creature:getMaster()
creature:setMaster(master)
creature:getLight()
creature:setLight(color, level)
creature:getSpeed() -- zwraca aktualna predkosc postaci
creature:getBaseSpeed() -- zwraca predkosc postaci na tym levelu bez dodatkow typu boh, haste, time ring
creature:setDropLoot(doDrop)
creature:getPosition()
creature:getTile()
creature:getDirection() -- zwraca kierunek, w ktorym potwor, gracz lub npc patrzy
creature:setDirection(direction) -- przekreca postac w konkretna strone
creature:getHealth()
creature:addHealth(healthChange)
creature:getMaxHealth()
creature:setMaxHealth(maxHealth)
creature:setHiddenHealth(hide)
creature:getMana()
creature:addMana(manaChange[, animationOnLoss = false])
creature:getMaxMana()
creature:getOutfit()
creature:setOutfit(outfit)
creature:getCondition(conditionType[, conditionId = CONDITIONID_COMBAT[, subId = 0]])
creature:addCondition(condition[, force = false])
creature:removeCondition(conditionType[, conditionId = CONDITIONID_COMBAT[, subId = 0[, force = false]]])
creature:remove() -- dziala jak doRemoveCreature
creature:teleportTo(position[, pushMovement = false])
creature:say(text, type[, ghost = false[, target = nullptr[, position]]])
creature:getDamageMap()
creature:getSummons()
creature:getDescription(distance)
player:getGuid()
player:getIp() -- zwraca ip w formie pojedynczego numeru, do konwersji na powszechnie uzywany zapis nalezy uzyc: Game.convertIpToString(player:getIp())
player:getAccountId()
player:getLastLoginSaved()
player:getAccountType()
player:setAccountType(accountType)
player:getCapacity() -- zwraca calkowita ilosc capa gracza(nie uwzgledniajac itemow)
player:setCapacity(capacity)
player:getFreeCapacity() -- zwraca ile gracz ma wolnego capa(liczbe ktora widac w eq)
player:getDepotItems(depotId)
player:getSkull()
player:setSkull(skull)
player:getSkullTime()
player:setSkullTime(skullTime)
player:getDeathPenalty() -- zwraca ilosc strat, jaka mialby gracz w wypadku deda
player:getExperience()
player:addExperience(experience[, sendText = false])
player:getLevel()
player:getMagicLevel() -- zwraca mlvl uwzgledniajac dodatki
player:getBaseMagicLevel() -- zwraca mlvl bez dodatkow
player:setMaxMana(maxMana)
player:getManaSpent()
player:addManaSpent(amount)
player:getSkillLevel(skillType)
player:getEffectiveSkillLevel(skillType)
player:getSkillPercent(skillType)
player:getSkillTries(skillType)
player:addSkillTries(skillType, tries)
player:getItemCount(itemId[, subType = -1]) -- dziala jak getPlayerItemCount
player:getItemById(itemId, deepSearch[, subType = -1])
player:getVocation()
player:setVocation(vocation)
player:getSex()
player:setSex(newSex)
player:getTown()
player:setTown(town)
player:getGuild()
player:setGuild(guild)
player:getGuildLevel()
player:setGuildLevel(level)
player:getGuildNick()
player:setGuildNick(nick)
player:getGroup()
player:setGroup(group)
player:getStamina() -- zwraca ilosc staminy w minutach
player:setStamina(stamina)
player:getSoul()
player:addSoul(soulChange)
player:getMaxSoul()
player:getBankBalance()
player:setBankBalance(bankBalance)
player:getStorageValue(key)
player:setStorageValue(key, value)
player:addItem(itemId[, count/subType = 1[, canDropOnMap = true[, slot = SLOT_WHEREEVER]]]) -- dziala jak doPlayerAddItem
player:addItemEx(item[, canDropOnMap = false[, slot = SLOT_WHEREEVER]])
player:removeItem(itemId, count[, subType = -1[, ignoreEquipped = false]])
player:getMoney()
player:addMoney(money)
player:removeMoney(money)
player:showTextDialog(itemId[, text[, canWrite[, length]]])
player:sendTextMessage(type, text[, position, primaryValue = 0, primaryColor = TEXTCOLOR_NONE[, secondaryValue = 0, secondaryColor = TEXTCOLOR_NONE]])
player:sendChannelMessage(author, text, type, channelId)
player:channelSay(speaker, type, text, channelId)
player:openChannel(channelId)
player:getSlotItem(slot)
player:getParty()
player:addOutfit(lookType)
player:addOutfitAddon(lookType, addon)
player:removeOutfit(lookType)
player:removeOutfitAddon(lookType, addon)
player:hasOutfit(lookType[, addon = 0])
player:sendOutfitWindow()
player:addMount(mountId)
player:removeMount(mountId)
player:hasMount(mountId)
player:getPremiumDays()
player:addPremiumDays(days)
player:removePremiumDays(days)
player:hasBlessing(blessing)
player:addBlessing(blessing)
player:removeBlessing(blessing)
player:canLearnSpell(spellName)
player:learnSpell(spellName)
player:forgetSpell(spellName)
player:hasLearnedSpell(spellName)
player:sendTutorial(tutorialId) -- wysyla do gracza okienko z tutoriala
player:addMapMark(position, type, description) -- zaznacza punkt na mapie
player:save()
player:popupFYI(message) -- wywala okienko z tekstem
player:isPzLocked()
player:getClient() -- zwraca dane o kliencie gracza
player:getHouse()
player:setGhostMode(enabled) -- true lub false, dzialanie jak /invisible w starych tfsach
monster:getType()
monster:getSpawnPosition()
monster:despawn()
monster:isIdle()
monster:setIdle(idle)
monster:isTarget(creature)
monster:isOpponent(creature)
monster:isFriend(creature)
monster:addFriend(creature)
monster:removeFriend(creature)
monster:getFriendList()
monster:getFriendCount()
monster:addTarget(creature[, pushFront = false])
monster:removeTarget(creature)
monster:getTargetList()
monster:getTargetCount()
monster:selectTarget(creature)
monster:searchTarget([searchType = TARGETSEARCH_DEFAULT])

Przyk?ad zastosowania metatables w skrypcie:
klasyczne funkcje:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local p,v = getThingPos(item.uid), math.random(5792, 5797)
doCreatureSay(getPlayerName(cid) .. ' rolled a ' .. v - 5791 .. '.', TALKTYPE_ORANGE_1, isPlayerGhost(cid),0,p)
doTransformItem(item.uid, v)
return isPlayerGhost(cid) and doSendMagicEffect(p, CONST_ME_CRAPS, cid) or doSendMagicEffect(p, CONST_ME_CRAPS)
end

metatables:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local c,p,v = Player(cid), Position(getThingPos(item.uid)), math.random(5792, 5797)
c:say(c:getName() .. ' rolled a ' .. v - 5791 .. '.', TALKTYPE_ORANGE_1, c:isInGhostMode(),0,p)
doTransformItem(item.uid, v)
return c:isInGhostMode() and p:sendMagicEffect(CONST_ME_CRAPS, cid) or p:sendMagicEffect(CONST_ME_CRAPS)
end

Je?li kt?ry? z moderator?w widzi gdzie? b??d w t?umaczeniu, prosz? o poprawienie go.
 
Last edited:

Govern

Advanced User
Joined
Jun 6, 2011
Messages
308
Reaction score
35
Odp: [TFS 1.0] Funkcje

To si? rozumie, super ! :)
 

Zbizu

Luakami
Joined
Mar 13, 2010
Messages
719
Reaction score
104
Age
28
Odp: [TFS 1.0] Funkcje

Guild:
zastosowanie: Guild(id):funkcja()
guild:getId()
guild:getName()
guild:getMembersOnline()
guild:addMember(player)
guild:removeMember(player)
guild:addRank(id, name, level)
guild:getRankById(id)
guild:getRankByLevel(level)
guild:getMotd()
guild:setMotd(motd)

Group:
Group(id):funkcja()
group:getId()
group:getName()
group:getFlags()
group:getAccess()
group:getMaxDepotItems()
group:getMaxVipEntries()

Vocation:
Vocation(id):funkcja()
vocation:getId()
vocation:getClientId()
vocation:getName()
vocation:getDescription()
vocation:getRequiredSkillTries(skillType, skillLevel)
vocation:getRequiredManaSpent(magicLevel)
vocation:getCapacityGain()
vocation:getHealthGain()
vocation:getHealthGainTicks()
vocation:getHealthGainAmount()
vocation:getManaGain()
vocation:getManaGainTicks()
vocation:getManaGainAmount()
vocation:getMaxSoul()
vocation:getSoulGainTicks()
vocation:getAttackSpeed()
vocation:getBaseSpeed()
vocation:getDemotion()
vocation:getPromotion()

Town:
Town(id lub nazwa):funkcja()
town:getId()
town:getName()
town:getTemplePosition()

House:
House(id):funkcja()
house:getId()
house:getName()
house:getTown()
house:getExitPosition()
house:getRent()
house:getOwnerGuid()
house:setOwnerGuid(guid)
house:getBeds()
house:getBedCount()
house:getDoors()
house:getDoorCount()
house:getTiles()
house:getTileCount()
house:getAccessList(listId)
house:setAccessList(listId, list)

ItemType:
podstawow? r??nic? mi?dzy Item(uid) jest to, ?e ta tabela odnosi si? do og?lnego wzoru itemu o takim id,
Item(uid) odnosi si? do konkretnego przedmiotu zwracaj?c jego pozycj?, nazw?, informacje o w?a?cicielu i atrybuty

ItemType(itemid lub nazwa):funkcja()
itemType:isCorpse()
itemType:isDoor()
itemType:isContainer()
itemType:isFluidContainer()
itemType:isMovable()
itemType:isRune()
itemType:isStackable()
itemType:isReadable()
itemType:isWritable()
itemType:getType()
itemType:getId()
itemType:getName()
itemType:getPluralName()
itemType:getArticle()
itemType:getDescription()
itemType:getFluidSource()
itemType:getCapacity()
itemType:getWeight([count = 1[, precise = true]])
itemType:getAttack()
itemType:getDefense()
itemType:getExtraDefense()
itemType:getArmor()
itemType:getWeaponType()
itemType:getElementType()
itemType:getElementDamage()
itemType:getTransformEquipId()
itemType:getTransformDeEquipId()
itemType:getDecayId()
itemType:hasSubType()

Combat:
Combat():funkcja()
combat:setParameter(key, value)
combat:setFormula(type, mina, minb, maxa, maxb)
combat:setArea(area)
combat:setCondition(condition)
combat:setCallBack(key, function)
combat:execute(creature, variant)

Condition:
Condition(conditionType[, conditionId = CONDITIONID_COMBAT]):funkcja()
condition:getId()
condition:getSubId()
condition:getType()
condition:getIcons()
condition:getEndTime()
condition:clone()
condition:getTicks()
condition:setTicks(ticks)
condition:setParameter(key, value)
condition:setFormula(mina, minb, maxa, maxb)
condition:addDamage(rounds, time, value)
condition:addOutfit(lookTypeEx, lookType, lookHead, lookBody, lookLegs, lookFeet[, lookAddons[, lookMount]])

MonsterType:
MonsterType(uid lub nazwa potwora):funkcja()
monsterType:isAttackable()
monsterType:isConvinceable()
monsterType:isSummonable()
monsterType:isIllusionable()
monsterType:isHostile()
monsterType:isPushable()
monsterType:isHealthShown()
monsterType:canPushItems()
monsterType:canPushCreatures()
monsterType:getName()
monsterType:getNameDescription()
monsterType:getHealth()
monsterType:getMaxHealth()
monsterType:getRunHealth()
monsterType:getExperience()
monsterType:getCombatImmunities()
monsterType:getConditionImmunities()
monsterType:getAttackList()
monsterType:getDefenseList()
monsterType:getElementList()
monsterType:getVoices()
monsterType:getLoot()
monsterType:getCreatureEvents()
monsterType:getSummonList()
monsterType:getMaxSummons()
monsterType:getArmor()
monsterType:getDefense()
monsterType:getOutfit()
monsterType:getRace()
monsterType:getCorpseId()
monsterType:getManaCost()
monsterType:getBaseSpeed()
monsterType:getLight()
monsterType:getStaticAttackChance()
monsterType:getTargetDistance()
monsterType:getYellChance()
monsterType:getYellSpeedTicks()
monsterType:getChangeTargetChance()
monsterType:getChangeTargetSpeed()

Party:
Player(uid):getParty():funkcja()
party:disband()
party:getLeader()
party:setLeader(player)
party:getMembers()
party:getMemberCount()
party:getInvitees() -- tak, przez dwa e
party:getInviteeCount() -- jak wyzej
party:addInvite(player)
party:removeInvite(player)
party:addMember(player)
party:removeMember(player)
party:isSharedExperienceActive()
party:isSharedExperienceEnabled()
party:shareExperience(experience) -- w parametrze ilosc expa do rozdania graczom z party
party:setSharedExperience(active) -- true lub false

W razie b??du lub pojawienia si? nowej metatable piszcie.
 
Last edited:
Top