What's new

Wodbo NPC daj?cy pacc

Status
Not open for further replies.

drakula691

User
Joined
Sep 11, 2009
Messages
15
Reaction score
0
je?li kto? wie jak zrobi? takiego lub je?li kto? wie gdzie ten lol i pijak kt?rzy daj? pacca niech pisz?
 

Help3R

Forum friend
Joined
Nov 5, 2010
Messages
1,356
Reaction score
265
Odp: Wodbo NPC daj?cy pacc

Tworzymy npc w data/npc /Premium Seller.xml i wklejamy:
Code:
<npc name="[Premium Seller]" script="data/npc/scripts/promote.lua" autowalk="0" floorchange="0" access="5" level="1" maglevel="1">
	<health now="150" max="150"/>
	<look type="75" head="132" body="79" legs="97" feet="132" corpse="2212"/>

</npc>
W data/npc/script tworzymy skrypt o nazwie promote.lua i wklejamy:
Code:
local focus = 0
local talk_start = 0
local target = 0
local days = 0

function onThingMove(creature, thing, oldpos, oldstackpos)

end


function onCreatureAppear(creature)

end


function onCreatureDisappear(cid, pos)
  	if focus == cid then
          selfSay('Good bye then.')
          focus = 0
          talk_start = 0
  	end
end


function onCreatureTurn(creature)

end


function msgcontains(txt, str)
  	return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end


function onCreatureSay(cid, type, msg)
  	msg = string.lower(msg)

  	if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
 		selfSay('Hello ' .. getCreatureName(cid) .. '! I sell premium.')
 		focus = cid
 		talk_start = os.clock()

	elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
  		selfSay('Sorry, ' .. getCreatureName(cid) .. '! I talk to you in a minute.')

  	elseif focus == cid then
		talk_start = os.clock()

		if msgcontains(msg, 'xdnjn') or msgcontains(msg, 'prodsmote') then
 			if getPlayerVocation(cid) > 4 then
 				selfSay('Sorry, you are already promoted.')
 				talk_state = 0
			elseif not isPremium(cid) then
				selfSay('Sorry, you must be premium to buy promotion.')
				talk_state = 0
			else
				selfSay('Do you want to buy promotion for 20k?')
				talk_state = 1
			end

		elseif msgcontains(msg, 'premium') or msgcontains(msg, 'premmy') then
			selfSay('Do you want 360 days of premium ?')
			talk_state = 2

		elseif talk_state == 1 then
			if msgcontains(msg, 'yes') then
				if pay(cid,10) then
					doPlayerSetVocation(cid, getPlayerVocation(cid)+4)
					selfSay('You are now promoted!')
				else
					selfSay('Sorry, you do not have enough money.')
				end
 			end
			talk_state = 0

		elseif talk_state == 2 then
			if msgcontains(msg, 'yes') then
				if pay(cid,1) then
					buyPrem(cid, 360)
					selfSay('You have 360 days of premium more!')
				else
					selfSay('Sorry, you do not have enough money.')
				end
			end
			talk_state = 0

  		elseif msgcontains(msg, 'bye')  and getDistanceToCreature(cid) < 4 then
  			selfSay('Good bye, ' .. getCreatureName(cid) .. '!')
  			focus = 0
  			talk_start = 0
  		end
  	end
end


function onThink()
	doNpcSetCreatureFocus(focus)
  	if (os.clock() - talk_start) > 45 then
  		if focus > 0 then
  			selfSay('Next Please...')
  		end
  			focus = 0
  	end
 	if focus ~= 0 then
 		if getDistanceToCreature(focus) > 5 then
 			selfSay('Good bye then.')
 			focus = 0
 		end
 	end
end
To ju? nie lepiej w configu.lua :
Code:
freepremium = "no"
Zmieni? na:
Code:
freepremium = "yes"
 
Last edited:

drakula691

User
Joined
Sep 11, 2009
Messages
15
Reaction score
0
Odp: Wodbo NPC daj?cy pacc

eh szybka ta odpowiedz thx za pomoc ale samemu mi sie uda?o jako? zrobic xd i teraz mam ostatnie pytanie jak sie zmienia ceny domk?w i pacca (po odpowiedzi do zamkni?cia)

EDIT:
Dobra do pacca ju? wiem a domek?
 
Last edited:

Help3R

Forum friend
Joined
Nov 5, 2010
Messages
1,356
Reaction score
265
Odp: Wodbo NPC daj?cy pacc

W config.lua masz linijk?:
Code:
-- Price for each SQM when buying a house
houseprice = 1000
houseprice = 1000- ile p?acisz za 1 kratk? w domku.

Notka moderatorska:
OT Expert, + 1pkt
 
Last edited by a moderator:
Status
Not open for further replies.
Top