Jump to content
Close

Search the Community

Showing results for tags 'function'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Community
    • Rules
    • Portal
    • Resources
    • Commerce
    • Clubs
  • OTServers
    • Discussion
    • Support
    • Tutorial
    • Download
    • Code Development
    • Contests and Events
    • Form Team
    • Advertise your Server
  • Tibia and Bots
    • Discussion
  • League of Legends's Geral
  • League of Legends's Suporte
  • Jogos Gerais's Geral
  • Nto New Season's Tópicos
  • Fakes's Fakes
  • Tibia's Geral
  • Tibia's Notícias
  • Tibia's Media
  • Tibia's Life Thread
  • Gráficos's Geral
  • Gráficos's Tutoriais
  • Gráficos's Recursos
  • Gráficos's Aprendizagem & Recursos
  • Gráficos's Galeria
  • Gráficos's Duelos & Batalhas
  • Gráficos's Suporte
  • Desenvolvimento e Programação's Geral
  • Desenvolvimento e Programação's Tutoriais
  • Desenvolvimento e Programação's Trabalhos
  • Desenvolvimento e Programação's Suporte
  • Computação's Geral
  • Computação's Dicas e Tutoriais
  • Computação's Suporte
  • Roleplaying's Roleplaying
  • Playground's (Off-topic)
  • Divulgações's Tópicos
  • Academia de Mapping's Quadro da Clopin
  • Academia de Mapping's Dev Area
  • Academia de Mapping's Quadro do Nolis
  • Academia de Mapping's Quadro do Namikaze
  • Styller's Tópicos

Calendars

  • Official Calendar
  • OTServs Calendar
  • Several Calendars

Product Groups

  • Advertisements in Top
  • Advertisements In Signatures
  • Advertisements in Topics
  • Others Advertisements

Categories

  • Sales Section
    • Scripting Sales
    • Codes Sales
    • Mapping Sales
    • Websites Sales
    • Design/Sprites Sales
    • Bots Sales
  • Look Jobs
  • Looking for Freelancers
  • Team Formation

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Localization


My character


Favorite OTServ


Bot preferred


Interests

Found 14 results

  1. Gostaria da ajuda de vocês, Amigos do tibiaking. Preciso de um script que dê um título no look do player, de acordo com o storage que ele tiver. Possuo TFS 1.3 Exemplo: storage 2330 = guerreiro amador 2331 = guerreiro experiente Obrigado desde já.
  2. GALERA ELE NÃO DÁ NENHUM ERRO, APENAS NÃO ESTÁ "CONTANDO O TEMPO" PELO QUE PARECE, ALGUÉM PODE ME AJUDAR? FIZ ESSE SCRIPT ATÉ ONDE DEU.. PQ N SOU NADA BOM NISSO KKK
  3. Galera eu tenho o sistema de auto loot desse link: mas as vezes da esse erro [05/01/2017 08:56:26] [Error - CreatureScript Interface] [05/01/2017 08:56:26] In a timer event called from: [05/01/2017 08:56:26] data/creaturescripts/scripts/aloot.lua:onKill [05/01/2017 08:56:26] Description: [05/01/2017 08:56:26] data/lib/050-function.lua:239: attempt to index a boolean value [05/01/2017 08:56:26] stack traceback: [05/01/2017 08:56:27] data/lib/050-function.lua:239: in function 'getItemName' [05/01/2017 08:56:27] data/creaturescripts/scripts/aloot.lua:107: in function <data/creaturescripts/scripts/aloot.lua:13> alguem pra me ajudar?
  4. BOM dia, Criei um tópico para que pudesse concluir um script aqui em casa. Tentei desta maneira, Mais não consigo termina-lo, fazendo com que as conditions funcione em monstros. Resumindo, é um script de bleed e conditions que funciona por ataque, eu ja completei ele bastante. Ja ta quase um mod, kkk,. Queria saber se onStatsChange funciona em monstros porque, a compraracão isMonster(cid) parece nao fazer efeito. Ou oque está errado? Eu fiz um recorte para montar esse sistema, Peguei outros scripts já existentes como modelo, como o Experience Weapon system by whitewolf e cykotitan. Testando em TFS 0.4, 9.83. Aqui vai o meu Script que não dá conditions em monstros: è um lua do creaturescripts. local gelocondition = createConditionObject(CONDITION_PARALYZE) setConditionParam(gelocondition, CONDITION_PARAM_TICKS, 2000) setConditionFormula(gelocondition, -0.9, 0, -0.9, 0) local tera = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(tera, CONDITION_PARAM_TICKS, 4000) setConditionParam(tera, CONDITION_PARAM_BUFF, true) setConditionParam(tera, CONDITION_PARAM_SKILL_CLUBPERCENT, 80) setConditionParam(tera, CONDITION_PARAM_SKILL_SWORDPERCENT, 80) setConditionParam(tera, CONDITION_PARAM_SKILL_AXEPERCENT, 80) setConditionParam(tera, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 80) setConditionParam(tera, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 80) setConditionParam(tera, CONDITION_PARAM_SKILL_SHIELDPERCENT, 80) local manaup = createConditionObject(CONDITION_FOOD) setConditionParam(manaup, CONDITION_PARAM_TICKS, 5000) setConditionParam(manaup, CONDITION_PARAM_BUFF, true) setConditionParam(manaup, CONDITION_PARAM_MANAGAIN, 15) setConditionParam(manaup, CONDITION_PARAM_MANATICKS, 1000) local healthup = createConditionObject(CONDITION_FOOD) setConditionParam(healthup, CONDITION_PARAM_TICKS, 5000) setConditionParam(healthup, CONDITION_PARAM_BUFF, true) setConditionParam(healthup, CONDITION_PARAM_HEALTHGAIN, 5) setConditionParam(healthup, CONDITION_PARAM_HEALTHTICKS, 1000) local area = createCombatArea( { {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 3, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }) local bleedaxe = createConditionObject(CONDITION_BLEEDING) setConditionParam(bleedaxe, CONDITION_PARAM_DELAYED, 1) local damageTable1 = { {math.random(3), -(math.random(25))}, {math.random(3), -(math.random(15))}, {math.random(3), -(math.random(5))}, } for i = 1, #damageTable1 do local t = damageTable1[i] addDamageCondition(bleedaxe, t[1], 1000, t[2]) end local bleeddistance = createConditionObject(CONDITION_BLEEDING) setConditionParam(bleeddistance, CONDITION_PARAM_DELAYED, 1) local damageTable2 = { {math.random(3), -(math.random(30))}, {math.random(3), -(math.random(10))}, {math.random(3), -(math.random(15))}, } for i = 1, #damageTable2 do local t = damageTable2[i] addDamageCondition(bleeddistance, t[1], 1000, t[2]) end local fire = createConditionObject(CONDITION_FIRE) setConditionParam(fire, CONDITION_PARAM_DELAYED, 1) local damageTable3 = { {math.random(3), -(math.random(30))}, {math.random(3), -(math.random(10))}, {math.random(3), -(math.random(15))}, } for i = 1, #damageTable3 do local t = damageTable3[i] addDamageCondition(fire, t[1], 1000, t[2]) end local teradamage = createConditionObject(CONDITION_POISON) setConditionParam(teradamage, CONDITION_PARAM_DELAYED, 1) local damageTable4 = { {1, -(math.random(9))}, {2, -(math.random(9))}, {1, -(math.random(9))}, } for i = 1, #damageTable4 do local t = damageTable4[i] addDamageCondition(teradamage, t[1], 1000, t[2]) end local holydamage = createConditionObject(CONDITION_DAZZLED) setConditionParam(holydamage, CONDITION_PARAM_DELAYED, 1) local damageTable5 = { {math.random(3, 13), -(math.random(2))}, {math.random(7, 20), -(math.random(3))}, {math.random(9, 27), -(math.random(4))}, } for i = 1, #damageTable5 do local t = damageTable5[i] addDamageCondition(holydamage, t[1], 4000, t[2]) end local deathdamage = createConditionObject(CONDITION_CURSED) setConditionParam(deathdamage, CONDITION_PARAM_DELAYED, 1) local damageTable6 = { {1, -(math.random(2))}, {1, -(math.random(12))}, {1, -(math.random(26))}, {1, -(math.random(28))}, {1, -(math.random(14))}, } for i = 1, #damageTable6 do local t = damageTable6[i] addDamageCondition(deathdamage, t[1], 5000, t[2]) end local gelo = createConditionObject(CONDITION_FREEZING) setConditionParam(gelo, CONDITION_PARAM_DELAYED, 1) local damageTable7 = { {1, -(math.random(6))}, {1, -(math.random(4))}, {1, -(math.random(3))}, {1, -(math.random(2))}, } for i = 1, #damageTable7 do local t = damageTable7[i] addDamageCondition(gelo, t[1], 10000, t[2]) end local monster = createConditionObject(CONDITION_BLEEDING) setConditionParam(monster, CONDITION_PARAM_DELAYED, 1) local damageTable8 = { {1, -(math.random(2))}, {1, -(math.random(2))}, {1, -(math.random(1))}, {1, -(math.random(1))}, } for i = 1, #damageTable8 do local t = damageTable8[i] addDamageCondition(monster, t[1], 1000, t[2]) end local monstersmall = createConditionObject(CONDITION_BLEEDING) setConditionParam(monstersmall, CONDITION_PARAM_DELAYED, 1) local damageTable9 = { {1, -(math.random(16))}, {1, -(math.random(14))}, {1, -(math.random(13))}, {1, -(math.random(12))}, } for i = 1, #damageTable9 do local t = damageTable9[i] addDamageCondition(monstersmall, t[1], 1000, t[2]) end local monsteremedium = createConditionObject(CONDITION_BLEEDING) setConditionParam(monsteremedium, CONDITION_PARAM_DELAYED, 1) local damageTable10 = { {1, -(math.random(40, 66))}, {1, -(math.random(30, 44))}, {1, -(math.random(10, 23))}, {1, -(math.random(5, 18))}, } for i = 1, #damageTable10 do local t = damageTable10[i] addDamageCondition(monsteremedium, t[1], 1000, t[2]) end local monsterbig = createConditionObject(CONDITION_BLEEDING) setConditionParam(monsterbig, CONDITION_PARAM_DELAYED, 1) local damageTable11 = { {1, -(math.random(60, 106))}, {1, -(math.random(50, 94))}, {1, -(math.random(40, 70))}, {1, -(math.random(30, 60))}, } for i = 1, #damageTable11 do local t = damageTable11[i] addDamageCondition(monsterbig, t[1], 1000, t[2]) end local monsterbigger = createConditionObject(CONDITION_BLEEDING) setConditionParam(monsterbigger, CONDITION_PARAM_DELAYED, 1) local damageTable12 = { {1, -(math.random(120, 190))}, {1, -(math.random(100, 170))}, {1, -(math.random(80, 140))}, {1, -(math.random(60, 120))}, {1, -(math.random(40, 100))}, } for i = 1, #damageTable12 do local t = damageTable12[i] addDamageCondition(monsterbigger, t[1], 1000, t[2]) end local fire2 = createConditionObject(CONDITION_FIRE) setConditionParam(fire2, CONDITION_PARAM_DELAYED, 1) local damageTable13 = { {math.random(3), -(math.random(30, 45))}, {math.random(3), -(math.random(10, 34))}, {math.random(3), -(math.random(15, 45))}, } for i = 1, #damageTable13 do local t = damageTable13[i] addDamageCondition(fire2, t[1], 1000, t[2]) end local fire3 = createConditionObject(CONDITION_FIRE) setConditionParam(fire3, CONDITION_PARAM_DELAYED, 1) local damageTable14 = { {math.random(3), -(math.random(40, 60))}, {math.random(3), -(math.random(50, 60))}, {math.random(3), -(math.random(65, 75))}, } for i = 1, #damageTable14 do local t = damageTable14[i] addDamageCondition(fire3, t[1], 1000, t[2]) end function onStatsChange(cid, attacker, type, combat, value) if type == STATSCHANGE_HEALTHLOSS then if isPlayer(attacker) and isPlayer(cid) then if combat == COMBAT_PHYSICALDAMAGE then if getWeapon(attacker) ~= false and getCreatureStorage(cid, 65) == -1 and math.random(100) < (91) and value >= 40 then local f = getItemWeaponType((getWeapon(attacker)).uid) if (f == 1 or f == 3) then doCreatureSetStorage(cid, 65, 1) doTargetCombatCondition(cid, bleedaxe, 255) doCreatureSetStorage(cid, 65, -1) elseif f == 4 and getDistanceBetween(getThingPos(cid), getThingPos(attacker)) >= 2 then local distance = getDistanceBetween(getThingPos(cid), getThingPos(attacker)) doCreatureSetStorage(cid, 65, 1) doTargetCombatCondition(cid, bleeddistance, 255) doCreatureSetStorage(cid, 65, -1) elseif f == 2 then damage = getItemInfo((getWeapon(attacker)).itemid).attack doAreaCombatHealth(cid, COMBAT_PHYSICALDAMAGE, getThingPos(cid), area, -2*(tonumber(damage)), -4*(tonumber(damage)), 34) end end end if combat == COMBAT_FIREDAMAGE then if getCreatureStorage(cid, 66) == -1 and math.random(100) < (100) then if value <= 150 then doCreatureSetStorage(cid, 66, 1) doTargetCombatCondition(cid, fire, 255) doCreatureSetStorage(cid, 66, -1) end if value > 150 and value <= 400 then doCreatureSetStorage(cid, 66, 1) doTargetCombatCondition(cid, fire2, 255) doCreatureSetStorage(cid, 66, -1) end if value > 400 then doCreatureSetStorage(cid, 66, 1) doTargetCombatCondition(cid, fire3, 255) doCreatureSetStorage(cid, 66, -1) end end end if combat == COMBAT_ENERGYDAMAGE then if getCreatureStorage(cid, 67) == -1 and math.random(100) < (101) and value >= 30 then function onGetFormulaValues(cid, level, maglevel) local min = -((maglevel*1.4)+8) local max = -(((level/12)+(maglevel*1.7))+13) return min, max end doCreatureSetStorage(cid, 67, 1) doAddCondition(attacker, manaup) doTargetCombatMana(atacker, cid, -(min), -(max), 1) doCreatureSetStorage(cid, 67, -1) for i = 1, 5 do addEvent(function() if isCreature(attacker) then doSendMagicEffect(getThingPos(attacker), 12) end end, 1 + (1000*i)) end end end if combat == COMBAT_EARTHDAMAGE then if getCreatureStorage(cid, 68) == -1 and math.random(100) < (101) and value >= 10 then doCreatureSetStorage(cid, 68, 1) doTargetCombatCondition(cid, teradamage, 255) doAddCondition(cid, tera) doCreatureSetStorage(cid, 68, -1) end end if combat == COMBAT_HOLYDAMAGE then if getCreatureStorage(cid, 69) == -1 and math.random(100) < (101) and value >= 10 then doCreatureSetStorage(cid, 69, 1) doTargetCombatCondition(cid, holydamage, 255) doCreatureSetStorage(cid, 69, -1) end end if combat == COMBAT_DEATHDAMAGE then if getCreatureStorage(cid, 70) == -1 and math.random(100) < (101) and value >= 10 then doCreatureSetStorage(cid, 70, 1) doAddCondition(attacker, healthup) doTargetCombatCondition(cid, deathdamage, 255) doCreatureSetStorage(cid, 70, -1) for i = 1, 5 do addEvent(function() if isCreature(attacker) then doSendMagicEffect(getThingPos(attacker), 12) end end, 1 + (1000*i)) end end end if combat == COMBAT_ICEDAMAGE then if getCreatureStorage(cid, 71) == -1 and math.random(100) < (100) and value >= 10 then doCreatureSetStorage(cid, 71, 1) doAddCondition(cid, gelocondition) doTargetCombatCondition(cid, gelo, 255) doCreatureSetStorage(cid, 71, -1) end end end if isMonster(attacker) and isPlayer(cid) then if combat == COMBAT_PHYSICALDAMAGE then if math.random(100) < (90) and value >= 40 then local mdmg = getCreatureMaxHealth(attacker) if mdmg > 20 and mdmg <= 50 and getCreatureStorage(cid, 72) == -1 then doCreatureSetStorage(cid, 72, 1) doTargetCombatCondition(cid, monster, 255) doCreatureSetStorage(cid, 72, -1) end if mdmg > 50 and mdmg <= 400 and getCreatureStorage(cid, 73) == -1 then doCreatureSetStorage(cid, 73, 1) doTargetCombatCondition(cid, monstersmall, 255) doCreatureSetStorage(cid, 73, -1) end if mdmg > 400 and mdmg <= 800 and getCreatureStorage(cid, 74) == -1 then doCreatureSetStorage(cid, 74, 1) doTargetCombatCondition(cid, monstermedium, 255) doCreatureSetStorage(cid, 74, -1) end if mdmg > 800 and mdmg <= 1200 and getCreatureStorage(cid, 75) == -1 then doCreatureSetStorage(cid, 75, 1) doTargetCombatCondition(cid, monsterbig, 255) doCreatureSetStorage(cid, 75, -1) end if mdmg > 1200 and getCreatureStorage(cid, 76) == -1 then doCreatureSetStorage(cid, 76, 1) doTargetCombatCondition(cid, monsterbigger, 255) doCreatureSetStorage(cid, 76, -1) end end end if combat == COMBAT_FIREDAMAGE then if getCreatureStorage(cid, 77) == -1 and math.random(100) < (100) then if value < 150 then doCreatureSetStorage(cid, 77, 1) doTargetCombatCondition(cid, fire, 255) doCreatureSetStorage(cid, 77, -1) end if value > 150 and value <= 400 then doCreatureSetStorage(cid, 77, 1) doTargetCombatCondition(cid, fire2, 255) doCreatureSetStorage(cid, 77, -1) end if value > 400 then doCreatureSetStorage(cid, 77, 1) doTargetCombatCondition(cid, fire3, 255) doCreatureSetStorage(cid, 77, -1) end end end if combat == COMBAT_ENERGYDAMAGE then if getCreatureStorage(cid, 78) == -1 and math.random(100) < (100) and value >= 30 then doCreatureSetStorage(cid, 78, 1) doTargetCombatMana(atacker, cid, -(math.random(10, 40)), -(math.random(40,90)), 1) doCreatureSetStorage(cid, 78, -1) end end if combat == COMBAT_EARTHDAMAGE then if getCreatureStorage(cid, 79) == -1 and math.random(100) < (100) and value >= 20 then doCreatureSetStorage(cid, 79, 1) doTargetCombatCondition(cid, teradamage, 255) doAddCondition(cid, tera) doCreatureSetStorage(cid, 79, -1) end end if combat == COMBAT_HOLYDAMAGE then if getCreatureStorage(cid, 80) == -1 and math.random(100) < (100) and value >= 10 then doCreatureSetStorage(cid, 80, 1) doTargetCombatCondition(cid, holydamage, 255) doCreatureSetStorage(cid, 80, -1) end end if combat == COMBAT_DEATHDAMAGE then if getCreatureStorage(cid, 81) == -1 and math.random(100) < (100) and value >= 10 then doCreatureSetStorage(cid, 81, 1) doTargetCombatCondition(cid, deathdamage, 255) doCreatureSetStorage(cid, 81, -1) end end end end return true end E não dá nenhum erro na distro. Obrigado Pela atenção. E estou a Espera se Alguém tiver interesse em ajudar. EDIT 19/12: Não consegui ainda fazer com que desse conditions em monstros ou players nesse script com a função onStatsChange. Quem tiver alguma opinião de como fazer para complementar para esse fim. fica a vontade para incrementar o tópico. Ele ta bem grande, mais acho que oque vale é a função. EDIT 26/12: É parece que a função de Statschange, não reconhece a vida dos monstros né isso? mais como faço para que esse script se estenda também a monstros, Alguém tem solução? Atualmente ele funciona em PVP contra players e quando um monstro ataca, mais só. Abraços e cometem. E também se for possível, e não trabalhoso como faço para diminuir o script?
  5. Notei que ainda não haviam feito uma lista dessa versão, então eu a fiz. Eis todas as funções, sem metamétodos e em ordem alfabética, do The Forgotten Server 1.2 broadcastMessage(message, messageType) canPlayerLearnInstantSpell(cid, name) canPlayerWearOutfit(cid, lookType, addons) doAddCondition(cid, conditionId) doAddContainerItemEx(uid, virtualId) doAddMapMark(cid, pos, type, description) doChangeSpeed(cid, delta) doChangeTypeItem(uid, newType) doCombat(cid, combat, var) doConvinceCreature(cid, target) doCreateNpc(name, pos, ...) doCreateTeleport(itemId, destination, position) doCreatureAddHealth(cid, health) doCreatureChangeOutfit(cid, outfit) doCreatureSay(cid, text, type, ...) doCreatureSetLookDir(cid, direction) doDecayItem(uid) doMonsterChangeTarget(cid) doPlayeJoinParty(cid, leaderId) doPlayerAddBlessing(cid, blessing) doPlayerAddExp(cid, exp, useMult, ...) doPlayerAddItemEx(cid, uid, ...) doPlayerAddMana(cid, mana, ...) doPlayerAddManaSpent(cid, mana) doPlayerAddMoney(cid, money) doPlayerAddMount(cid, mountId) doPlayerAddOutfit(cid, lookType, addons) doPlayerAddPremiumDays(cid, days) doPlayerAddSkillTry(cid, skillId, n) doPlayerAddSoul(cid, soul) doPlayerFeed(cid, food) doPlayerPopupFYI(cid, message) doPlayerRemOutfit(cid, lookType, addons) doPlayerRemoveItem(cid, itemId, count, ...) doPlayerRemoveMoney(cid, money) doPlayerRemoveMount(cid, mountId) doPlayerRemovePremiumDays(cid, days) doPlayerSendCancel(cid, text) doPlayerSendTextMessage(cid, type, text, ...) doPlayerSetBalance(cid, balance) doPlayerSetGuildLevel(cid, level) doPlayerSetGuildNick(cid, nick) doPlayerSetOfflineTrainingSkill(cid, skillId) doPlayerSetSex(cid, sex) doPlayerSetTown(cid, town) doPlayerSetVocation(cid, vocation) doRelocate(fromPos, toPos) doRemoveCondition(cid, conditionType, subId) doRemoveCreature(cid) doRemoveItem(uid, ...) doSendDistanceShoot(fromPos, toPos, distanceEffect, ...) doSendMagicEffect(pos, magicEffect, ...) doSendTutorial(cid, tutorialId) doSetCreatureDropLoot(cid, doDrop) doSetItemActionId(uid, actionId) doSetItemSpecialDescription(uid, desc) doSetItemText(uid, text) doSetMonsterTarget(cid, target) doShowTextDialog(cid, itemId, text) doSummonCreature(name, pos ...) doTeleportThing(uid, dest, pushMovement) doTransformItem(uid, newItemId, ...) getAccountNumberByPlayerName(name) getConfigInfo(info) getContainerCap(uid) getContainerCapById(itemId) getContainerItem(uid, slot) getContainerSize(uid) getCreatureBaseSpeed(cid) getCreatureHealth(cid) getCreatureMaster(cid) getCreatureMaxHealth(cid) getCreatureName(cid) getCreatureOutfit(cid) getCreaturePosition(cid) getCreatureSpeed(cid) getCreatureSummons(cid) getCreatureTarget(cid) getFluidSourceType(itemId) getGlobalStorageValue(key) getGuildId(guildName) getHouseAccessList(id, listId) getHouseByPlayerGUID(playerGUID) getHouseEntry(houseId) getHouseName(houseId) getHouseOwner(houseId) getHouseRent(id) getHouseTilesSize(houseId) getHouseTown(houseId) getIPByPlayerName(name) getItemDescriptions(itemId) getItemIdByName(name) getItemName(itemId) getItemRWInfo(uid) getItemWeight(itemId, ...) getItemWeightByUID(uid, ...) getMonsterFriendList(cid) getMonsterTargetList(cid) getOnlinePlayers() getPartyMembers(cid) getPlayerAccess(cid) getPlayerAccountType(cid) getPlayerBalance(cid) getPlayerBlessing(cid, blessing) getPlayerByIPAddress(ip, mask) getPlayerByName(name) getPlayerDepotItems(cid, depotId) getPlayerFood(cid) getPlayerFreeCap(cid) getPlayerGroupId(cid) getPlayerGUID(cid) getPlayerGUIDByName(name) getPlayerGuildId(cid) getPlayerGuildLevel(cid) getPlayerGuildName(cid) getPlayerGuildNick(cid) getPlayerGuildRank(cid) getPlayerIp(cid) getPlayerItemById(cid, deepSearch, itemId, ...) getPlayerItemCount(cid, itemId, ...) getPlayerLastLoginSaved(cid) getPlayerLearnedInstantSpell(cid, name) getPlayerLevel(cid) getPlayerLight(cid) getPlayerLookDir(cid) getPlayerLossPercent(cid) getPlayerMagLevel(cid) getPlayerMana(cid) getPlayerMasterPos(cid) getPlayerMaxMana(cid) getPlayerMoney(cid) getPlayerMount(cid, mountId) getPlayerName(cid) getPlayerParty(cid) getPlayerPosition(cid) getPlayerPremiumDays(cid) getPlayersByAccountNumber(accountNumber) getPlayerSex(cid) getPlayerSkill(cid, skillId) getPlayerSkullType(cid) getPlayerSlotItem(cid, slot) getPlayerSoul(cid) getPlayerStorageValue(cid, key) getPlayerTown(cid) getPlayerVocation(cid) getPromotedVocation(vocationId) getSpectators(centerPos, rangex, rangey, multiFloor, onlyPlayers) getThing(uid) getThingFromPos(pos) getThingPos(uid) getTileHouseInfo(pos) getTileInfo(position) getTileItemById(position, itemId, ...) getTileItemByType(position, itemType) getTilePzInfo(position) getTileThingByPos(position) getTileThingByTopOrder(position, topOrder) getTopCreature(position) getTownId(townName) getTownName(townId) getTownTemplePosition(townId) getWorldCreatures(type) Guild.addMember(self, player) Guild.removeMember(self, player) hasProperty(uid, prop) isContainer(uid) isCorpse(uid) isCreature(cid) isItem(uid) isItemContainer(itemId) isItemDoor(itemId) isItemFluidContainer(itemId) isItemMovable(itemId) isItemRune(itemId) isItemStackable(itemId) isMonster(cid) isNpc(cid) isPlayer(cid) isPlayerGhost(cid) isPlayerPzLocked(cid) isPremium(cid) isSightClear(fromPos, toPos, floorCheck) isSummon(cid) playerLearnInstantSpell(cid, name) pushThing(thing) queryTileAddThing(thing, position, ...) registerCreatureEvent(cid, name) setGlobalStorageValue(key, value) setHouseAccessList(id, listId, listText) setHouseOwner(id, guid) setPlayerGroupId(cid, groupId) setPlayerStorageValue(cid, key, value) targetPositionToVariant(position) unregisterCreatureEvent(cid, name) Já que fui eu quem listei e organizei a biblioteca por conta própria, se você for disponibilizar em outro meio, ao menos deixe o meu nick nos créditos. Bom uso ;]
  6. Estou a fim de codificar algumas idéias. Se você tem alguma em relação ao open tíbia "clássico" (não-derivado), independentemente de se tratar de uma função ou um sistema, poste aqui explicando-a. Mas lembre-se de explicar de forma clara, compreensível. Se eu me interessar por sua ideia, com certeza irei fazer o script. E, quando for postar, vou mencionar no tópico que o princípio veio da sua mente. É isso..conto com as suas idéias. Valeu, TK!!
  7. Eu estava afim de fazer isso já à algum tempo, mas por conta da preguiça não fiz, ai vasculhando em outro fórum, vi que um membro fez o auto-complete de funções no Sublime Text, uma dos melhores editores de texto para programadores(disponível em todos os OS), e pensei em compartilhar com vocês, todos os créditos fica a merci de Jetro. Para instalar : - Abra o sublime, vá em Preferences, dps em Browse Packages. - Abra a pasta User, e cole o arquivo tfs.sublime-completions no local. - Depois só fechar e abrir o sublime, que estará com o auto-complete. Link tfs.sublime-completions : https://github.com/jangeldevelopment/Sublime-Text-TFS-Autocompletion/archive/master.zip Link do Sublime(pra quem se interessar) : http://www.sublimetext.com/2 GitHub : https://github.com/jangeldevelopment/Sublime-Text-TFS-Autocompletion
  8. Olá. A algum tempo atrás eu havia feito essa função, mas decidi compartilhar com vocês. Você pode instala-la definitivamente na sua libs ou pode apenas usar em algum script ocasional: function getCombatAreaPos(centerpos, area) -- by MaTTch if(type(area) ~= "table") then error("area is not a table") return false elseif(not centerpos) then return false end local t, center, ret = {}, {}, {} for n in ipairs(area) do for i = 2, 3 do if(table.find(area[n], i)) then center = {n, table.find(area[n], i)} break end end end if(#center == 0) then error("area do not have a number center") return false end for line in ipairs(area) do for _, value in ipairs(area[line]) do t[line] = t[line] and t[line] or {} if(value == 1 or value == 3) then table.insert(t[line], 1) else table.insert(t[line], 0) end end end for y in pairs(t) do for l, x in pairs(t[y]) do local ry, rx = y - center[1], l - center[2] if(#area == 1) then ry = 0 end if(x == 1) then table.insert(ret, {x=centerpos.x+(rx),y=centerpos.y+(ry),z=centerpos.z}) end end end return ret end - Como funciona? A função retorna uma tabela com as posições da area de combat. Exemplo: function onSay(cid, words, param) local area = { -- Area {1,0,0,0,0,0,1}, {0,1,0,0,0,1,0}, {0,0,1,0,1,0,0}, {0,0,0,2,0,0,0}, -- 2 ou 3 é o numero do centro {0,0,1,0,1,0,0}, {0,1,0,0,0,1,0}, {1,0,0,0,0,0,1} } for _, pos in pairs(getCombatAreaPos(getThingPos(cid), area)) do -- loop com todas as tabelas doSendMagicEffect(pos, 10) -- efeito em todas as posicoes da tabela end return true end Espero que tenham entendido... Créditos: MaTTch (eu)
  9. Olá amigos, estou precisando dessa função para incorporar ao meu servidor, poderia me disponibilizar essa function para por no 50-function ?? Obrigado a quem tiver!!
  10. Boa noite amigos, gostaria de pedir ajuda de vocês para terminar um script o qual vou postar aqui no tibiaking. Estou agarrado desde hoje de manha pois tnão consigo achar uma forma de buscar o house-id ja tentei com getHouseFromPos(pos) getTileHouseInfo(pos) .. e etc ... Estou usando TFS 1.0 Desde já agradesço
  11. Introdução: Esses dias eu estava fazendo um sistema e senti a necessidade de armazenar várias informações (por player) em um só lugar. Porém, todos nós sabemos que não é possível colocar uma tabela como valor de um storage. Por conta disso, decidi tornar possível esse armazenamento. Tenho certeza de que essa biblioteca será uma ferramenta extremamente útil para todos os scripters. Ela abre muitas portas e vai permitir a criação de muitos sistemas interessantes. Instalação: Simplesmente crie o arquivo tableStorage.lua em data/lib e coloque esse código: Utilização: Para armazenar uma tabela em um storage de um player, use: setPlayerTableStorage(cid, key, tabela) Exemplo: setPlayerTableStorage(cid, 199991, {["primeiro"] = 4, [8] = "Killua", [3] = 22}) Para armazenar uma tabela em um storage global, use: setGlobalTableStorage(key, tabela) Exemplo: setGlobalStorageValue(123412, {1, 55, "c", 3}) Para retornar as tabelas, use: getGlobalTableStorage(key) ou getPlayerTableStorage(cid, key) Esclarecimento: As tabelas retornadas pelas funções getGlobalTableStorage e getPlayerTableStorage são tabelas normais e podem ser manipuladas como qualquer outra, por exemplo: for t, k in pairs(getPlayerTableStorage(cid, 123444)) do print("["..t.."] "..v) end Observações: As tabelas não armazenam valores booleanos, outras tabelas e nem funções, apenas strings e números. No entanto é claro que ela pode armazenar valores recebidos de funções, por exemplo: setPlayerTableStorage(cid, 17271, {["level"] = getPlayerLevel(cid), ["sex"] = getPlayerSex(cid) == 1 and "female" or "male"}) Funcionará perfeitamente. Mas: setPlayerTableStorage(cid, 17271, {returnDouble = function(value) return value*2 end, try = 11, [2] = 10}) Não irá funcionar. As tabelas podem ser preenchidas com ou sem index definido, de forma que os não definidos serão definidos automaticamente numa sequencia (Como qualquer tabela). Sendo assim: setPlayerTableStorage(cid, 12344, {1,3,23,1999,"test"})setPlayerTableStorage(cid, 12344, {[5] = "hi", ["mia"] = 32, c = 18})setPlayerTableStorage(cid, 12344, {1, "c", 6, ["test"] = 18, b = "c", "hello world"}) São todas válidas. Cuidado com com tabelas muito grandes! Elas podem acabar pesando bastante e consumindo bastante de sua database. Eu aconselho não ultrapassar 4 elementos. É claro que apenas um storage com uma tabela bem grande não vai causar problema mas, em um servidor com muitos jogadores, pode ser perigoso adicionar muitas tabelas grandes (1 por jogador). Considerações: Eu realmente acho que essa biblioteca vai abrir várias possibilidades para todos vocês, scripters. E espero que criem muitos sistemas legais a partir dela. Se tiverem dúvidas ou sugestões, podem dizer. Abraços.
  12. Função getPlayerByNameAccountId Informações: Essa função basicamente retorna a account id do player dando de entrada o nome do player. Testado em 8.60 e mysql somente. Adicione este código no final do arquivo data/lib/050-function.lua function getPlayerByNameAccountId(name) local pid = getPlayerByNameWildcard(name) pic = getPlayerGUID(pid) local qr = db.getResult("SELECT `account_id` FROM `players` WHERE `id`= "..pic..";") rss1 = qr:getDataInt("account_id", pic) if rss1 < 0 then rss1 = 0 end end Créditos: 100% Gabisa00 - Pela idéia e pelo script. Gostou do Sistema Faça Seu Pedido Aqui!
  13. Eai galera. Eu tenho um script de Aura bem simples, no caso só lança o effect no Player caso ele tenha tal level. O problema é que quando o player desloga, o evento continua rolando e a distro fica aprensentando "Cannot get thing position" pq o server fica procurando a posição do player pra lançar o efeito mas o player está deslogado Gostaria de saber se tem alguma função do tipo "OnPlayerLogOut" e uma "UnregisterEvent", pra quando o player ficar off o server tirar ele do evento e não ficar causando o erro na distro. aqui o meu código, créditos pro Kimoszin aqui do tibiaking, fiz apenas algumas modificações: local effect = 19 -- Efeito que vai usar local tempo = 3 -- Tempo em segundos function onLogin(cid) if getPlayerLevel(cid) > 99 then SendEffect(cid) end return TRUE end function SendEffect(cid) doSendMagicEffect(getCreaturePosition(cid), effect) addEvent(SendEffect, tempo*1000, cid) return TRUE end Sou novato ainda com script então tbm pode ter um jeito melhor e mais facil, qm puder ajudar dou REP++ Vlw
  14. Olá pessoal, hoje vou ensinar a vocês como fazer um Light Full no C# sem o uso do TibiaAPI. OBS: ASRL Desabilitado ! Usings: using System; using System.Runtime.InteropServices; using System.Text; Endereços de Memoria: 9.54 FullLightNop = 0x50E6F9; FullLightAdr = 0x50E6FE; FullLightNopDefault = new byte[] { 0x7E, 0x0A }; FullLightNopEdited = new byte[] { 0x90, 0x90 }; FullLightAdrDefault = 0x80; FullLightAdrEdited = 0xFF; Functions: [DllImport("kernel32.dll")] public static extern Int32 WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [In, Out] byte[] buffer, UInt32 size, out IntPtr lpNumberOfBytesWritten); public static bool WriteBytes(IntPtr handle, long address, byte[] bytes, uint length) { IntPtr bytesWritten; // Write to memory int result = WriteProcessMemory(handle, new IntPtr(address), bytes, length, out bytesWritten); return result != 0; } public static bool WriteByte(IntPtr handle, long address, byte value) { return WriteBytes(handle, address, new byte[] { value }, 1); } public static void FullLight(bool value) { if (value == true) { Memory.WriteBytes(TibiaHandle, FullLightNop, FullLightNopEdited, 2); Memory.WriteByte(TibiaHandle, FullLightAdr, FullLightAdrEdited); } else { Memory.WriteBytes(FullLightNop, FullLightNopDefault, 2); Memory.WriteByte(FullLightAdr, FullLightAdrDefault); } } Como usar: if (cbbFullLight.Checked) { FullLight(true); } else { FullLight(false); }

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...