Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Nome: NPC De misso que a recompença e EXP

Creditos: Kawon

Boa Tarde, Trago a voces Hoje o NPC De missao, que a recompença e EXP, Voce presisa Catar tantos items, e a recompença é em EXP!

Bem Vamos la:

Crie um Arquivo Chamado Mission.xml dentro da pasta data/npc e Cole o seguinte codigo no NPC:


<?xml version="1.0" encoding="UTF-8"?>

<npc name="Mission" script="mission.lua" walkinterval="2000" floorchange="0">

	<health now="100" max="100"/>

	<look type="325" head="29" body="4" legs="20" feet="96" addons="3" corpse="2212"/>

	<parameters>

    	<parameter key="message_greet" value="Hello |PLAYERNAME|. What brings you to me? You want start the {quest}?"/>

	</parameters>

</npc>

Pronto, Agora crie um arquivo chamado mission.lua dentro da pasta data/npc/scripts e cole isso dentro:

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, 'quest')) then

selfSay('To start this quest tell {mission}', cid) --This is just an example, In this script added 4 mission for you 

end

	if(msgcontains(msg, 'mission')) then

    	if(getPlayerStorageValue(cid,700) < 1) then

        	selfSay('Your first mission will be to get 100 {tarantula egg}.', cid)

        	talkState[talkUser] = 1

    	elseif (getPlayerStorageValue(cid,701) < 1) then

            	selfSay('Your next mission will be to get 150 {strands of medusa hair}.', cid)

            	talkState[talkUser] = 1

    	elseif (getPlayerStorageValue(cid,702) < 0) then

            	selfSay('Your next mission will be to get 300 {red dragon scales}.', cid)

            	talkState[talkUser] = 1

    	elseif (getPlayerStorageValue(cid,703) < 0) then

            	selfSay('Your next mission will be to get 400 {green dragon scales}.', cid)

            	talkState[talkUser] = 1





    	elseif (getPlayerStorageValue(cid,703) == 1) then --zmieniac w zaleznosci od ostatniego storage!!

            	selfSay('You have done all missions.', cid)

            	talkState[talkUser] = 1





    	end

    	---------------------------------------

    	elseif(msgcontains(msg, 'tarantula egg') and talkState[talkUser] == 1 and (getPlayerStorageValue(cid,700) < 1)) then

    	if(doPlayerRemoveItem(cid, 11198, 100) == TRUE) then

        	setPlayerStorageValue(cid,700,1)

        	doPlayerAddPercentLevel(cid, 5)

        	selfSay('Thank you.', cid)

        	talkState[talkUser] = 0

    	else

        	selfSay('To end mission you need have 100 {tarantula egg}.', cid)

    	end

    	---------------------------------------

    	elseif(msgcontains(msg, 'strands of medusa hair') and talkState[talkUser] == 1  and (getPlayerStorageValue(cid,701) < 1) and (getPlayerStorageValue(cid,700) == 1)) then

    	if(doPlayerRemoveItem(cid, 11226, 150) == TRUE) then

        	setPlayerStorageValue(cid,701,1)

        	doPlayerAddPercentLevel(cid, 7)

        	selfSay('Thank you.', cid)

        	talkState[talkUser] = 0

    	else

        	selfSay('To end mission you need have 150 {strands of medusa hair}.', cid)

    	end

    	---------------------------------------

    	elseif(msgcontains(msg, 'red dragon scales') and talkState[talkUser] == 1  and (getPlayerStorageValue(cid,702) < 1) and (getPlayerStorageValue(cid,701) == 1)) then

    	if(doPlayerRemoveItem(cid, 5882, 300) == TRUE) then

        	setPlayerStorageValue(cid,702,1)

        	doPlayerAddPercentLevel(cid, 6)

        	selfSay('Thank you.', cid)

        	talkState[talkUser] = 0

    	else

        	selfSay('To end mission you need have 300 {red dragon scales}.', cid)

    	end

    	---------------------------------------

    	elseif(msgcontains(msg, 'green dragon scales') and talkState[talkUser] == 1 and (getPlayerStorageValue(cid,703) < 1) and (getPlayerStorageValue(cid,702) == 1)) then

    	if(doPlayerRemoveItem(cid, 5920, 400) == TRUE) then

        	setPlayerStorageValue(cid,703,1)

        	doPlayerAddPercentLevel(cid, 5)

        	selfSay('Thank you.', cid)

        	talkState[talkUser] = 0

    	else

        	selfSay('To end mission you need have 400 {green dragon scales}.', cid)

    	end

    	------------------------------------------


	end

end    

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

[/code]


 

Pronto, Agora Va em [b]data/lib/[/b] e abra o Arquivo [b]050-funcion.lua [/b]e cole a seguinte funçao:[b] [/b](function by Oskar1121 (Otland))

 

[code] function doPlayerAddPercentLevel(cid, percent) local player_lv, player_lv_1 = getExperienceForLevel(getPlayerLevel(cid)), getExperienceForLevel(getPlayerLevel(cid)+1) local percent_lv = ((player_lv_1 - player_lv) / 100) * percent doPlayerAddExperience(cid, percent_lv) end

Bem é isso, Comentem!

Editado por Dudu Ruller (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 years later...

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo