KE

Npc Papai Noel

Por KennyConrad, 03 de dez. de 2011 em Archived

me ajudem ae
script
8
1.2k
KennyConradK
03 de dezembro de 2011 às 10:11

seguinte eu queria 1 npc papai noel igual do radbr que droparia brinquedo de natal dos bixos no caso o santana doll na maioria dos ots e ai o player pudia trocar o brinquedo de natal por 1 surprise box e que eu colocaria os itens que poderia vim no present e toda a vez que o player tive 1 brinquedo de natal ele pode trocar sempre com o papai noel ajudem ae plix REP + para quem ajudar

 

a outra coisa galera eu n tenhu o script da suprise box tipo o present entao criem pra min tbm que do + 1 REP +^^

VodkartV
03 de dezembro de 2011 às 11:43

npc:

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

local santana_doll = 3434 -- id do item que será removido
local surprise_box = 5878 -- id da surprise box

if(msgcontains(msg, 'natal') or msgcontains(msg, 'NATAL')) then
selfSay('Ho,ho,ho. Quer trocar um Santana Doll por um Surprise Box? {yes}', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerItemCount(cid,santana_doll) >= 1 then
doPlayerRemoveItem(cid,santana_doll,1)
doPlayerAddItem(cid, surprise_box, 1)
selfSay('Aqui está seu presente,Feliz Natal!', cid)
doSendMagicEffect(getPlayerPosition(cid), 2)
else
selfSay('Você não possui nenhum santana doll!.', cid)
talkState[talkUser] = 0  
end
elseif msg == "no" and talkState[talkUser] >= 1 then  
selfSay("Volte no próximo natal então!", cid)  
talkState[talkUser] = 0  
npcHandler:releaseFocus(cid)  
end
return TRUE
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Editado Dezembro 4 por Vodkart

jedian1J
03 de dezembro de 2011 às 12:44

@Vodkart

na parte da surprise box, acho que falta colocar pra pegar o valor math.random(1,#items) da tabela

tipo assim: items[math.random(1,#items)]

ficando isso:

function onUse(cid, item, fromPosition, itemEx, toPosition)
local items = {1111,222,333,444,555} -- id dos itens que poderao vir ao abrir a box
return doPlayerAddItem(cid,items[math.random(1, #items)], 1)
end

Editado Dezembro 3 por JeDiAN

KennyConradK
03 de dezembro de 2011 às 12:45

aki o npc eu editei ele pq as ids do itens tava errada so que aki quando eu falo hi ele n fala a msg subilinhada pra falar brinquedo de natal

tem como arrumar isso ?

 

e uma coisinha tem como colocar pra tipo na surprise box ganhar ate no maximo 20 crystal coins pq eu coloquei pra dar la o id 2160

so que so ganha 1 crystal coin =/

Editado Dezembro 3 por KennyxD

VodkartV
04 de dezembro de 2011 às 16:20

claro amigo,

 

 

surprise box:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
items = {{2160, 20},{2152, 30},{2148, 90},{1232, 1},{9976, 1}}  -- id dos itens que poderao vir ao abrir a box
r = math.random(1, #items)
doPlayerAddItem(cid, items[r][1], items[r][2])
doRemoveItem(item.uid, 1)
end

 

Configure:

 

{ID DO ITEM, QUATIDADE}

 

 

@

JeDiAN

 

sISHiuiHSIUSHiuhUui VDD,tinha feito na pressa e esqueci desse detalhe :p

vlw

Editado Dezembro 7 por Vodkart

2 semanas depois...
StyflerDrunouS
17 de dezembro de 2011 às 21:42

E como ficaria o script com todas essas modificaçoes? me ajuda?..

lucasmax95L
24 de dezembro de 2011 às 12:55

onde eu coloco tudo isso e como ponho ele no meu ot?(tipo em uma parte do mapa propria para ele

japavrb15J
24 de dezembro de 2011 às 13:01

Pra coloca-lo no mapa somente usando

map editor. :]