-
Total de itens
59 -
Registro em
-
Última visita
-
Dias Ganhos
6
Tudo que digo1040 postou
-
Eu acredito que seu problema seja no arquivo npc/scripts/lib/npcsystem.lua, abra ele e aproximadamente na linha 23 vai ter algo assim: FOCUS_GREETWORDS = {'hi', 'hello'} essas são as palavras que ele responde, tente ver se estão corretas :penguin:
-
aff olha a data do post
-
eai, di uma olhada no vip system by mock e achei o erro que estavamos fazendo, estavamos utilizando a função errada, troque a linha: elseif config.vip == true and vip.getVip(cid) == 0 then por elseif config.vip == true and vip.hasVip(cid) == false then e quanto ao script de broadcast tente assim: local config = { priceForEachMessage = 10000, -- preço de cada mensagem vip = true -- precisa vip para usar o comando } function onSay(cid, words, param, channel) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return TRUE end if config.vip == true and vip.hasVip(cid) == false then doPlayerSendCancel(cid, "Você nao tem Vip account.") return TRUE end if(doPlayerRemoveMoney(cid, config.priceForEachMessage) == TRUE) then doBroadcastMessage("[V.I.P] " .. getPlayerName(cid) .. " Agora Diz: " .. param .. "", MESSAGE_INFO_DESCR) else doPlayerSendCancel(cid, "Você precisa de " .. config.priceForEachMessage .. " gps para enviar a messagem.") end return TRUE end
-
Atualizei o post denovo, se não funcionar na linha abaixo de: function onSay(cid, words, param) coloque isso: doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, vip.getVip(cid)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, tostring(vip.getVip(cid))) vai ficar assim: function onSay(cid, words, param) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, vip.getVip(cid)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, tostring(vip.getVip(cid))) local config = { E poste as mensagens que aparecerem no console em azul e se o player era vip ou nao.
-
eai, conheço ele, atualizei o codigo no meu post, testa ele e diz se da algum erro alguma coisa
-
Qual o vip system que você utiliza? -- edit enviamos no mesmo minuto kk
-
--ATUALIZADO--2 Eai, tudo bem? Tente assim: function onSay(cid, words, param) local config = { pz = true, -- players precisam estar em protection zone para usar? (true or false) battle = true, -- players deve estar sem battle (true or false) custo = true, -- se os teleport irão custa (true or false) need_level = true, -- se os teleport irão precisar de level (true or false) vip = true -- se precisa ser vip account (true or false) } --[[ Config lugares]]-- local lugar = { ["depot"] = { -- nome do lugar pos = {x=131, y=53, z=7},level = 5,price = 1000}, ["templo"] = { -- nome do lugar pos = {x=160, y=51, z=7},level = 10, price = 1000}, ["arena"] = { -- nome do lugar pos = {x=157, y=62, z=7},level = 15,price = 1000}, ["area vip"] ={ -- nome do lugar pos = {x=305, y=934, z=7},level = 20,price = 1000} } --[[ Lista de Viagem (Não mexa) ]]-- if (param == "lista") then local str = "" str = str .. "lista de viagem :\n\n" for name, pos in pairs(lugar) do str = str..name.."\n" end str = str .. "" doShowTextDialog(cid, 6579, str) return TRUE end local a = lugar[param] if not(a) then doPlayerSendTextMessage(cid, 22, "desculpe,este lugar não existe") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE elseif config.vip == true and vip.hasVip(cid) == false then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players com vip account podem teleportar.") return TRUE elseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE elseif config.need_level == true and getPlayerLevel(cid) < a.level then doPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then doPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end doTeleportThing(cid, a.pos) doSendMagicEffect(a.pos, CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, 22, "" .. getPlayerName(cid) .. " foi teleportado para: \n " .. param .. ".") return TRUE end Qualquer dúvida so postar
-
Eai, tudo bem? Incrementei o sistema de rank que provavelmente voce tenha, segue o script: local money = { sql = 'SELECT `id`, `balance` FROM `players` ORDER BY `balance` DESC LIMIT 0,20;', -- consulta sql, 20 é o numero de resultados } local ranks = { ['fist'] = {0}, ['club'] = {1}, ['sword'] = {2}, ['axe'] = {3}, ['distance'] = {4}, ['shield'] = {5}, ['fish'] = {6}, ['magic'] = {7}, ['level'] = {8}, ['money'] = {9} } function onSay(cid, words, param) local msg = string.lower(param) if ranks[msg] ~= nil then if ranks[msg][1] == 9 then local tmp = db.getResult(money.sql) local txt = "" local c = 0 repeat c = c + 1 txt = txt .. c .. ". " .. tmp:getDataInt('balance') .. " gp - " .. getPlayerNameByGUID(tmp:getDataInt('id')) .. "\n" until not tmp:next() tmp:free() str = "Highscore for money in bank\n\nRank - Balance - Player Name\n" .. txt str = str .. "\nLast updated on:\n" .. os.date("%c") else str = getHighscoreString((ranks[msg][1])) end else str = getHighscoreString((8)) end doShowTextDialog(cid,6500, str) return TRUE end Quando alguem fala !rank level retorna o rank de level, quando alguem !rank money vai retornar quem tem mais dinheiro no banco. Qualquer dúvida so postar
-
uhashushau, tenho ainda não kk mas logo faço uma
-
Eai, tudo bem? Tente assim: function onThink(interval, lastExecution, thinkInterval) local config = { pos = {x = 1039, y = 1026, z = 4}, topos = {x=1119, y=1161, z=7}, tpid = 1387, time = 2 -- em minutos } function DelTp() local t = getTileItemById(config.pos, config.tpid) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(config.pos, CONST_ME_POFF) end end doCreateTeleport(config.tpid, config.topos, config.pos) doBroadcastMessage("O portal para fazer o addon do WARMASTER foi aberto e será fechado em "..config.time.." minutos. [O portal fica no ultimo andar do DP]") addEvent(DelTp, config.time*60*1000) addEvent(doBroadcastMessage, config.time*60*1000, "O portal do evento foi fexado. Próximo evento em 2 horas.") return true end
-
Eai, tudo bem? Bem fiz esse talkactions: local config = { item = 125, -- item que deve remover level = 50 -- level minimo para poder usar este comando } function onSay(cid, words, param, channel) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ERROR] Command requires param.") return TRUE end if(getPlayerLevel(cid) < config.level) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[ERROR] Voce deve ter pelo menos level " .. config.level .. " para usar esse comando.") return TRUE end if(doPlayerRemoveItem(cid, config.item, 1) == TRUE) then doBroadcastMessage(param, MESSAGE_STATUS_WARNING) else doPlayerSendCancel(cid, "[ERROR] Voce precisa de um " .. getItemNameById(config.item) .. " para poder enviar a mensagem.") end return TRUE end Qualquer duvida so postar
-
Eai, você poderia utilizar algum script de refinamente e colocar esse item no script.
-
Eai, tinha esquecido de umas regras de script, atualizei o tópico, tente agora
-
Eai, tudo bem? Bom vamos la, em actions/scripts crie um arquivo e coloque isso nele: local drunk = createConditionObject(CONDITION_DRUNK) setConditionParam(drunk, CONDITION_PARAM_TICKS, 60000) function onUse(cid, item, fromPosition, itemEx, toPosition) if(not doTargetCombatCondition(0, cid, drunk, CONST_ME_NONE)) then return false end doCreatureSay(cid, "Ahhhh.. cervejada boa", TALKTYPE_ORANGE_1) return TRUE end E em actions.xml coloque: <action itemid="1772" script="seu script.lua"/> 1772 => itemid do beer cask Bom acho que seria isso, Qualquer duvida so postar
-
Atualizei o código, mas nao tenho certeza que funcionará.
-
eai, corrigi o script, testei ele e funcionou.
-
Eai, tudo bem? Fiz umas modificações no script: local premio = { [1] = {item = 2493, count = 1} } local configs = { hours = 3, -- quantas em quantas horas, vai acontecer. winners = 1 -- qntos players podem ganhar. } function onThink(interval, lastExecution) local online = {} for _, pid in ipairs(getPlayersOnline()) do if getPlayerAccess(pid) == 0 then table.insert(online,pid) end end local winners = configs.winners if #online < winners then winners = #online end for i = 1, winners do local p = online local c, w = #p, #premio local d, e = math.random(c), math.random(w) local playerwin = p[d] doPlayerAddItem(playerwin, premio[e].item, premio[e].count) doBroadcastMessage("[" .. i .. "ST PLACE] Winner: " .. getCreatureName(playerwin) .. ", Reward: " .. premio[e].count .. " " .. getItemNameById(premio[e].item) .. ", Congratulations!", MESSAGE_STATUS_CONSOLE_RED) table.remove(online,d) if i == winners then doBroadcastMessage("(Next Lottery in " .. configs.hours .. " hours.)", MESSAGE_STATUS_CONSOLE_RED) end doSendMagicEffect(getThingPos(playerwin), 12) end return true end Se não funcionar avise
-
Alguns server não vem com o comando houseSell no próprio distro, então precisa o script em lua.
-
Eai, tudo bem? Bom o primeiro pedido você pode utilizar o comando for e verificar cada quadrado da área, por exemplo: for posx = 123,125 do -- checar posição X, começo e final da sala for posy = 123,145 do -- checar posicao Y, começo e final da sala local pos = {x=posx, y=posy, z=7, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253) local creature = getThingfromPos(pos) -- pega informações da creature da posição if isMonster(creature.uid) then -- verifica se é um monster doRemoveCreature(creature.uid) -- se for monster remove ele end end end E o segundo pedido você pode fazer uma função e utilizar o comando doPlayerBroadcastMessage, fiz essa função: function doPlayerBroadCastMessageByStorage(storage, message) for _, pid in pairs(getPlayersOnline()) do if getPlayerStorageValue(pid, storage) > 0 then doPlayerBroadcastMessage(pid, message) end end return TRUE end Qualquer dúvida so postar
-
Eai, tudo bem? Nessa versão os comandos são definidos no distro, para criar novos comandos você precisa das sources do seu distro e adicionar o comando.
-
Eai, tudo bem? Na linha 75 tem isso: if words == '!aceitar' then após essa linha coloque isso: if(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid,22,"você precisa estar em protection zone pra usar o fight system.") return TRUE end Vai ficar assim: if words == '!aceitar' then if(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid,22,"você precisa estar em protection zone pra usar o fight system.") return TRUE end if getPlayerStorageValue(cid,config.storage) >= 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "o jogador aceito,começara o fight.") Qualquer duvida so postar
-
Eai, tudo bem? ---1--- Qual a versão do seu ot? Poste o talkaction do leavehouse. ---2--- Aparece algum erro no distro? ---3--- Esse erro diz que não há uma tabela em seu banco de dados (guild_war), provavelmente existe um global events ou mods pra quando quando iniciar o server verificar isso.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.