-
Total de itens
3406 -
Registro em
-
Última visita
-
Dias Ganhos
113
Tudo que Vodkart postou
-
qual a tag que vc está usando no actions.xml?
-
http://www.xtibia.com/forum/topic/152827-vocation-oufit/
-
se eu não me engano você pode usar vocation="3, 7" ex: <list type="female" looktype="136" name="Elf" vocation="3, 7"/>
-
é nas source '-'
-
É porque seu servidor é Mysql, mas vamos resolver isso... Troque está linha: local query = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..value.." ORDER BY cast(value as INTEGER) DESC;") por essa: local query = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..value.." ORDER BY cast(value as SIGNED) DESC;")
-
Npc Nome do seu npc.xml <?xml version="1.0"?> <npc name="Nome do seu npc" script="data/npc/scripts/trade_honor.lua" walkinterval="50000" floorchange="0"> <health now="1000" max="1000"/> <look type="130" head="0" body="114" legs="114" feet="0" addons="0"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. I buy swords, clubs, axes, helmets, boots, legs, shields and armors."/> </parameters> </npc> NPC/script trade_honor.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid 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 greetCallback(cid) talkState[talkUser] = 0 return true end function creatureSayCallback(cid, type, msg) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(not npcHandler:isFocused(cid)) then return false end local trade = { {id=2434, sell=2000, name="dragon hammer"}, {id=2393, sell=17000, name="giant sword"}, {id=2430, sell=2000, name="knight axe"}, {id=2411, sell=50, name="poison dagger"}, {id=2419, sell=150, name="scimitar"}, {id=2409, sell=900, name="serpent sword"}, {id=2436, sell=6000, name="skull staff"}, {id=2396, sell=5000, name="ice rapier"}, {id=2489, sell=400, name="dark armor"}, {id=2476, sell=5000, name="knight armor"}, {id=2490, sell=250, name="dark helmet"}, {id=2663, sell=150, name="mystic turban"}, {id=2479, sell=500, name="strange helmet"}, {id=2475, sell=5000, name="warrior helmet"}, {id=2477, sell=5000, name="knight legs"}, {id=2532, sell=900, name="ancient shield"}, {id=2529, sell=800, name="black shield"}, {id=2528, sell=8000, name="tower shield"}, {id=2534, sell=15000, name="vampire shield"} } local items = {} for _, item in ipairs(trade) do items[item.id] = {item_id = item.id, sellPrice = item.sell, subType = 0, realName = item.name} end local onSell = function(cid, item, subType, amount, ignoreCap, inBackpacks) if items[item].sellPrice ~= 0 then doPlayerAddMoney(cid, items[item].sellPrice * amount) doPlayerRemoveItem(cid, items[item].item_id, amount) end end if msgcontains(msg, 'trade') then if getPlayerItemCount(cid, 2123) >= 1 then openShopWindow(cid, trade, onBuy, onSell) else selfSay("Não compro nada para você!", cid) end return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
então faz o seguinte, a tabela você sabe afzer ali? quando vc termina vc me mostra, que eu faço os arquivo lua e xml do npc flw
-
mas eu vou postar sim, só estou vendo se eles vão querer '-' ------------------------------------- está ai para quem quiser: na sua db executa isso: CREATE TABLE death_list ( id INTEGER NOT NULL, player_id INTEGER NOT NULL, date INTEGER NOT NULL, level INTEGER NOT NULL, killer_name INTEGER NOT NULL, PRIMARY KEY ( id ) ); creaturescript death_list.lua function onDeath(cid, corpse, deathList) local death = "field item" if isPlayer(deathList[1]) or isMonster(deathList[1]) then death = getCreatureName(deathList[1]) end db.executeQuery("INSERT INTO `death_list` (`player_id`, `date`, `level`, `killer_name`) VALUES ('".. getPlayerGUID(cid).."', '".. os.time() .."', '".. getPlayerLevel(cid) .."', '".. death .."');") return true end creaturescript.xml <event type="death" name="DeathList" event="script" value="death_list.lua"/> creaturescript/script/login.lua registerCreatureEvent(cid, "DeathList") talkactions deathlist.lua limit = 5 function onSay(cid, words, param, channel) local getPlayer = db.getResult("SELECT `name`, `id` FROM `players` WHERE `name` = " .. db.escapeString(param) .. ";") if(getPlayer:getID() == -1) then doPlayerSendCancel(cid, "Este Player não existe.") return true end local getGuid = getPlayer:getDataInt("id") getPlayer:free() local str = "" local qry = db.getResult("SELECT `id`, `date`, `level`, `killer_name` FROM `death_list` WHERE `player_id` = " .. getGuid .." ORDER BY `date` DESC LIMIT 0, " .. limit) if(qry:getID() ~= -1) then repeat str = str .."\n "..os.date("%d %B %Y %X ", qry:getDataInt("date")).." Morto no level "..qry:getDataInt("level").." Por: "..qry:getDataString("killer_name").."." until not(qry:next()) qry:free() else str = "Não há mortes." end doPlayerPopupFYI(cid, "Lista de Mortes de: " .. param .. ".\n\n" .. str) return true end talkactions.xml <talkaction words="!deathlist" script="deathlist.lua"/>
-
o que? é só ir no items.xml e dar ctrl + f e procurar o nome da arma, ai você pega o id dela e depois coloca o preço ali na tabela '-'
-
já terminei, só falta você completar a tabela
-
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid 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 greetCallback(cid) talkState[talkUser] = 0 return true end function creatureSayCallback(cid, type, msg) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(not npcHandler:isFocused(cid)) then return false end local trade = { {id=2434, sell=2000, name="dragon hammer"}, {id=2393, sell=17000, name="giant sword"}, {id=2430, sell=2000, name="knight axe"}, {id=2411, sell=50, name="poison dagger"} } local items = {} for _, item in ipairs(trade) do items[item.id] = {item_id = item.id, sellPrice = item.sell, subType = 0, realName = item.name} end local onSell = function(cid, item, subType, amount, ignoreCap, inBackpacks) if items[item].sellPrice ~= 0 then doPlayerAddMoney(cid, items[item].sellPrice * amount) doPlayerRemoveItem(cid, items[item].item_id, amount) end end if msgcontains(msg, 'trade') then if getPlayerItemCount(cid, 2123) >= 1 then openShopWindow(cid, trade, onBuy, onSell) else selfSay("Não compro nada para você!", cid) end return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) só terminar de adicionar o item, preço e nome do item aqui na tabela local trade = { {id=2434, sell=2000, name="dragon hammer"}, {id=2393, sell=17000, name="giant sword"}, {id=2430, sell=2000, name="knight axe"}, {id=2411, sell=50, name="poison dagger"} }
-
Não intendi nada. quem compra? o player ou o npc? explica detalhado rapaz, se não ninguém vai te ajudar -.-
-
consegui (: acho que funfa em sqlite e mysql '-'
-
pois é, para qslite é diferente, desse jeito funciona, porém não aparece para quem morreu: limit = 5 function onSay(cid, words, param, channel) local getPlayer = db.getResult("SELECT `name`, `id` FROM `players` WHERE `name` = " .. db.escapeString(param) .. ";") if(getPlayer:getID() == -1) then doPlayerSendCancel(cid, "Este Player não existe.") return true end local getGuid = getPlayer:getDataInt("id") getPlayer:free() local str = "" local qry = db.getResult("SELECT `id`, `date`, `level` FROM `player_deaths` WHERE `player_id` = " .. getGuid .." ORDER BY `date` DESC LIMIT 0, " .. limit) if(qry:getID() ~= -1) then repeat str = str .."\n "..os.date("%d %B %Y %X ", qry:getDataInt("date")).." Morto no level "..qry:getDataInt("level").."" until not(qry:next()) qry:free() else str = "Não há mortes." end doPlayerPopupFYI(cid, "Lista de Mortes de: " .. param .. ".\n\n" .. str) return true end
-
manda seu msn tai o exemplo de npc local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 local travelNode = keywordHandler:addKeyword({'city vip'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you wish to travel to Enigma City for 50 gold coins?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, vip = true, level = 0, cost = 50, destination = {x=160, y=54, z=7}}) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Too expensive, eh?'}) keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can take you to {city vip} for just a small fee.'}) npcHandler:addModule(FocusModule:new())
-
ué cara, eu mandei vc editar a lib pra vc msm criar o npc, eu só disse como fazer e não que eu iria fazer, está tudo aí. tem tutorial de como criar npc de viagem, vai ler e criar, o parâmetro vip agr pode ser usado.
-
Foi mesmo, se tivesse ficado quieta eu não teria mais trabalho =( kkkkkk rep -
-
vai em npc > lib > npcsystem > modules.lua troque function StdModule.travel(cid, message, keywords, parameters, node) local npcHandler = parameters.npcHandler if(npcHandler == nil) then error('StdModule.travel called without any npcHandler instance.') end if(cid ~= npcHandler.focus) then return false end if(isPlayerPremiumCallback == nil or isPlayerPremiumCallback(cid) == true or parameters.premium == false) then if(parameters.level ~= nil and getPlayerLevel(cid) < parameters.level) then npcHandler:say('You must reach level ' .. parameters.level .. ' before I can let you go there.') elseif(doPlayerRemoveMoney(cid, parameters.cost) ~= TRUE) then npcHandler:say('You do not have enough money!') else doTeleportThing(cid, parameters.destination) doSendMagicEffect(parameters.destination, 10) end else npcHandler:say('I can only allow premium players to travel with me.') end npcHandler:resetNpc() return true end por essa: function StdModule.travel(cid, message, keywords, parameters, node) local npcHandler = parameters.npcHandler if(npcHandler == nil) then error('StdModule.travel called without any npcHandler instance.') end if(cid ~= npcHandler.focus) then return false end if(isPlayerPremiumCallback == nil or isPlayerPremiumCallback(cid) == true or parameters.premium == false) then if(parameters.level ~= nil and getPlayerLevel(cid) < parameters.level) then npcHandler:say('You must reach level ' .. parameters.level .. ' before I can let you go there.') elseif(doPlayerRemoveMoney(cid, parameters.cost) ~= TRUE) then npcHandler:say('You do not have enough money!') elseif (parameters.vip ~= nil and getPlayerStorageValue(cid, 29000) - os.time() <= 0) then npcHandler:say('I can only allow vip players to travel with me!') else doTeleportThing(cid, parameters.destination) doSendMagicEffect(parameters.destination, 10) end else npcHandler:say('I can only allow premium players to travel with me.') end npcHandler:resetNpc() return true end ai você pode usar o parâmetro igual no premium premium = true -- para só premium usar vip = true -- para só vip usar exemplo travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, vip = true, level = 0, cost = 50, destination = {x=942, y=978, z=6} })
-
tem ctz que teu sistema vip é esse da storage 29000 ?
-
qual é o comando de comprar vip?
-
Isso não é vip system, é premium account. Se for o caso, só colocar no npc de boat o parâmetro: premium == true
-
mas qual o seu sistema vip?
-
você deve ter feito algo errado, diz que não está achando diretório '-' @EDITED - Agr só por MODS - adicionado rank de SD
-
pronto, editado! agr soh usar agr só dar /reload npc e /n spell seller
-
então foi oq eu te falei, o jogador teria que estar em pz pra mudar o magic level dele '-' pq ele vai ser kikado
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.