Postado Março 25, 2015 10 anos Eae pessoal Okay? Este é meu segundo tópico pedindo suporte hj... então não querendo incomodar muito alguem poderia fazer um npc que da items diferente para cada vocação é assim, um player da vocação paladino acabou de criar uma conta e não tem item nenhum! ai tem um npc na entrada que da informações sobre o jogo e tbm fala onde conseguir items iniciais, ele fala que em tal casa tem um npc que da items para jogadores iniciantes o player vai la conversa com o npc o npc pergunta se ele quer items para começar a jogar ai o player responde "yes" o npc da os items para o player e manda uma mensagem, se o player tentar ir la denovo o npc diz que já ajudou o player! Só isto galera alguem pode me ajudar? eu apenas quero o npc que da os items para cada vocação! por favor alguem ajuda ai Pokémon Dust Evolution É aonde começa sua nova aventura!! Facebook Verifique Atualizações
Postado Março 25, 2015 10 anos Diretor ok xo fazer aqui rapidão to com sono kkkk npc <?xml version="1.0"?> <npc name="Paladin" script="data/npc/scripts/vocacao.lua" access="1" monster="1" speed="0" lookdir="2" pushable="0" level="100"> <health now="150" max="150"/> <look type="51" head="120" body="120" legs="114" feet="114" addons="3"/> <parameters> <parameter key="message_greet" value="Ola {|PLAYERNAME|}, voce deseja vira {paladin} ?" /> </parameters> </npc> scripts vocacao.lua 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 getPlayerVocation(cid) > 3 then selfSay('{'..getPlayerName(cid)..'} Eu já te ajudei!!', cid) return true end if(msgcontains(msg, 'Paladin') or msgcontains(msg, 'paladin')) then selfSay('Bom se você chegou aqui é por que você está muito corajoso e vc deja virar {paladin} ?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then doPlayerSetVocation(cid, 3) doPlayerAddItem(cid, 2160, 60) --2160 é i id do item 60 é a quantidade-- selfSay('Parabéns {'..getPlayerName(cid)..'}, agora você é da vocacão paladin', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) me fala os itens que eu termino ele Editado Março 25, 2015 10 anos por alexxxxxxx (veja o histórico de edições) Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código. #OpenSource #Programação #Contribuição
Postado Março 25, 2015 10 anos Testado em: TFS 0.4 Protocolo: 8.60 Crie um arquivo em data/npc com o nome Ajudante.xml e troque o que estiver dentro por isso: <?xml version="1.0" encoding="UTF-8"?> <npc name="Ajudante" script="Ajudante.lua" walkinterval="2000" speechbubble="1" floorchange="0"> <health now="100" max="100" /> <look type="160" head="98" body="95" legs="115" feet="114" addons="0"/> <parameters> <parameter key="message_greet" value="Ola, voce precisa de ajuda ? Eu dou items para os iniciantes! Quer os items ?" /> </parameters> </npc> Agora, em, data/npc/scripts crie um arquivo com nome Ajudante.lua e troque o que estiver dentro por isso: 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end msg = msg:lower() local items = { [1] = { {2160, 10}, {2159, 10}, }, [2] = { {2159, 10}, {2157, 10}, }, } local storage = 6554 if getPlayerStorageValue(cid, storage) >= 1 then npcHandler:say("Ja lhe entreguei os items, suma!", cid) return true elseif msgcontains(msg, "yes") then npcHandler:say("Aqui, tome seus items.", cid) for voc, item in pairs(items) do if items[getPlayerVocation(cid)] then for _, itemid in pairs(item) do doPlayerAddItem(cid,itemid[1],itemid[2]) end break end end setPlayerStorageValue(cid, storage, 1) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Configuração: Aqui: local items = { [1] = { {2160, 10}, {2159, 10}, }, [2] = { {2159, 10}, {2157, 10}, }, } Você põe os items de cada vocação, é o seguinte: [id da vocação] = { {id do item, quantidade}, } Repita o processo quantas vezes quiser, exemplo, se você quer que um player com a vocação de id 1 ganhe 3 items, você faz assim: local items = { [1] = { {2160, 2}, {2159, 10}, {2152, 20}, }, } Editado Março 25, 2015 10 anos por Snowsz (veja o histórico de edições) _ .-'` `} _./) / } .'o \ | } '.___.'`.\ {` /`\_/ , `. } ME DA UMA NOZ! \=' .-' _`\ { `'`;/ `, } _\ @ ; } /__`;-...'--' Cluck!
Postado Março 25, 2015 10 anos Autor Testado em: TFS 0.4 Protocolo: 8.60 Crie um arquivo em data/npc com o nome Ajudante.xml e troque o que estiver dentro por isso: <?xml version="1.0" encoding="UTF-8"?> <npc name="Ajudante" script="Ajudante.lua" walkinterval="2000" speechbubble="1" floorchange="0"> <health now="100" max="100" /> <look type="160" head="98" body="95" legs="115" feet="114" addons="0"/> <parameters> <parameter key="message_greet" value="Ola, voce precisa de ajuda ? Eu dou items para os iniciantes! Quer os items ?" /> </parameters> </npc> Agora, em, data/npc/scripts crie um arquivo com nome Ajudante.lua e troque o que estiver dentro por isso: 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end msg = msg:lower() local items = { [1] = { {2160, 10}, {2159, 10}, }, [2] = { {2159, 10}, {2157, 10}, }, } local storage = 6554 if getPlayerStorageValue(cid, storage) >= 1 then npcHandler:say("Ja lhe entreguei os items, suma!", cid) return true elseif msgcontains(msg, "yes") then npcHandler:say("Aqui, tome seus items.", cid) for voc, item in pairs(items) do if items[getPlayerVocation(cid)] then for _, itemid in pairs(item) do doPlayerAddItem(cid,itemid[1],itemid[2]) end break end end setPlayerStorageValue(cid, storage, 1) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Configuração: Aqui: local items = { [1] = { {2160, 10}, {2159, 10}, }, [2] = { {2159, 10}, {2157, 10}, }, } Você põe os items de cada vocação, é o seguinte: [id da vocação] = { {id do item, quantidade}, } Repita o processo quantas vezes quiser, exemplo, se você quer que um player com a vocação de id 1 ganhe 3 items, você faz assim: local items = { [1] = { {2160, 2}, {2159, 10}, {2152, 20}, }, } Irei testar o seu! ok xo fazer aqui rapidão to com sono kkkk npc <?xml version="1.0"?> <npc name="Paladin" script="data/npc/scripts/vocacao.lua" access="1" monster="1" speed="0" lookdir="2" pushable="0" level="100"> <health now="150" max="150"/> <look type="51" head="120" body="120" legs="114" feet="114" addons="3"/> <parameters> <parameter key="message_greet" value="Ola {|PLAYERNAME|}, voce deseja vira {paladin} ?" /> </parameters> </npc> scripts vocacao.lua 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 getPlayerVocation(cid) > 3 then selfSay('{'..getPlayerName(cid)..'} Eu já te ajudei!!', cid) return true end if(msgcontains(msg, 'Paladin') or msgcontains(msg, 'paladin')) then selfSay('Bom se você chegou aqui é por que você está muito corajoso e vc deja virar {paladin} ?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then doPlayerSetVocation(cid, 3) doPlayerAddItem(cid, 2160, 60) --2160 é i id do item 60 é a quantidade-- selfSay('Parabéns {'..getPlayerName(cid)..'}, agora você é da vocacão paladin', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) me fala os itens que eu termino ele man vc entendeu tudo errado! mas pelomenos tentou! vlw ai Pokémon Dust Evolution É aonde começa sua nova aventura!! Facebook Verifique Atualizações
Postado Março 25, 2015 10 anos Diretor Irei testar o seu! man vc entendeu tudo errado! mas pelomenos tentou! vlw ai entendi eu fiz pra trocar item por vocação malz eu li lá em cima só Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código. #OpenSource #Programação #Contribuição
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.