Tudo que luanluciano93 postou
-
Somar Funcoes
Se você perceber, a função ariseText(cid) cria uma repetição, que dentro da função "chama" ela novamente ... O problema é que quando "chama" ela novamente não existe nunhuma checagem, por isso ela fica infinita ... Como dá para ver no script, ela deve continuar apena quando o valor da storage AURASTR estiver 2, portanto você deve fazer essa verificação para continuar a repetição ... function ariseText(cid) local texts = {"´ . ,", ". ´ ,", "` . ,", ", ´ ."} doSendAnimatedText(getThingPos(cid), texts[math.random(1, #texts)], tab[getPlayerVocation(cid)]) if isPlayer(cid) then addEvent(ariseText, 600, cid) end return true end Onde existe a verificação se ele é um jogador, coloque a verificação da storage ... if isPlayer(cid) and getPlayerStorageValue(cid, aurastr) == 2 then A função function ariseText(cid) pode ser local, pois ela só funciona dentro desse script. local function ariseText(cid) Todos os return TRUE ou return FALSE são gambiarras, o correto é minúsculos. As configurações do script tbem devem ser locais, de preferência em uma tabela local tabelaX = {}
-
CONTAS COM QUESTS FEITAS
você tem as opções de: - querer aprender e fazer sozinho - esperar alguém fazer para você - desistir do server Eu já te dei um norte, tem vários tutoriais sobre isso no fórum. Boa sorte
-
CONTAS COM QUESTS FEITAS
Os acessos dão "dados" aos jogadores por storages, ou seja, o NPC (ou teleport, ou action) verifica se você tem o valor determinado para aquela chave. Por exemplo, um npc de barqueiro que te mande para uma cidade que é necessário ter acesso, quando você digitar o nome da cidade específica ele irá verificar se vocÊ tem o valor da chave determinado. Esse valor você ganha nas missões de acesso. Olhe, na função: player:getStorageValue(9999) Essa função retorna o valor que esta guardado na database para a chave 9999 com o ID do player que executar a função. A função: player:setStorageValue(9999, 3) determina o valor 3 para a chave 9999 para o player que executar a função. Então basicamente os npcs fazem essa verificação: if player:getStorageValue(9999) > 0 then SE O VALOR DA STORAGE 9999 FOR MAIOR QUE 0 ENTÃO: Para dar acesso aos players sem que eles precisem das missões de acesso, você precisa "dar" esses valores para as chaves específicas (que são muitas) ... Se você fizer por uma função onLogin do creaturescript o player irá receber as chaves ao logar ... basicamente assim ... if player:getStorageValue(9999) < 3 then player:setStorageValue(9999, 3) end é +/- isso, espero que tenha entendido a didática!
-
Somar Funcoes
Coloque ai o código de como ficou ...
-
Pedido comando !spell diferente
function onSay(player, words, param) local text = {} local spells = {} for _, spell in ipairs(player:getInstantSpells()) do if spell.level ~= 0 then if spell.manapercent > 0 then spell.mana = spell.manapercent .. "%" end if spell.params > 0 then spell.words = spell.words .. " para" end spells[#spells + 1] = spell end end table.sort(spells, function(a, b) return a.level < b.level end) local prevLevel = -1 for i, spell in ipairs(spells) do if prevLevel ~= spell.level then if i == 1 then text[#text == nil and 1 or #text+1] = "Spells for Level " else text[#text+1] = "\nSpells for Level " end text[#text+1] = spell.level .. "\n" prevLevel = spell.level end text[#text+1] = spell.words .. " - " .. spell.name .. " : " .. spell.mana .. "\n" end player:showTextDialog(2175, table.concat(text)) return false end
-
[TFS 1.5 - 8.60] STYLLER OT - 2023
Funciona com qualquer tutorial de como colocar um servidor tfs 1.x + online
-
CONTAS COM QUESTS FEITAS
Ou precisa retirar os acessos, script por script, ou dar o acesso com uma função onLogin ou onUe
-
Alavanca Que Cria items.
E lá se foram meus ensinamentos rsrsr
-
Somar Funcoes
conseguiu?
-
npc vende item sem charge
testou?
-
Alavanca Que Cria items.
A sua OTX deve ser versão 2 eu acho, poderia usar esta lista de funções ... https://github.com/mattyx14/otxserver/blob/otxserv2/docs/luaFunctions Se quiser te auxilio na montagem do script.
-
Alavanca Que Cria items.
Qual a versão do TFS ou OTX? Você tem a lista de funções da versão em questão usada no seu servidor?
-
[TFS 1.5 - 8.60] STYLLER OT - 2023
Atualização v21 ?
-
npc vende item sem charge
testou mudar a quantidade?
-
[TFS 1.5 - 8.60] STYLLER OT - 2023
Irei testar amanhã e te passo um feedback. Se puder deixar o servidor on para eu testar com o meu cliente.
-
Mudar kill para monstros
Me importo! se quiser aprender eu te guio, se quiser pronto, boa sorte!
-
Somar Funcoes
Dentro da função onUse do script 2 tem o "efeitosAura(1,tempo/8,cid)" troca essa função pela função "ariseText(cid)" do script 1 (que por sinal pode ser uma função local) ... Apague toda a função local do efeitosAura do script 2 e substitua pela função ariseText(cid) e pela tabela TAB.
-
ajuda com alavanca que troca 2 itens por 1
Qual engine? TFS ou OTX? qual versão e o que vocÊ já fez até agora no script? Tem as lista de funções que funcionam nele?
-
Somar Funcoes
O efeito do script 2 deve ser retirado e colocado o efeito do script 1?
-
adicionar mais horarios
config_boosted = { ["11:30:00"] = { -- Horario de cada dia que irá ocorrer a troca dos monstros pos_monster = {x=992,y=997,z=7, stackpos = 253}, -- a posição aonde ficara o monstro informando a quantidade de exp e loot time_effects = 2 -- tempo em segundos que ficará saindo os efeitos }, ["12:30:00"] = { -- Horario de cada dia que irá ocorrer a troca dos monstros pos_monster = {x=992,y=997,z=7, stackpos = 253}, -- a posição aonde ficara o monstro informando a quantidade de exp e loot time_effects = 2 -- tempo em segundos que ficará saindo os efeitos } }
-
Talk Action para teletransportar em um local fixo
Só dei uma modificada no script do @Kyle Bellini conforme as funções para TFS 1.x ACCOUNT_TYPE_NORMAL = 1, ACCOUNT_TYPE_TUTOR = 2, ACCOUNT_TYPE_SENIORTUTOR = 3, ACCOUNT_TYPE_GAMEMASTER = 4, ACCOUNT_TYPE_COMMUNITYMANAGER = 5, ACCOUNT_TYPE_GOD = 6 local comandos = { ["thais"] = {name = "Thais City", pos = Position(141, 379, 7)}, ["carlin"] = {name = "Carlin City", pos = Position(142, 379, 7)}, ["venore"] = {name = "Venore City", pos = Position(143, 379, 7)}, ["kazordoon"] = {name = "Kazordoon City", pos = Position(144, 379, 7)}, ["yalahar"] = {name = "Yalahar City", pos = Position(144, 379, 7)}, } function onSay(player, words, param) if not player:getGroup():getAccess() then return true end --[[ ACCOUNT_TYPE_NORMAL = 1, ACCOUNT_TYPE_TUTOR = 2, ACCOUNT_TYPE_SENIORTUTOR = 3, ACCOUNT_TYPE_GAMEMASTER = 4, ACCOUNT_TYPE_COMMUNITYMANAGER = 5, ACCOUNT_TYPE_GOD = 6 ]]-- if player:getAccountType() < ACCOUNT_TYPE_GAMEMASTER then return false end local cities = "" for k, v in pairs(comandos) do cities[#cities + 1] = k end local posicao = comandos[string.lower(param)] then if param == "" or not posicao then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, #cities == 0 and "No have commands." or table.concat(cities, ', ')) player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end player:sendMagicEffect(CONST_ME_TELEPORT) player:teleportTo(posicao.pos) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, string.format("You have been teleported to %s.", posicao.name)) player:sendMagicEffect(CONST_ME_TELEPORT) return true end
-
Error SQL
Como a própria tradução do erro diz : guild_kills.id pode não ser NULL ou seja, algum script está deixando a coluna ID da tabela guild_kills como NULA, precisa ver qual ... um caminho é verificar os scripts onde estão funções sql sobre o guild_kills
-
Mudar kill para monstros
Basta usar uma função onDeath do creaturescript ... use uma storage para contar os monstros ...
-
[TFS 1.5 - 8.60] STYLLER OT - 2023
Pode mandar print com as imagens do local pelo RME?
-
[TFS 1.5 - 8.60] STYLLER OT - 2023
Estranha, aqui está normal. Está usando o client da cipsoft?