Tudo que Skyligh postou
-
Training Offline
Arrumado.
-
Hacker de 15 anos é condenado a seis anos de uso restrito de internet
Microsoft ? puts..
-
Training Offline
Vou ensinar a criar um sistema de treinamento offline igual ao global. Requisitos: Apenas um ot com items.xml e items.otb que possuem as estátuas de treino ^-^ Seguindo. PastaDoOt/data//lib/ crie um arquivo chamado "103-offline-training.lua" Coloque isso dentro: -- config, in percent of normal training with 2 trainers and player vocation mana regeneration [by food] OfflineTraining_rates = { [SKILL_CLUB] = 100, [SKILL_SWORD] = 100, [SKILL_AXE] = 100, [SKILL_DISTANCE] = 100, [SKILL_SHIELD] = 100, [SKILL__MAGLEVEL] = 100 } -- function that you should edit to make it add other skill etc. function OfflineTraining_canStartTraining(cid) -- return bool return getCreatureStorage(cid, 62669) > 0 end function OfflineTraining_onstartTraining(cid) -- maybe someone will need -- to save your time, this: doPlayerPopupFYI(cid, "You started offline training.") -- NOT WORK end function OfflineTraining_onendTraining(cid) doCreatureSetStorage(cid, 62669, 0) end function OfflineTraining_addTrainedSkills(cid, trainTime) -- time in minutes! local timeInSeconds = trainTime * 60 local vocInfo = getVocationInfo(getPlayerVocation(cid)) if(getCreatureStorage(cid, 62669) == SKILL_SWORD) then doPlayerAddSkillTry(cid, SKILL_SWORD, ((timeInSeconds * 1000) / vocInfo["attackSpeed"]) * OfflineTraining_rates[SKILL_SWORD] / 100, true) elseif(getCreatureStorage(cid, 62669) == SKILL_AXE) then doPlayerAddSkillTry(cid, SKILL_AXE, ((timeInSeconds * 1000) / vocInfo["attackSpeed"]) * OfflineTraining_rates[SKILL_AXE] / 100, true) elseif(getCreatureStorage(cid, 62669) == SKILL__MAGLEVEL) then doPlayerAddSpentMana(cid, ((timeInSeconds / vocInfo["manaGainTicks"]) * vocInfo["manaGain"]) * OfflineTraining_rates[SKILL__MAGLEVEL] / 100, true) elseif(getCreatureStorage(cid, 62669) == SKILL_CLUB) then doPlayerAddSkillTry(cid, SKILL_CLUB, ((timeInSeconds * 1000) / vocInfo["attackSpeed"]) * OfflineTraining_rates[SKILL_CLUB] / 100, true) elseif(getCreatureStorage(cid, 62669) == SKILL_DISTANCE) then doPlayerAddSkillTry(cid, SKILL_DISTANCE, ((timeInSeconds * 1000) / vocInfo["attackSpeed"]) * OfflineTraining_rates[SKILL_DISTANCE] / 100, true) end doPlayerAddSkillTry(cid, SKILL_SHIELD, timeInSeconds * OfflineTraining_rates[SKILL_SHIELD] / 100, true) end -- 4 functions to show right values on 'bar' in Tibia 9.6 function OfflineTraining_getTime(cid) return getCreatureStorage(cid, 62666) end function OfflineTraining_setTime(cid, newTime) -- set values only between 0 - 720 [12 hours] doCreatureSetStorage(cid, 62666, math.max(0, math.min(newTime, 720))) -- now code to force server to send 'PlayerStats' (including Offline Time) -- we must change any stat: hp,mana,stamina,cap,soul,exp,level doPlayerAddSoul(cid, 1) doPlayerAddSoul(cid, -1) end function OfflineTraining_addTime(cid, addTime) OfflineTraining_setTime(cid, OfflineTraining_getTime(cid) + addTime) end function OfflineTraining_removeTime(cid, removeTime) OfflineTraining_setTime(cid, OfflineTraining_getTime(cid) - removeTime) end -- functions for library to add skills/mlvl function OfflineTraining_initialize(cid) if(OfflineTraining_getTime(cid) == -1) then OfflineTraining_setTime(cid, 720) OfflineTraining_setLogoutTime(cid) -- block problem with first login 'add time' end end function OfflineTraining_isTraining(cid) return (getCreatureStorage(cid, 62667) > 0) end function OfflineTraining_turnOnTraining(cid) doCreatureSetStorage(cid, 62667, 1) end function OfflineTraining_turnOffTraining(cid) doCreatureSetStorage(cid, 62667, 0) end function OfflineTraining_getOfflineTime(cid) return math.floor((os.time() - getCreatureStorage(cid, 62668)) / 60) end function OfflineTraining_setLogoutTime(cid) return doCreatureSetStorage(cid, 62668, os.time()) end [/code] [color=#000000][b]em Data/actions/actions.xml adicione as seguintes tags[/b][/color] [code] <action itemid="18492" script="offtrain_statue.lua"/> <action itemid="18491" script="offtrain_statue.lua"/> <action itemid="18490" script="offtrain_statue.lua"/> <action itemid="18489" script="offtrain_statue.lua"/> <action itemid="18488" script="offtrain_statue.lua"/> Os números 18488 - 18492 são os id's dos objetos a serem os "Treiners offline" ou seja, se vc trocar por exemplo o 18492 por um outro id tipo "1026" ( id de um muro) todos os muros que possui esse id, ao clicarem nele, o player irá deslogar, então prestem atenção e coloquem um id existente e que nao seja "usável" como exemplo, uma estátua. em data/actions/script crie um arquivo chamado "offtrain_statue.lua" Coloque isso dentro: -- example 'action' when you click on statue: function onUse(cid, item, fromPosition, itemEx, toPosition) if(item.itemid == 18488) then -- sword doCreatureSetStorage(cid, 62669, SKILL_SWORD) elseif(item.itemid == 18489) then -- axe doCreatureSetStorage(cid, 62669, SKILL_AXE) elseif(item.itemid == 18492) then -- mlvl doCreatureSetStorage(cid, 62669, SKILL__MAGLEVEL) elseif(item.itemid == 18490) then -- club doCreatureSetStorage(cid, 62669, SKILL_CLUB) elseif(item.itemid == 18491) then -- distannce doCreatureSetStorage(cid, 62669, SKILL_DISTANCE) end -- we remove player, so it will execute onLogout(cid) function and save time of training start doRemoveCreature(cid) end ../data/creaturescripts/creaturescripts.xml <event type="login" name="offtrain_PlayerLogin" event="script" value="offtrain_login.lua"/> <event type="logout" name="offtrain_PlayerLogout" event="script" value="offtrain_logout.lua"/> ../data/creaturescripts/scripts/offtrain_login.lua -- 0.4 - offline training - login.lua function onLogin(cid) OfflineTraining_initialize(cid) if(OfflineTraining_isTraining(cid)) then OfflineTraining_turnOffTraining(cid) -- we add skill/mlvl, we select lower value: time that player was offline OR offline training time [bar in game - 9.6] OfflineTraining_addTrainedSkills(cid, math.min(OfflineTraining_getTime(cid), OfflineTraining_getOfflineTime(cid))) -- we remove offline training time [bar in game - 9.6], -- if player was offline longer then his 'offline training time' it will add him time [like on RL tibia] -- got '3 hours offline training time', stay logged off for 8 hours, you get skills for 3 hours and on login you got '5 hours offline training time' OfflineTraining_setTime(cid, math.abs(OfflineTraining_getTime(cid) - OfflineTraining_getOfflineTime(cid))) OfflineTraining_onendTraining(cid) else -- offline training time also regenerate when you are offline, but NOT train OfflineTraining_setTime(cid, OfflineTraining_getTime(cid) + OfflineTraining_getOfflineTime(cid)) end return true end -- 0.4 - offline training - logout.lua function onLogout(cid) if(OfflineTraining_canStartTraining(cid)) then OfflineTraining_turnOnTraining(cid) OfflineTraining_onstartTraining(cid) end OfflineTraining_setLogoutTime(cid) return true end ./data/globalevents/globalevents.xml <globalevent name="offtrain_add_minutes" interval="60000" event="script" value="offtrain_addMinutes.lua"/> ../data/globalevents/scripts/offtrain_addMinutes.lua function onThink(interval) -- run it with interval 60 seconds for _, cid in pairs(getPlayersOnline()) do OfflineTraining_addTime(cid, 1) end return true end pronto, seu sistema de treino offline está criado Créditos: Gesior.pl LookMe
-
Aprendendo A Scriptear.
Olá galera. Muitos de vocês que são iniciantes em scripting tem certa dificuldade para criar scripts, uns por falta de ideias, outros por realmente não conseguirem montar nada. Por isso, resolvi fazer esse tutorial simples e claro. Aprendendo a Scriptear Introdução: Bom, primeiramente, você já se perguntou "por quê quero scriptear"? Se sim, legal, mas chegou à uma resposta? Se não, pense nisso. Tente chegar à algo que te inspire, seja observando trabalhos de scripters mais conhecidos e habilidosos ou simplesmente querendo criar novas coisas para ter seu nome conhecido. Sem uma inspiração você não vai avançar, acredite em mim. Começando no mundo dos scripts: Quando você tentou aprender a scriptear pela primeira vez, o que você fez? 95% das pessoas responderiam: "Eu li tutoriais". Tudo bem, mas será que isso é certo? Posso te assegurar que não. É claro, ler um tutorial abre sua mente para a parte teórica de scriptear, mas nada muito grande, de pouco adianta a teoria se você não entende a prática. Como praticar: Vou compartilhar com vocês uma experiência de vida. Eu tenho um server que está atualmente fechado para reformas, mas antigamente, eu necessitava sempre de inovar para agradar os players, só que os scripts que eu queria nem sempre estavam disponíveis na net. O que eu fazia? Simples, procurava scripts que possuiam as funções que eu precisava e ia juntando os pedaços até formar o que eu queria. Não, nunca funcionava de primeira, tinha vez que eu levava umas 2 horas para montar um script não muito avançado. Resultados da prática: Com a prática dita acima, você aprende as funções (como elas funcionam, o que significam, etc), aprende a estrutura de um script (if, else, end, etc), e o principal, aprende a criar. Moral: Não leia tutoriais apenas, pratique à partir do que você já conhece. Exemplo disso: Você conhece as cores azul e vermelho. Se você juntar as duas, você conhecerá uma nova cor, a cor roxa. Ou seja, juntando seus conhecimentos você obtêm mais sabedoria. Aprendendo a Imaginar Introdução: Bom, o maior problema de todo scripter é a falta de idéias, mas nem todos sabem resolver isso e encalham, alguns até desistem. Como resolver? Mas antes de tudo, vamos ao por quê. Por quê não tenho ideias? Você provavelmente já se perguntou isso. Se não, SE PERGUNTE. É importante. Parte das pessoas diriam que é porquê tudo já foi inventado, mas acredite, isso tá errado. Eu mesmo tinha essa visão, mas aprendi a imaginar, mesmo que às vezes seja difícil. Você não tem ideias bem provavelmente porquê você não tentou ter. Ou se tentou, fez da maneira errada. Então como ter ideias? Cara, você mora num universo que provavelmente está dentro de outras imensidões que seres humanos como nós são incapazes de compreender, mas fiquemos na Terra mesmo. O que tem na Terra? Muitas coisas, e a cada dia são criadas mais e mais coisas. Observe o mundo ao seu redor, se você prestar atenção em cada detalhe, verá que existem objetos, pessoas e até ambientes que você nunca imaginava que existisse. Você, tendo um pingo de criatividade, pode criar na sua mente um paraíso inteiro à partir de um simples campo de futebol. Moral: Você aprende a imaginar à partir do que já existe, isso é fato, mas com isso, você pode muito bem tirar uma base da sua imaginação ou até mesmo da realidade e criar um sistema que não existe, afinal, muitas coisas ainda não existem. Conclusão Final Você aprende praticando, e com a prática você evolui, mas para praticar você precisa de uma inspiração, e a partir da inspiração você tem ideias, e a partir das ideias você pratica, e com a prática você evolui, e fica nesse ciclo infinito. --------------------------------------------------------------------------------------------- Obrigado galera, espero que vocês tenham entendido o que eu quis dizer. Créditos LuckOake
-
Ajuda com alavanca
Cara so você botar akilo no fim do script da alavanca isso nao ha dificuldade
- [Resolvido] NPCs não compram item agrupados
-
Pedido Banner + alguma coisa
fala as dimensões do tamanho que nem consigui +- calcular esse tamanho
-
[Resolvido] monstro
duvida resolvida reportado.
-
Ajuda com alavanca
so você adicionar isso no fim do script . if getPlayerItemCount(cid,ID DO ITEM) then doPlayerSendTextMessage(cid,22,"Voce nao tem o tal item") return true end ali em ID DO ITEM poem o id do item
-
Abri porta com chave
Explicar oq ? vo por aki os baguio de onde eu tirei ele O tutorial original esta assim, mas você vai seguir o tutorial, e na hora que terminar, vai notar que a porta vai poder ser aberta com ou sem a chave. Eu bolei um geito bobo, mas útil de resolver. Faça o seguinte: pelo map editor, vá nas propriedades da porta que quer que seja aberta apenas pela chave e coloque um Action ID qualquer, não importa se você vai lembrar ou não, a função dele é apenas impedir que a porta seja aberta. Mas o Unique ID faz permitir que a chave a abra. Você também não consiguirá fechar a porta, mas isto não é um problema, pois o script permite apenas que ela fique aberta por um certo período de tempo... O meu ficou assim: Quando eu tento com a chave: Isso ai, espero que gostem. Testei e não tive problemas. e se puder rep + ai
-
[Resolvido] monstro
nesta linha <look type="35" ali e so voce por o id da outift
-
(Resolvido) como criar vip?
duvida resolvida reportado
-
Abri porta com chave
1º vá em seuOT/data/actions/scripts (copie qualquer arquivo, cole-o e renomeie para chave.xml) e cole isto dentro: function onUse(cid, item, frompos, item2, topos) -------- Pausa -------- local pausa = 10000 -------- Cordenadas -------- local door = {x=410, y=387, z=7, stackpos=1} local ddoor = getThingfromPos(door) -------- ITEM -------- local open_door = 5136 local itemU = 24000 local verify = 0 --- NÃO MEXA AQUI -------- PRIMEIRO SISTEMA -------- if item2.uid == itemU then if ddoor.itemid ~= verify then doTransformItem(ddoor.uid,open_door) addEvent(close,pausa,door) end else doPlayerSendCancel(cid,"This key can not be used here") end return 1 end function close(door) -------- ITEM -------- local to_close_door = 5135 ------- SEGUNDO SISTEMA -------- local the_close_door = getThingfromPos(door) doTransformItem(the_close_door.uid,to_close_door) end depois vá em seuOT/data/actions/actions.xml e adicione esta TAG: <action itemid="2089" script="chave.lua" />
-
[Resolvido]healing mana
o efeito voce edita nessa linha . setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) so por o nome do efeito
-
Npc Promotion (Nova vocação) Erro
editei o script la nessa function . doPlayerSetVocation(cid, 5) ali no 5 poem o id da vocation .
-
Entendo .lua
Olá galera do tibiaking, hoje estou trazendo um tutorial para vocês que querem entender a linguagem.lua Entendendo A Linguagem.lua Então vamos aprender a linguagem . Abaixo irei amostrar todos os significado do ((if , end , else , elseif , then , and)) traduzido para o português if - Se then - Então end - Fim else - senão elseif - senãose and - e Functions Iniciais De Um Script Agora irei ensina-los qual e as functions certas para iniciar um script function onUse(cid, item, frompos, item2, topos) -- Action function onLogin(cid) -- so se for usa alguma tag no login.lua utilize essa function ela serve para creaturescripts. function onAdvance(cid, skill, oldLevel, newLevel) -- creaturescripts function onSay(cid, words, param) -- talkactions function onStepIn(cid, item, pos) -- movements Funções.lua : http://tibiaking.com...26-funcoes-lua/ Estudando Sobre If nossa primeira estrutura de controle e o if, como em todas as linguagens de programação, ela e uma estrutura que introduz um desvio condicional ou seja, um desvio de execução natural do programa Em outras palavras, se a condição dada pela expressão for satisfatória, será executado um bloco de comandos, caso a condição não seja satisfatória, o bloco de comando será ignorado. Alem do if temos seu complemento que e chamado de ELSE. Essa expressão complementa o if, fazendo com que seja executado caso a expressão seja a negação da expressão do if. No caso, caso a verificação seja falsa (quando lua não e 1) ele pulará o que tem depois do then mas irá parar no else e executara o que tem depois do else. Diferente do IF, o ELSE não pode ser colocado separado de um IF, ou seja, para usar um ELSE é necessário ter um IF anteriormente, podendo ser junto como um ELSEIF fazendo quem que outra expressão seja executada em caso de um retorno contrário à expressão. os ELSEIF fornecem um métodos mais conveniente para verificar muitas alternativas em uma instrução. Formalmente equivale aos comandos IF-THEN-ELSE-IF-THEN aninhados, mas somente necessita de um END, que serve para fechar o nosso "IF" Créditos Skyligh 100 % (Criação e postagem)
-
Funções .lua
Funções.lua aki irei postar todas as funções .lua para vocês nao terem que procurar nas sourcers igual um doido . //get* getCreatureHealth(cid) getCreatureMaxHealth(cid) getCreatureHideHealth(cid) getCreatureMana(cid) getCreatureMaxMana(cid) getCreatureSpeakType(cid) getCreatureMaster(cid) getCreatureSummons(cid) getCreatureOutfit(cid) getCreaturePosition(cid) getCreatureLookDirection(cid) getCreatureName(cid) getCreatureSpeed(cid) //TODO getCreatureBaseSpeed(cid) //TODO getCreatureTarget(cid) //TODO getCreatureByName(name) getCreatureSkullType(cid) getCreatureCondition(cid, condition[, subId]) //TODO getCreatureNoMove(cid) //TODO getMonsterInfo(name) getMonsterHealingSpells(name) //TODO getMonsterAttackSpells(name) //TODO getMonsterLootList(name) //TODO getMonsterSummonList(name) //TODO getMonsterTargetList(cid) //TODO getMonsterFriendList(cid) //TODO getPlayerByNameWildcard(name~[, ret = false]) //TODO getPlayerLossSkill(cid) //TODO getPlayerLossPercent(cid, lossType) //TODO getPlayerGUIDByName(name[, multiworld = false]) //TODO getPlayerNameByGUID(guid[, multiworld = false[, displayError = true]]) //TODO getPlayerFood(cid) getPlayerLevel(cid) getPlayerExperience(cid) getPlayerMagLevel(cid[, ignoreBuffs = false]) //TODO getPlayerSpentMana(cid) //TODO getPlayerAccess(cid) getPlayerGhostAccess(cid) getPlayerSkillLevel(cid, skillId) getPlayerSkillTries(cid, skillId) //TODO getPlayerTown(cid) getPlayerVocation(cid) getPlayerRequiredMana(cid, magicLevel) //TODO getPlayerRequiredSkillTries(cid, skillId, skillLevel) //TODO getPlayerItemCount(cid, itemid[, subType = -1]) getPlayerSoul(cid) getPlayerAccountId(cid) //TODO getPlayerAccount(cid) //TODO getPlayerIp(cid) //TODO getPlayerFreeCap(cid) getPlayerLight(cid) getPlayerSlotItem(cid, slot) getPlayerWeapon(cid[, ignoreAmmo = false]) //TODO getPlayerItemById(cid, deepSearch, itemId[, subType = -1]) //TODO getPlayerDepotItems(cid, depotid) getPlayerGuildId(cid) getPlayerGuildName(cid) getPlayerGuildRank(cid) getPlayerGuildNick(cid) getPlayerGuildLevel(cid) //TODO: From here, all bottoms getPlayerSex(cid) getPlayerStorageValue(uid, key) getPlayerGUID(cid) getPlayerFlagValue(cid, flag) getPlayerCustomFlagValue(cid, flag) getPlayerPromotionLevel(cid) getPlayerGroupId(cid) getPlayerLearnedInstantSpell(cid, name) getPlayerInstantSpellCount(cid) getPlayerInstantSpellInfo(cid, index) getPlayerBlessing(cid, blessing) getPlayerStamina(cid) getPlayerExtraExpRate(cid) getPlayerPartner(cid) getPlayerParty(cid) getPlayerPremiumDays(cid) getPlayerBalance(cid) getPlayerMoney(cid) getPlayerSkullTicks(cid, type) getPlayerRates(cid) getPlayerLastLogin(cid) getPlayerLastLoginSaved(cid) getPlayerAccountManager(cid) getInstantSpellInfo(cid, name) getPlayersByAccountId(accountNumber) getPlayersByIp(ip[, mask = 0xFFFFFFFF]) getChannelUsers(channelId) getPlayersOnline() getPartyMembers(lid) getAccountIdByName(name) getAccountByName(name) getAccountIdByAccount(accName) getAccountByAccountId(accId) getIpByName(name) getItemRWInfo(uid) getItemProtection(uid) getItemDescriptionsById(itemid) getItemWeightById(itemid, count[, precise]) getItemDescriptions(uid) getItemWeight(uid[, precise]) getItemAttack(uid) getItemExtraAttack(uid) getItemDefense(uid) getItemExtraDefense(uid) getItemArmor(uid) getItemAttackSpeed(uid) getItemHitChance(uid) getItemShootRange(uid) getItemIdByName(name[, displayError = true]) getItemLevelDoor(itemid) getItemWeaponType(uid) getFluidSourceType(type) getContainerSize(uid) getContainerCap(uid) getContainerCapById(itemid) getContainerItem(uid, slot) getDepotId(uid) getTileItemById(pos, itemId[, subType = -1]) getTileItemByType(pos, type) getTileThingByPos(pos) getTileInfo(pos) getTopCreature(pos) getClosestFreeTile(cid, targetpos[, extended = false[, ignoreHouse = true]]) getThingFromPos(pos) getThing(uid) getThingPos(uid) getHouseInfo(id) getHouseAccessList(houseid, listid) getHouseByPlayerGUID(playerGUID) getHouseFromPos(pos) getTownId(townName) getTownName(townId) getTownTemplePosition(townId) getTownHouses(townId) getWorldType() getWorldTime() getWorldLight() getWorldCreatures(type) //0 players, 1 monsters, 2 npcs, 3 all getWorldUpTime() getHighscoreString(skillId) getVocationInfo(id) getGuildId(guildName) getGuildMotd(guildId) getSpectators(centerPos, rangex, rangey[, multifloor = false]) getSearchString(fromPosition, toPosition[, fromIsCreature = false[, toIsCreature = false]]) getWaypointPosition(name) getGameState() getNotationsCount(accId) getBanData(value) getBanList(type[, value]) getBanReason(id) getBanAction(id[, ipBanishment]) getGlobalStorageValue(valueid) getExperienceStage(level) getConfigFile() getConfigValue(key) getModList() loadmodlib(libName) domodlib(libName) getLogsDir() getDataDir() getWaypointList() getTalkActionList() getExperienceStageList() //set* setCreatureMaxHealth(cid, health) setCreatureMaxMana(cid, mana) setHouseOwner(houseid, ownerGUID) setHouseAccessList(houseid, listid, listtext) setItemName(uid) setItemPluralName(uid) setItemArticle(uid) setItemAttack(uid, attack) setItemExtraAttack(uid, extraattack) setItemDefense(uid, defense) setItemArmor(uid, armor) setItemExtraDefense(uid, extradefense) setItemAttackSpeed(uid, attackspeed) setItemHitChance(uid, hitChance) setItemShootRange(uid, shootRange) setCombatArea(combat, area) setCombatCondition(combat, condition) setCombatParam(combat, key, value) setConditionParam(condition, key, value) setCombatCallBack(combat, key, function_name) setCombatFormula(combat, type, mina, minb, maxa, maxb) setConditionFormula(combat, mina, minb, maxa, maxb) setGlobalStorageValue(key, newValue) setWorldType(type) //do* doCreatureAddHealth(cid, health[, force]) doCreatureAddMana(cid, mana) doCreatureSetDropLoot(cid, doDrop) doCreatureSetSkullType(cid, skull) doCreatureSetSpeakType doCreatureSetLookDirection(cid, dir) doPlayerSetMaxCapacity(cid, cap) doCreatureChangeOutfit(cid, outfit) doCreatureSay(uid, text, type[, ghost = false[, cid = 0[, pos]]]) doCreatureSetNoMove(cid, cannotMove) doSetCreatureLight(cid, lightLevel, lightColor, time) doSetCreatureOutfit(cid, outfit, time) doRemoveCreature(cid[, executeLogout = true]) doMoveCreature(cid, direction) doConvinceCreature(cid, target) doChallengeCreature(cid, target) doChangeSpeed(cid, delta) doSummonMonster(name, pos) doCreateMonster(name, pos) doMonsterChangeTarget(cid) doMonsterSetTarget(cid, target) doCreateNpc(name, pos) doSetMonsterOutfit(cid, name, time) doPlayerBroadcastMessage(cid, message[, type]) doPlayerSetSex(cid, newSex) doPlayerSetTown(cid, townid) doPlayerSetVocation(cid, voc) doPlayerSetStorageValue(uid, key, newValue) doPlayerSetGroupId(cid, newGroupId) doPlayerSetPromotionLevel(cid, level) doPlayerSetStamina(cid, minutes) doPlayerSetBalance(cid, balance) doPlayerSetExtraExpRate(cid, value) doPlayerSetPartner(cid, guid) doPlayerRemoveItem(cid, itemid, count[, subtype]) doPlayerAddExperience(cid, amount) doPlayerSetGuildId(cid, id) doPlayerSetGuildRank(cid, rank) doPlayerSetGuildNick(cid, nick) doPlayerAddOutfit(cid,looktype, addons) doPlayerRemoveOutfit(cid,looktype, addons) doPlayerSetRedSkullTicks(cid, amount) doPlayerSetLossPercent(cid, lossType, newPercent) doPlayerSetLossSkill(cid, doLose) doPlayerAddSkillTry(cid, skillid, n) doPlayerAddSpentMana(cid, amount) doPlayerAddSoul(cid, soul) doPlayerAddItem(uid, itemid[, count/subtype[, canDropOnMap = true]]) doPlayerAddItemEx(cid, uid[, canDropOnMap = false]) doPlayerSendTextMessage(cid, MessageClasses, message) doPlayerSendChannelMessage(cid, author, message, SpeakClasses, channel) doPlayerSendToChannel(cid, targetId, SpeakClasses, message, channel[, time]) doPlayerAddMoney(cid, money) doPlayerRemoveMoney(cid, money) doPlayerTransferMoneyTo(cid, target, money) doPlayerPopupFYI(cid, message) doPlayerSendTutorial(cid, id) doPlayerAddMapMark(cid, pos, type[, description]) doPlayerAddPremiumDays(cid, days) doPlayerAddBlessing(cid, blessing) doPlayerAddStamina(cid, minutes) doPlayerResetIdleTime(cid) doPlayerLearnInstantSpell(cid, name) doPlayerUnlearnInstantSpell(cid, name) doPlayerFeed(cid, food) doPlayerSendCancel(cid, text) doPlayerSendDefaultCancel(cid, ReturnValue) doPlayerSetRate(cid, type, value) doPlayerJoinParty(cid, lid) doPlayerSendOutfitWindow(cid) doPlayerSave(cid[, shallow = false]) doCreateItem(itemid, type/count, pos) doCreateItemEx(itemid[, count/subtype]) doAddContainerItemEx(uid, virtuid) doAddContainerItem(uid, itemid[, count/subtype]) doChangeTypeItem(uid, newtype) doDecayItem(uid) doRemoveItem(uid[, count]) doTransformItem(uid, toitemid[, count/subtype]) doSetItemActionId(uid, actionid) doSetItemText(uid, text[, writer[, date]]) doSetItemSpecialDescription(uid, desc) doSetItemOutfit(cid, item, time) doSetItemProtection(uid, value) doTileAddItemEx(pos, uid) doTileQueryAdd(uid, pos[, flags]) doAddCondition(cid, condition) doRemoveCondition(cid, type[, subId]) doRemoveConditions(cid[, onlyPersistent]) 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) doCombat(cid, combat, param) doTeleportThing(cid, newpos[, pushmove = true]) doCreateTeleport(itemid, topos, createpos) doSendMagicEffect(pos, type[, player]) doSendDistanceShoot(frompos, topos, type[, player]) doSendAnimatedText(pos, text, color[, player]) doShowTextDialog(cid, itemid, text) doRelocate(pos, toPos[, creatures = true]) doBroadcastMessage(message, type) doWaypointAddTemporial(name, pos) doSetGameState(stateId) doAddIpBanishment(ip[, length[, comment[, admin]]]) doAddNamelock(name[, reason[, action[, comment[, admin]]]]) doAddBanishment(accId[, length[, reason[, action[, comment[, admin]]]]]) doAddDeletion(accId[, reason[, action[, comment[, admin]]]]]) doAddNotation(accId[, reason[, action[, comment[, admin]]]]]) doRemoveIpBanishment(ip[, mask]) doRemoveNamelock(name) doRemoveBanisment(accId) doRemoveDeletion(accId) doRemoveNotations(accId) doSaveServer() doReloadInfo(id[, cid]) doCleanHouse(houseId) doCleanMap() doRefreshMap() //is* isCreature(cid) isMonster(uid) isNpc(uid) isPlayer(cid) isPlayerPzLocked(cid) isItemStackable(itemid) isItemRune(itemid) isItemMovable(itemid) isItemDoor(itemid) isItemContainer(itemid) isItemFluidContainer(itemid) isContainer(uid) isCorpse(uid) isMovable(uid) isSightClear(fromPos, toPos, floorCheck) isIpBanished(ip[, mask]) isPlayerNamelocked(name) isAccountBanished(accId) isAccountDeleted(accId) isInArray({array}, value[, lower = true]) //others registerCreatureEvent(uid, eventName) createCombatArea({area}[, {exArea}]) createConditionObject(type[, ticks[, buff[, subId]]]) addDamageCondition(condition, rounds, time, value) addOutfitCondition(condition, lookTypeEx, lookType, lookHead, lookBody, lookLegs, lookFeet) createCombatObject() numberToVariant(number) stringToVariant(string) positionToVariant(pos) targetPositionToVariant(pos) variantToNumber(var) variantToString(var) variantToPosition(var) canPlayerWearOutfit(cid, lookType, addons) executeRaid(name) addEvent(callback, delay, ...) stopEvent(eventid) hasProperty(uid) md5(str) sha1(str) //db table db.executeQuery(query) db.storeQuery(query) db.escapeString(str) db.escapeBlob(s, length) db.stringComparisonOperator() db.lastInsertId() //result table result.getDataInt(resId, s) result.getDataLong(resId, s) result.getDataString(resId, s) result.getDataStream(resId, s, length) result.next(resId) result.free(resId) //bit table #bit.cast bit.bnot(n) bit.band(type, n) bit.bor(type, n) bit.bxor(type, n) bit.lshift(type, n) bit.rshift(type, n) #bit.arshift #bit.ucast bit.ubnot(n) bit.uband(type, n) bit.ubor(type, n) bit.ubxor(type, n) bit.ulshift(type, n) bit.urshift(type, n) #bit.uarshift //compats table.getPos = table.find doSetCreatureDropLoot = doCreatureSetDropLoot doPlayerSay = doCreatureSay doPlayerAddMana = doCreatureAddMana playerLearnInstantSpell = doPlayerLearnInstantSpell doPlayerRemOutfit = doPlayerRemoveOutfit pay = doPlayerRemoveMoney broadcastMessage = doBroadcastMessage getPlayerName = getCreatureName getPlayerPosition = getCreaturePosition getCreaturePos = getCreaturePosition creatureGetPosition = getCreaturePosition getPlayerMana = getCreatureMana getPlayerMaxMana = getCreatureMaxMana hasCondition = getCreatureCondition isMoveable = isMovable isItemMoveable = isItemMovable saveData = saveServer savePlayers = saveServer getPlayerSkill = getPlayerSkillLevel getPlayerSkullType = getCreatureSkullType getCreatureSkull = getCreatureSkullType getAccountNumberByName = getAccountIdByName getIPByName = getIpByName getPlayersByIP = getPlayersByIp getThingfromPos = getThingFromPos getPlayersByAccountNumber = getPlayersByAccountId getIPByPlayerName = getIpByName getPlayersByIPNumber = getPlayersByIp getAccountNumberByPlayerName = getAccountIdByName convertIntToIP = doConvertIntegerToIp convertIPToInt = doConvertIpToInteger queryTileAddThing = doTileQueryAdd getTileHouseInfo = getHouseFromPos executeRaid = doExecuteRaid saveServer = doSaveServer cleanHouse = doCleanHouse cleanMap = doCleanMap shutdown = doShutdown mayNotMove = doCreatureSetNoMove doPlayerSetNoMove = doCreatureSetNoMove getPlayerNoMove = getCreatureNoMove getConfigInfo = getConfigValue doPlayerAddExp = doPlayerAddExperience isInArea = isInRange doPlayerSetSkillRate = doPlayerSetRate getCreatureLookDir = getCreatureLookDirection getPlayerLookDir = getCreatureLookDirection getPlayerLookDirection = getCreatureLookDirection doCreatureSetLookDir = doCreatureSetLookDirection getPlayerLookPos = getCreatureLookPosition setPlayerStamina = doPlayerSetStamina setPlayerPromotionLevel = doPlayerSetPromotionLevel setPlayerGroupId = doPlayerSetGroupId setPlayerPartner = doPlayerSetPartner setPlayerStorageValue = doPlayerSetStorageValue setPlayerBalance = doPlayerSetBalance doAddMapMark = doPlayerAddMapMark doSendTutorial = doPlayerSendTutorial //lua-made functions doPlayerGiveItem(cid, itemid, amount, subType) doPlayerTakeItem(cid, itemid, amount) doPlayerBuyItem(cid, itemid, count, cost, charges) doPlayerBuyItemContainer(cid, containerid, itemid, count, cost, charges) doPlayerSellItem(cid, itemid, count, cost) doPlayerWithdrawMoney(cid, money) doPlayerDepositMoney(cid, money) comparePos(pos, posEx) isInRange(pos, fromPos, toPos) getArea(pos, rangeX, rangeY) isPremium(cid) getMonthDayEnding(day) getMonthString(m) getArticle(str) isNumber(str) getDistanceBetween(firstPosition, secondPosition) doPlayerAddAddons(cid, addon) isSorcerer(cid) isDruid(cid) isPaladin(cid) isKnight(cid) isRookie(cid) getDirectionTo(pos, posEx) getCreatureLookPosition(cid) getPosByDir(fromPosition, direction, size) doPlayerWithdrawAllMoney(cid) doPlayerDepositAllMoney(cid) doPlayerTransferAllMoneyTo(cid, target) doPlayerAddLevel(cid, amount, round) doPlayerAddMagLevel(cid, amount) doPlayerAddSkill(cid, amount) playerExists(name) getTibiaTime() doWriteLogFile(file, text) isInArea(pos, fromPos, toPos) getExperienceForLevel(lv) doMutePlayer(cid, time) getPlayerGroupName(cid) getPlayerVocationName(cid) getPromotedVocation(vid) doPlayerRemovePremiumDays(cid, days) getPlayerMasterPos(cid) getHouseOwner(houseId) getHouseName(houseId) getHouseEntry(houseId) getHouseRent(houseId) getHousePrice(houseId) getHouseTown(houseId) getHouseTilesCount(houseId) getItemNameById(itemid) getItemPluralNameById(itemid) getItemArticleById(itemid) getItemName(uid) getItemPluralName(uid) getItemArticle(uid) getItemText(uid) getItemSpecialDescription(uid) getItemWriter(uid) getItemDate(uid) getTilePzInfo(pos) getTileZoneInfo(pos) debugPrint(text) doShutdown() doSummonCreature(name, pos) getOnlinePlayers() getPlayerByName(name) isPlayerGhost(cid) getPlayerFrags(cid) getPartyLeader(cid) isInParty(cid) isPrivateChannel(channelId) doConvertIntegerToIp(int, mask) doConvertIpToInteger(int, mask) getBooleanFromString(str) doCopyItem(item, attributes) exhaustion.check(cid, storage) exhaustion.get(cid, storage) exhaustion.set(cid, storage, time) exhaustion.make(cid, storage, time) table.find(table, value) table.isStrIn(txt, str) table.countElements(table, item) table.getCombinations(table, num) string.split(str) string.trim(str) string.explode(str, sep) Explicações Funções //get As funções get e as functions que trabalha checkando Ex : getPlayerStorage(cid) ira checkar uma storage do player getPlayerMaxMana(cid) ja ira checkar a max mana do player acho que ja eu pra inteder . Funções do & set elas geralmente representam que você player ira receber Ex : doPlayerSendTextMessa() ira enviar uma msg para o player . ja essa function setPlayerStorage(cid) enviara uma storage para o player Funçoes string. nao sei oq fala muito sobre elas eu nao so se usar elas entao nao sei muito oq falar : ahuauhahua Então e so isso galera !
-
Talkaction Promotion
Iae galera do tk venho aki hoje com 1 script que add promotion por talk vamos la . va em data / talkactions / scripts / e renome algum arquivo para buypromotion e adicione function onSay(cid, words, param) local voc = {5,6,7,8} -- as vocations que eles vao checkar e receber ponha em ordem para facilitar a leitura do scripts. if getPlayerStorageValue(cid,7295) >= 1 then doPlayerSendTextMessage(cid, 22, "Desculpe voce ja uso o comando") return true end if getPlayerVocation(cid) == voc then setPlayerStorageValue(cid,7295,1) doPlayerSetVocation(cid,getPlayerVocation(cid)+4) doPlayerSendTextMessage(cid, 22, "Você foi promovido.") end return true end if not doPlayerRemoveMoney(cid,money) == TRUE then doPlayerSendTextMessage(cid, 22, "Você Nao tem dinheiro suficiente.") return true end em talkactions.xml <talkaction words="!promotion" script="promotion.lua"/>
-
Npc Promotion (Nova vocação) Erro
tente utilizar assim . local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'vip sorcerer') or msgcontains(msg, 'Fusion sorcerer')) then selfSay('Deseja virar {Vip Sorcerer} por 50 crystal coins?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 2160) >= 50) then doPlayerRemoveItem(cid, 2160, 50) doPlayerSetVocation(cid, 5) selfSay('Vocação trocada com sucesso , Agora você é um Fusion Sorcerer.', cid) else selfSay('Você não tem {crystal coins} Suficientes.', cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
[Resolvido]Bixo ot server Fraco de +
Duvida resolvida Reportado
-
Adidionando stamina
Ex : O Player fala !stamina ai ele recebe "X" Minutos de stamina ai quando acaba ele tenque compra dnv to criando um que e por param ele compra ex 2 min 1 min 10 min e assim vai
-
Bonus Lvl Player
Pois e esqueci a function vlw ai anne. nem percebi isso que e antigo pakas uahuahahuhauha
-
[Resolvido][Pedido] Script alavanca
duvida resolvida reportado
-
Adidionando stamina
Iae galera hoje eu venho trazer um script que as vezes e muito necessário em ot's Como , Funciona Quase Todos Sabem O Que E A Stamina Mais Para Os Que Não Sabe Irei Explicar : Stamina E Uma Forma De Definir A Experiência Do Personagem Ou Player Que Faz Com Que Eles Upem Mais Rápido Ou Mais Devagar Quanto Mais Cheia Estiver A Stamina Significa Que E Rápido E Se Tiver Baixa E Devagar Então Vamos La Va Em Data / Talkaction / Scripts / Renome Algum Arquivo Para Stamina E Adicione function onSay(cid, words, param) local config = { stamina = 10, -- Quantos Minutos O Player Vai Ter De Stamina price = 10000, -- Quanto Vai Ser A Stamina s = 11548, -- Nao Mexa exhau = 600 -- Quantos Segundos Para Usar O Comando Denovo } if getPlayerStorageValue(cid, config.s) <= os.time() then doPlayerSendTextMessage(cid,22,"Desculpe Espere 90 Minutos Para Usar O Comando Novamente") return true elseif not doPlayerRemoveMoney(cid, config.price) then doPlayerSendTextMessage(cid,22,"Você Não Tem Dinheiro Suficiente") return true end doPlayerAddStamina(cid, config.stamina) setPlayerStorageValue(cid, config.s,os.time()+config.exhau) doPlayerSendTextMessage(cid,22,"Você Comprou Stamina Por 10 Minutos") return true end Em Talkactions.xml <talkaction words="!stamina" script="stamina.lua"/> Créditos Skyligh 100 % (Postagem E Criação)
-
Runa Heal Por Lvl
Isto e so editar ali qualquer coisa to ai .