Postado Agosto 4, 2012 12 anos Funcional em: TFS 8.6 DEV 0.4 (REV3884) Esse npc não foi criando somente por mim eu apenas aperfeiçoei e coloquei novas funções tirando também diversos bugs que atrapalhavam seu funcionamento. Em data/npc coloque: <?xml version="1.0"?><npc name="Resetador" script="data/npc/scripts/reseter.lua" walkinterval="0" floorchange="0"> <health now="100" max="100"/> <look type="133" head="10" body="122" legs="19" feet="10"/> <parameters> <parameter key="message_greet" value="Ola, |PLAYERNAME|. Eu posso {resetar} seu level. "/> </parameters> </npc> Creditos pelo npc base: @nubinho Qualquer duvida postem ai abaixo! Crie um arquivo .lua em data\npc\scripts e coloque -- config local minlevel = 50 -- level inical para resetar local price = 1000 -- preço inicial para resetar local newlevel = 8 -- level após reset local newexp = 4200 -- nova experiencia após reset local lvlByReset = 50 -- level acrescentado por reset local priceByReset = 100 -- preço acrescentado por reset local maxResets = 100 -- máximo de resets -- end config function addReset(cid) resets = getResets(cid) setPlayerStorageValue(cid,1020,resets+1) return true end function getResets(cid) resets = getPlayerStorageValue(cid,1020) if resets < 0 then resets = 0 end return resets end 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 needlvl = minlevel + (getResets(cid) * lvlByReset) local newPrice = price + (getResets(cid) * priceByReset) if msgcontains(msg, 'resetar') then if getResets(cid) < maxResets then selfSay('Voce deseja reset seu char? Isto custará '..newPrice..' gp\'s!', cid) talkState[talkUser] = 1 else selfSay('Você ja alcançou seu limite de resets!', cid) end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerMoney(cid) < newPrice then selfSay('É Necessario ter '..newPrice..' gp\'s para resetar!', cid) elseif getPlayerLevel(cid) < needlvl then selfSay('O level minimo para reset é '..needlvl..'!', cid) else doPlayerRemoveMoney(cid,newPrice) if isInArray(vocs, getPlayerVocation(cid)) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) end addReset(cid) playerid = getPlayerGUID(cid) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level`="..newlevel..",`experience`="..newexp.." WHERE `players`.`id`= ".. playerid .."") end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay('Ok.', cid) elseif msgcontains(msg, 'quant') then selfSay('Voce tem um total de '..getResets(cid)..' reset(s).', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Editado Agosto 4, 2012 12 anos por Spraypaint (veja o histórico de edições) Descreva seus sonhos aqui.
Postado Maio 22, 2013 12 anos Alguém pode me ajudar? Fiz tudo certo mais o NPC não aparece no mapa Se Quiser ADD Skype: Henrique0006 Editado Maio 23, 2013 12 anos por Balkalima (veja o histórico de edições) Ajudar os outros sobre o que se sabe não dói pois amanhã quem pode precisar de ajuda é você! Só sei que nada sei. ~ Sócrates
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.