• 01-04.05.2026 - DOUBLE EXP / SKILL EVENT!

-Skrypt (NPC) NPC sprzedaj?cy za itemy

Status
Zamknięty.

kondzio_8888

Active User
Zarejestrowany
Dołączył
Kwiecień 5, 2008
Posty
111
Liczba reakcji
4
Witam!
Poszukuje skryptu dla NPC z tabel? konfiguracji , jednak walut? dla tego NPC nie b?dzie pieni?dz tylko item o id: 2144 oraz jego odpowiednia ilo?? w zale?no?ci od kupowanego przedmiotu. W miar? mo?liwo?ci chcia?bym ?eby by?o to w tabeli buy/sell , je?li to jednak nie mo?liwe to trudno mo?e by? na pisanie itemu. Silnik TFS 0.3.6 client 8.54.


Za pomoc rep ++
 
Odp: (NPC) NPC sprzedaj?cy za itemy

Co? takiego na szybko napisa?em



data/npc/scripts tworzysz plik sprzedawca.lua i wklejasz :

[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(msgcontains(msg, 'tak')) then
selfSay('Sprzedaje worki. {green bag} (20 black pearls), {yellow bag} (30 black pearls), {red bag} (40 black pearls), {blue bag} (50 black pearls). ', cid) --This is just an example, In this script added 4 mission for you ;)
end
if(msgcontains(msg, 'green bag')) then
if(doPlayerRemoveItem(cid, 2144, 20) == TRUE) then -- 2144 to Twoja waluta, 20 to ile ma kosztowac zielony worek.
doPlayerAddItem(cid,1991,1 ) -- 1991 to ID zielonego worka, a 1 to ilosc.
selfSay('Kupiles Green Bag za 20 perel. Dziekuje ! ', cid) -- Wiadomosc gdy kupimy zielony worek za 20 perel.
else
selfSay('Nie masz wystarczajaco perel. ', cid) -- Jesli nie mamy wystarczajaco perel.

end
elseif(msgcontains(msg, 'yellow bag')) then -- 2144 to Twoja waluta, 30 to ile ma kosztowac zolty worek.
if(doPlayerRemoveItem(cid, 2144, 30) == TRUE) then
doPlayerAddItem(cid,1992,1 ) -- 1991 to ID zoltego worka, a 1 to ilosc.
selfSay('Kupiles Yellow Bag za 30 perel. Dziekuje ! ', cid) -- Wiadomosc gdy kupimy zolty worek za 30 perel.
else
selfSay('Nie masz wystarczajaco perel. ', cid) -- Jesli nie mamy wystarczajaca perel

end
elseif(msgcontains(msg, 'red bag')) then
if(doPlayerRemoveItem(cid, 2144, 40) == TRUE) then
doPlayerAddItem(cid,1993,1 )
selfSay('Kupiles Green Bag za 40 perel. Dziekuje ! ', cid)
else
selfSay('Nie masz wystarczajaco perel. ', cid)

end
elseif(msgcontains(msg, 'blue bag')) then
if(doPlayerRemoveItem(cid, 2144, 20) == TRUE) then
doPlayerAddItem(cid,1995,1 )
selfSay('Kupiles Green Bag za 50 perel. Dziekuje ! ', cid)
else
selfSay('Nie masz wystarczajaco perel. ', cid)

end



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

end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new()) [/LUA]


data/npc tworzysz Sprzedawca.xml, wklejasz :


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

<npc name="Sprzedawca" script="sprzedawca.lua" walkinterval="2000" floorchange="0">
<health now="200" max="200"/>
<look type="129" head="114" body="119" legs="114" feet="114" corpse="2212"/>
<parameters>
<parameter key="message_greet" value="Witaj |PLAYERNAME|. Sprzedaje worki, chcesz zapoznac sie z moja oferta ? {tak} / {bye} .?"/>
</parameters>

</npc>
[/LUA]

Testowane, u mnie dziala.

Pozdrawiam.

 
Status
Zamknięty.
Back
Do góry