Postado Outubro 9, 2014 10 anos -------------------------------------------------------------------------------------------- ------------------------------------ Advanced Addon NPC ------------------------------------ -------------------------------- Script made by teh_pwnage --------------------------------- --------------- Special thanks to: mokerhamer, Xidaozu and Jiddo, deaths'life -------------- ------------------------------- Thanks also to everyone else ------------------------------- ------------------------------ NPC based on Evolutions V0.7.7 ------------------------------ -------------------------------------------------------------------------------------------- local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start 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 -- OTServ event handling functions end function creatureSayCallback(cid, type, msg) -- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so you do not have to take care of that yourself. if(npcHandler.focus ~= cid) then return false end preco = getPlayerLevel(cid)*3 bless = getPlayerBlessing(cid,1) vezes = getResets(cid) rubys = (getPlayerLevel(cid)*4000)*(vezes*30*4)/1000000 if msgcontains(msg, 'aol1') then selfSay('Você Deseja Comprar Uma Aol1 Por 50k?') talk_state = 1 elseif msgcontains(msg, 'aol2') then selfSay('Você Deseja Comprar Uma Aol2 Por 50kk?') talk_state = 2 elseif msgcontains(msg, 'aol3') then selfSay('Você Deseja Comprar Uma Aol3 Por 100kk?') talk_state = 3 elseif msgcontains(msg, 'gdsjghsjg') then selfSay('I can energyze your necklace for 50k, amulet for 100k or your magic amulet for 150k, do you want energyze?') talk_state = 4 elseif msgcontains(msg, 'bless') or msgcontains(msg, 'blessing') then selfSay('Bless a mortal? Hmm... Sure I can bless, but it will not be cheap, what do you say about ' .. preco .. 'k?') talk_state = 5 elseif msgcontains(msg, 'reset') then if vezes == -1 or vezes == 0 then selfSay('Reset a god? Hmm... First time? Ok, i will do it free this time!') talk_state = 6 else selfSay('Reset a god? Hmm... Sure I can, but it will not be cheap, what do you say about ' .. rubys .. ' ruby coins?') talk_state = 6 end elseif msgcontains(msg, 'job') then selfSay('I am a servent of Merlian!') elseif msgcontains(msg, 'offer') then selfSay('I can do an element item or energyze your element item, i only need all "necklace", "amulet" ou "magic" amulet, also can bless a little mortal and reset a god!') elseif msgcontains(msg, 'sell') then selfSay('I am not a merchant!') elseif msgcontains(msg, 'buy') then selfSay('I am not a merchant!') elseif msgcontains(msg, 'quest') then selfSay('Ha! You are only a novice!') elseif msgcontains(msg, 'mission') then selfSay('Ha! You are only a novice!') -- neck elseif talk_state == 1 then if msgcontains(msg, 'yes') then if getPlayerItemCount(cid,2160) >= 5 then selfSay('Its all yours!') doPlayerSendTextMessage(cid,22,"Voce recebeu um Elemental necklace.") doSendMagicEffect(getPlayerPosition(cid),12) doPlayerRemoveItem(cid,2160,10) doPlayerAddItem(cid,13682,1) talk_state = 0 else selfSay('You dont have this itens!') talk_state = 0 end end -- amulet elseif talk_state == 2 then if msgcontains(msg, 'yes') then if getPlayerItemCount(cid,13685) >= 50 then selfSay('Its all yours!') doPlayerSendTextMessage(cid,22,"Voce recebeu um Spirit Elemental amulet.") doSendMagicEffect(getPlayerPosition(cid),12) doPlayerRemoveItem(cid,13685,50) doPlayerAddItem(cid,13683,1) talk_state = 0 else selfSay('You dont have this itens!') talk_state = 5 end end elseif talk_state == 3 then if msgcontains(msg, 'yes') then if getPlayerItemCount(cid,13685) >= 100 then selfSay('Its all yours!') doPlayerSendTextMessage(cid,22,"Voce recebeu um Elemental magic amulet.") doSendMagicEffect(getPlayerPosition(cid),12) doPlayerRemoveItem(cid,13685,100) doPlayerAddItem(cid,13684,1) talk_state = 0 else selfSay('You dont have this itens!') talk_state = 5 end end -- energ elseif talk_state == 4 then if msgcontains(msg, 'yes') and getPlayerItemCount(cid,2197) >= 1 then if pay(cid,50000) then selfSay('Its all yours!') doPlayerSendTextMessage(cid,22,"Voce recebeu Energizou seu Elemental necklace.") doSendMagicEffect(getPlayerPosition(cid),12) doPlayerRemoveItem(cid,2197,1) doPlayerAddItem(cid,13682,1) talk_state = 0 else selfSay('You dont have this money!') talk_state = 0 end elseif msgcontains(msg, 'yes') and getPlayerItemCount(cid,2173) >= 1 then if pay(cid,100000) then selfSay('Its all yours!') doPlayerSendTextMessage(cid,22,"Voce recebeu Energizou seu Spirit Elemental amulet.") doSendMagicEffect(getPlayerPosition(cid),12) doPlayerRemoveItem(cid,2173,1) doPlayerAddItem(cid,13683,1) talk_state = 0 else selfSay('You dont have this money!') talk_state = 0 end elseif msgcontains(msg, 'yes') and getPlayerItemCount(cid,2125) >= 1 then if pay(cid,150000) then selfSay('Its all yours!') doPlayerSendTextMessage(cid,22,"Voce recebeu Energizou seu Elemental magic amulet.") doSendMagicEffect(getPlayerPosition(cid),12) doPlayerRemoveItem(cid,2125,1) doPlayerAddItem(cid,13684,1) talk_state = 0 else selfSay('You dont have this money!') talk_state = 0 end elseif msgcontains(msg, 'yes') and getPlayerItemCount(cid,2197) >= 0 and getPlayerItemCount(cid,2125) >= 0 and getPlayerItemCount(cid,2173) >= 0 then selfSay('You dont have this item!') talk_state = 0 end -- bless elseif talk_state == 5 then if msgcontains(msg, 'yes') then if bless then selfSay('You are already blessed my little mortal.') talk_state = 0 else if isPremium(cid) then if pay(cid,preco*1000) then selfSay('Receive this bless mortal, with the gods touch i bless you!') doPlayerSendTextMessage(cid,22,"Voce recebeu a benção de Isolda.") doPlayerAddBlessing(cid, 1) doPlayerAddBlessing(cid, 2) doSendMagicEffect(getPlayerPosition(cid),12) talk_state = 0 else selfSay('Sorry mortal, but you dont have this monney!') talk_state = 0 end else selfSay('Sorry but only can bless a mortal premmy.') talk_state = 0 end end end -- reset elseif talk_state == 6 then --rubys = (getPlayerLevel(cid)*4000)*(vezes*10)/1000000) if msgcontains(msg, 'yes') then if isPremium(cid) then if getPlayerLevel(cid) >= 500 then if getPlayerVocation(cid) >= 9 then --if pay(cid,(getPlayerLevel(cid)*4000)*(vezes*10)) then if getPlayerVocation(cid) == 13 then -- deuses if getPlayerLevel(cid) >= 510 then if getPlayerItemCount(cid,13685) >= rubys then selfSay('Welcome new god!') doPlayerSendTextMessage(cid,22,"Você resetou seu personagem.") health = getPlayerMaxHealth(cid) mana = getPlayerMaxMana(cid) doPlayerAbortExp(cid,getPlayerExperience(cid)) doPlayerIncExp(cid,4200) setPlayerMaxHealth(cid, (health/10)*(vezes+1)) doPlayerAddHealth(cid,(health/10)*(vezes+1)) setPlayerMaxMana(cid, (mana/45)*(vezes+13)) doPlayerAddMana(cid,(mana/45)*(vezes+13)) setPlayerMaxCapacity(cid,360) doPlayerAddMagicLevel(cid,30) doSendMagicEffect(getPlayerPosition(cid),12) doPlayerAddResets(cid,1) doPlayerRemoveItem(cid,13685,rubys) talk_state = 0 else selfSay('Sorry mortal, but you dont have this monney!') talk_state = 0 end else selfSay('Sorry, but only gods level 510 or above can do that!') talk_state = 0 end end if getPlayerVocation(cid) == 14 then if getPlayerLevel(cid) >= 510 then if getPlayerItemCount(cid,13685) >= rubys then selfSay('Welcome new god!') doPlayerSendTextMessage(cid,22,"Você resetou seu personagem.") health = getPlayerMaxHealth(cid) mana = getPlayerMaxMana(cid) doPlayerAbortExp(cid,getPlayerExperience(cid)) doPlayerIncExp(cid,4200) setPlayerMaxHealth(cid, (health/10)*(vezes+1)) doPlayerAddHealth(cid,(health/10)*(vezes+1)) setPlayerMaxMana(cid, (mana/45)*(vezes+13)) doPlayerAddMana(cid,(mana/45)*(vezes+13)) setPlayerMaxCapacity(cid,360) doPlayerAddMagicLevel(cid,30) doSendMagicEffect(getPlayerPosition(cid),12) doPlayerAddResets(cid,1) doPlayerRemoveItem(cid,13685,rubys) talk_state = 0 else selfSay('Sorry mortal, but you dont have this monney!') talk_state = 0 end else selfSay('Sorry, but only gods level 510 or above can do that!') talk_state = 0 end end if getPlayerVocation(cid) == 15 then if getPlayerLevel(cid) >= 510 then if getPlayerItemCount(cid,13685) >= rubys then selfSay('Welcome new god!') doPlayerSendTextMessage(cid,22,"Você resetou seu personagem.") health = getPlayerMaxHealth(cid) mana = getPlayerMaxMana(cid) doPlayerAbortExp(cid,getPlayerExperience(cid)) doPlayerIncExp(cid,4200) setPlayerMaxHealth(cid, (health/20)*(vezes+10)) doPlayerAddHealth(cid,(health/20)*(vezes+10)) setPlayerMaxMana(cid, (mana/25)*(vezes+7)) doPlayerAddMana(cid,(mana/25)*(vezes+7)) setPlayerMaxCapacity(cid,360) doPlayerAddMagicLevel(cid,2) doPlayerAddSkill(cid,4,25) doPlayerAddSkill(cid,5,25) doSendMagicEffect(getPlayerPosition(cid),12) doPlayerAddResets(cid,1) doPlayerRemoveItem(cid,13685,rubys) talk_state = 0 else selfSay('Sorry mortal, but you dont have this monney!') talk_state = 0 end else selfSay('Sorry, but only gods level 510 or above can do that!') talk_state = 0 end end if getPlayerVocation(cid) == 16 then if getPlayerLevel(cid) >= 510 then if getPlayerItemCount(cid,13685) >= rubys then selfSay('Welcome new god!') doPlayerSendTextMessage(cid,22,"Você resetou seu personagem.") health = getPlayerMaxHealth(cid) mana = getPlayerMaxMana(cid) doPlayerAbortExp(cid,getPlayerExperience(cid)) doPlayerIncExp(cid,4200) setPlayerMaxHealth(cid, (health/25)*(vezes+10)) doPlayerAddHealth(cid,(health/25)*(vezes+10)) setPlayerMaxMana(cid, (mana/15)*(vezes+6)) doPlayerAddMana(cid,(mana/15)*(vezes+6)) setPlayerMaxCapacity(cid,360) doPlayerAddSkill(cid,0,25) doPlayerAddSkill(cid,1,25) doPlayerAddSkill(cid,2,25) doPlayerAddSkill(cid,3,25) doPlayerAddSkill(cid,5,25) doPlayerAddMagicLevel(cid,2) doSendMagicEffect(getPlayerPosition(cid),12) doPlayerAddResets(cid,1) doPlayerRemoveItem(cid,13685,rubys) talk_state = 0 else selfSay('Sorry mortal, but you dont have this monney!') talk_state = 0 end else selfSay('Sorry, but only gods level 510 or above can do that!') talk_state = 0 end end if getResets(cid) <= 0 and getPlayerVocation(cid) >= 13 and getPlayerLevel(cid) >= 500 then setPlayerStorageValue(cid,7777,1) end if getPlayerVocation(cid) >= 9 and getPlayerVocation(cid) < 13 then -- semis if getPlayerItemCount(cid,6500) >= 25 then selfSay('Oh! Now you are a god!') if getPlayerVocation(cid) >= 9 and getPlayerVocation(cid) < 11 then doPlayerAddMagicLevel(cid,10) setPlayerMaxCapacity(cid,360) end if getPlayerVocation(cid) == 11 then doPlayerAddMagicLevel(cid,2) doPlayerAddSkill(cid,4,10) doPlayerAddSkill(cid,5,10) setPlayerMaxCapacity(cid,360) end if getPlayerVocation(cid) == 12 then doPlayerAddSkill(cid,0,10) doPlayerAddSkill(cid,1,10) doPlayerAddSkill(cid,2,10) doPlayerAddSkill(cid,3,10) doPlayerAddSkill(cid,5,10) setPlayerMaxCapacity(cid,360) end doPlayerSendTextMessage(cid,22,"Você evoluiu seu espírito a Deus.") doPlayerAbortExp(cid,getPlayerExperience(cid)) doPlayerIncExp(cid,4200) setPlayerMaxHealth(cid,185) doPlayerAddHealth(cid,185) setPlayerMaxMana(cid,35) doPlayerAddMana(cid,35) doPlayerSetVocation(cid, getPlayerVocation(cid)+4) doSendMagicEffect(getPlayerPosition(cid),12) doPlayerRemoveItem(cid,6500,25) talk_state = 0 else selfSay('Sorry, but you dont have the 25 Demoniac Essences!') talk_state = 0 end end else selfSay('Sorry, but only gods i can do that!') talk_state = 0 end else selfSay('Sorry, but only gods level 500 or above can do that!') talk_state = 0 end else selfSay('Sorry but only can reset a god premmy.') talk_state = 0 end end --end ------------------------------------------------ confirm no ------------------------------------------------ elseif msgcontains(msg, 'no') and (talk_state >= 1 and talk_state <= 34) then selfSay('Ok than.') talk_state = 0 end -- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so you do not have to take care of that yourself. return true end function teste(cid) end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) quero por para cobrar menos a cada reset, alguem sabe arruma isso ? ela ta cobrando muito caro para os reset
Postado Outubro 9, 2014 10 anos rubys = (getPlayerLevel(cid)*4000)*(vezes*30*4)/1000000 aqui tá a formula do dinheiro: é o level * 4000 * (qnts resets tem * 120) / 1000000 Só arrumar que fica do jeito que você quer
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.