Posso fazer um comando para voce ocmpra ela por comando quer ??
PI
pedido
[PEDIDO] Npc que troca um item por uma Viper Star
Por Pikasensei, 11 de dez. de 2013 em Scripts
resolvido
6
868
11 de dezembro de 2013 às 02:15
info
Grupo: Campones
Registrado: 06/12/13
Posts: 5
Reputação: 0

11 de dezembro de 2013 às 08:40
Seria bom. se puder me mandar o comando te dou um +REP ![]()
info
Grupo: Marquês
Registrado: 16/06/07
Posts: 1.2k
Reputação: +377
Gênero: Masculino
Char no Tibia: Nenhum

11 de dezembro de 2013 às 13:51
Fiz um NPC que não vai vender por janela de trade, então esse bug não deve funcionar. Ele vende viper stars somente.
viperstarseller.xml em data/npcs:
<npc name="Cato" script="data/npc/scripts/vip_star_seller.lua" floorchange="0" access="5" level="1" maglevel="1">
<health now="150" max="150"/>
<look type="129" head="115" body="113" legs="115" feet="97" addons="2" corpse="2212"/>
<parameters>
<parameter key="module_shop" value="0"/>
<parameter key="message_greet" value="Welcome, |PLAYERNAME|. I sell {VIP Stars}!."/>
<parameter key="message_farewell" value="See ya, |PLAYERNAME|." />
<parameter key="message_walkaway" value="|PLAYERNAME| is a rude bastard!" />
</parameters>
</npc>
vip_star_seller.lua em data/npcs/scripts:
local price = 8000000
local viper_star_id = xxx
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, "star") then
selfSay("How many do you want?", cid)
talkState[talkUser] = 1
elseif talkState[talkUser] == 1 then
if tonumber(msg) and tonumber(msg) > 0 then
local amount = tonumber(msg)
if doPlayerRemoveMoney(cid, amount * price) then
doPlayerAddItem(cid, viper_star_id, amount)
selfSay("Be careful with those!", cid)
talkState[talkUser] = 0
else
selfSay("You do not have enough money.", cid)
talkState[talkUser] = 0
end
else
selfSay("That's not a valid number of viper stars!", cid)
end
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Só substitua o viper_star_id pelo item certo e mude o preço de cada uma em price.
Editado Dezembro 11 por Omega
info
Grupo: Campones
Registrado: 06/12/13
Posts: 5
Reputação: 0

11 de dezembro de 2013 às 22:11
Valeu mesmo cara! +rep


info
Grupo: Campones
Registrado: 06/12/13
Posts: 5
Reputação: 0
Estou com um problema no meu OT, eu coloquei a viper star como uma VipStar e coloquei para vender no npc de muniçao de paladins por 8kk, um valor alto para o server, porem com uma hotkey do elfbot, conseguiram bugar o npc (auto 1 buyitens id 0) foi oq me disseram, e para provar o cara me mostrou 100 dessas... entao pensei em colocar um npc que vendesse um item q nao stacka, pois aparentemente esse bug só funciona com items que stackam, e depois trocar esse item com um npc por 1 viper star (sem trade, só falar viper star e o npc troca o item se voce tiver na backpack). ou se alguem souber de alguma maneira de arrumar o bug de outro modo, por favor me avise.
Estou usando um servidor Alissow 4.11 versao 8.6
desde já agradeço.