What's new

NPC Misje (za misje otrzymujemy exp)

Status
Not open for further replies.

Kawon

?•Atania.Pl•?
Joined
Apr 16, 2008
Messages
1,577
Reaction score
48
Witam.

Zrobi?em kiedy? takiego npc wi?c mo?e si? on komu? przyda.
Nie chodzi mi o to ?e skopiujecie i dodacie do swojego ots'a bo
to bez sensu w og?le by?o bo misje s? banalne :)

Nie zwracajcie uwagi na nazwy npc u?yte w tym skrypcie i ustawcie
wed?ug swoich potrzeb.

NPC z mojego projektu LOTR nad kt?rym pracowa?em ale brak?o
wytrwa?o?ci do dzia?ania :) Jak co? to mam ca?e Shire zrobione :)


Tworzymy w data/npc plik bilbo.xml i wklejamy to:
PHP:
<npc name="Bilbo Baggins" script="data/npc/scripts/bilbo.lua" walkinterval="1" floorchange="0" access="5" level="1" maglevel="1">
<health now="100" max="100"/>
<look type="132" head="57" body="59" legs="40" feet="76" addons="3"/>
<parameters>
<parameter key="message_greet" value="Witaj |PLAYERNAME|. Z pewnoscia Gandalf Cie tu przyslal. Nim dostaniesz pierscien musisz dla mnie cos zrobic." />
</parameters>
</npc>

Teraz tworzymy w data/npc/scripts plik bilbo.lua i wklejamy to:
PHP:
------STORAGE-------
------100 do 104-------
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local item1 = 2666
local item2 = 2671
local item3 = 2667
local item4 = 2692
local item5 = 11128
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, 'pierscien')) then
selfSay('Nim otrzymasz pierscien musisz dla mnie cos zrobic, mam dla Ciebie 5 zadan, po wykonaniu ich otrzymasz jedyny pierscien. Pamietaj jednak ze nie mozesz go zgubic, chron go i nie dawaj nikomu.(aby rozpoczac misje wpisz pokolei MISJA1,MISJA2..)', cid)
end
---------------------------------------------------------
if(msgcontains(msg, 'misja1')) then
selfSay('Niedlugo wyruszam w podroz i potrzebuje paru rzeczy. Przynies mi 10 kawalkow miesa.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'mieso') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,100) > 0) then
selfSay('Wykonales juz ta misje.', cid)
else
if(doPlayerRemoveItem(cid, item1, 10) == TRUE) then
setPlayerStorageValue(cid,100,1)
doPlayerAddExperience(cid,1000)
selfSay('No dziekuje Ci za te mieso. (otrzymales 1000pkt doswiadczenia)', cid)
else
selfSay('Potrzebuje 10 kawalkow miesa..', cid)
end
end
return true
end
----------------------------------------------------------
if(msgcontains(msg, 'misja2')) then
selfSay('Przynies mi jeszcze 5 kawalkow szynki.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'szynka') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,100) < 1) then
selfSay('Najpierw przynies mi 10 kawalkow miesa.', cid)
else
if (getPlayerStorageValue(cid,101) > 0) then
selfSay('Wykonales juz ta misje.', cid)
else
if(doPlayerRemoveItem(cid, item2, 5) == TRUE) then
setPlayerStorageValue(cid,101,1)
doPlayerAddExperience(cid,1500)
selfSay('Dzieki za szynke (otrzymujesz 1500pkt doswiadczenia)', cid)
else
selfSay('Potrzebuje 5 kawalkow szynki..', cid)
end
end
end
return true
end
----------------------------------------------------------
if(msgcontains(msg, 'misja3')) then
selfSay('Bede potrzebowal jeszcze 15 ryb.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'ryby') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,101) < 1) then
selfSay('Najpierw przynies mi 10 kawalkow miesa i 5 kawalkow szynki.', cid)
else
if (getPlayerStorageValue(cid,102) > 0) then
selfSay('Wykonales juz ta misje.', cid)
else
if(doPlayerRemoveItem(cid, item3, 15) == TRUE) then
setPlayerStorageValue(cid,102,1)
doPlayerAddExperience(cid,2000, 1, 1)
selfSay('No bardzo ladne rybki, dziekuje. (otrzymales 2000pkt doswiadczenia)', cid)
else
selfSay('Potrzebuje 15 ryb..', cid)
end
end
end
return true
end
----------------------------------------------------------
if(msgcontains(msg, 'misja4')) then
selfSay('Przynies mi 10 sztuk maki, mozna ja kupic od Teda Sandmana albo samemu zrobic u niego w mlynie..', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'maka') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,102) < 1) then
selfSay('Wykonaj moje poprzednie polecenia..', cid)
else
if (getPlayerStorageValue(cid,103) > 0) then
selfSay('Wykonales juz ta misje.', cid)
else
if(doPlayerRemoveItem(cid, item4, 10) == TRUE) then
setPlayerStorageValue(cid,103,1)
doPlayerAddExperience(cid,2500, 1, 1)
selfSay('No tyle maki mi wystarczy (otrzymales 2500pkt doswiadczenia)', cid)
else
selfSay('Za malo tej maki..', cid)
end
end
end
return true
end
----------------------------------------------------------
if(msgcontains(msg, 'misja5')) then
selfSay('Znajdz Pippina i Merrego Brandybuckow, ukradli oni moja ksiazke. Bardzo mi na niej zalezy, bez niej nie udam sie w podroz. ', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'ksiazka') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,103) < 1) then
selfSay('Przynies najpierw mi jedzenie i make..', cid)
else
if (getPlayerStorageValue(cid,104) > 0) then
selfSay('Wykonales juz ta misje.', cid)
else
if(doPlayerRemoveItem(cid, item5, 1) == TRUE) then
setPlayerStorageValue(cid,104,1)
doPlayerAddExperience(cid,3000, 1, 1)
selfSay('Ooo dziekuje bardzo. Mam juz wszystko co mi potrzebne do podrozy. Masz tutaj Pierscien. (otrzymales Jedyny Pierscien i 3000pkt doswiadczenia)', cid)
else
selfSay('Potrzebuje ksiazki ktora ukradli Merry i Pippin..', cid)
end
end
end
return true
end
----------------------------------------------------------


----------------------------------------------------------
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())


Pozdrawiam
PS: Nie podoba si? nie korzystaj z niego.. skrypt przyda si? dla newbie
 

Voler

Active User
Joined
Aug 15, 2008
Messages
141
Reaction score
1
Odp: NPC Misje (za misje otrzymujemy exp)

Fajny skrypcior tylko go troszkie przerobi?, biore na sw?j ots :p
 

dantas

Advanced User
Joined
Dec 19, 2009
Messages
220
Reaction score
4
Age
28
Odp: NPC Misje (za misje otrzymujemy exp)

w ktorym momencie zmienia sie na swoj item?
np. przynies mi miecz.
jak ustawic jaki to ma byc miecz?


@@edit 100 post ^^
 

Sterger

Advanced User
Joined
Jun 2, 2008
Messages
217
Reaction score
10
Odp: NPC Misje (za misje otrzymujemy exp)

W?a?nie tego szuka?em, ojaaa cz?owieku super ?e to tu napisa?e? masz reputacj? i podzi?kowanie przyda si?! :hah: 10/10!
 
X

x3lio

Guest
Odp: NPC Misje (za misje otrzymujemy exp)

@@edit 100 post ^^
100 i tw?j ostatni.
'topic
Skrypt dobry, bardzo mi si? przyda?, aczkolwiek mo?naby go troche skr?ci?, lecz narazie jest dobrze.
Zas?u?y?es na reputa, lecz 30 post musi by?.
'x3lio
 

zeferu

Active User
Joined
Aug 14, 2009
Messages
77
Reaction score
1
Odp: NPC Misje (za misje otrzymujemy exp)

Spoko skrypt, najbardziej przyda sie do DB ots.
 

Crisek

User
Joined
Mar 20, 2010
Messages
16
Reaction score
0
Age
29
Odp: NPC Misje (za misje otrzymujemy exp)

Skrypt bardzo przej?y?cie napisany, ka?dy b?dzie wiedzia? jak go skonfigurowa?. Ten skrypt przyda si? na wszelkiego typu OTs'y RPG oraz jak kolega wspomnia? jakie? Anime OT.

Pozdrawiam Crisek.!
 

Valcorn

User
Joined
Mar 29, 2010
Messages
11
Reaction score
0
Odp: NPC Misje (za misje otrzymujemy exp)

Skrypt bardzo dobry. Przyda si? na r??nych serwerach nawet i moim ; ) Dobra robota 5/5 !
 

atania

User
Joined
Mar 31, 2010
Messages
16
Reaction score
0
Odp: NPC Misje (za misje otrzymujemy exp)

Dzi?ki wielki za ten skrypt ;)
U?y?em ju? go do stworzenia w?asnego npc z misjami i dzia?a znakomicie, zero bug?w
i wszystko bardzo czytelnie wyja?nione :)

Jak tylko wbije 30 post?w to reput leci :)
:p
 

Kopek14

Advanced User
Joined
May 19, 2008
Messages
226
Reaction score
10
Odp: NPC Misje (za misje otrzymujemy exp)

Mam problem z t? cz??ci?...
PHP:
if(msgcontains(msg, 'misja1')) then
selfSay('Niedlugo wyruszam w podroz i dobrej zbroji.Przynies mi demon armor.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'demon armor') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,10000000) > 0) then
selfSay('Wykonales juz ta misje.', cid)
else
if(doPlayerRemoveItem(cid, item1, 1) == TRUE) then
setPlayerStorageValue(cid,20000000,1)
doPlayerAddExperience(cid,20000000)
selfSay('No dziekuje Ci za te mieso. (otrzymales 10000000pkt doswiadczenia)', cid)
else
selfSay('Potrzebuje demon armor..', cid)
end
end
return true
end

Wszystko dzia?a, ale mo?na t? misj? powtarza? ca?y czas... Inne s? normalnie ju? zrobione tylko ta... CO mam zrobi??

/edit sorki ju? znalaz?em b?ad xD bana? ale co tam ;p
 
Last edited:

Kawon

?&#8226;Atania.Pl&#8226;?
Joined
Apr 16, 2008
Messages
1,577
Reaction score
48
Odp: NPC Misje (za misje otrzymujemy exp)

Od?wie?am :)
Jak wam si? podoba ten skrypt :)?
 

ximishe

New User
Joined
Apr 29, 2010
Messages
9
Reaction score
0
Odp: NPC Misje (za misje otrzymujemy exp)

Mam pytanie czy dziala ten npc pod TFS 2.x.x?
 

Kawon

?&#8226;Atania.Pl&#8226;?
Joined
Apr 16, 2008
Messages
1,577
Reaction score
48
Odp: NPC Misje (za misje otrzymujemy exp)

@UP:
Dzia?a tylko pod 0.3.4+
przynajmniej na tych testowa?em i ?miga

Pozdrawiam i od?wie?am..
 

Bufo

Advanced User
Joined
Dec 25, 2009
Messages
151
Reaction score
2
Age
30
Odp: NPC Misje (za misje otrzymujemy exp)

hmm... skrypt bardzo prosty poniewa? polega na szukaniu u gracza itema dawania graczowi item i storage a p??niej nast?pne i nast?pne lecz bardzo efektowny to chyba pierwszy taki npc kt?ry daje expa za "misie" jestem pe?en podziwu i gratuluje ?e w ko?cu kto? zechcia? ruszy? dupsko i to zrobi? ; d
Pozdrawiam
Bufo
 

Kawon

?&#8226;Atania.Pl&#8226;?
Joined
Apr 16, 2008
Messages
1,577
Reaction score
48
Odp: NPC Misje (za misje otrzymujemy exp)

@UP:
Prosty jest ale nie dla wszystkich :) niekt?rzy nie umiej? go u?y? nawet, chocia?
maj? gotowca na tacy ;) jest to pierwszy taki npc w sieci, mo?e teraz si? pojawi?y
inne ale jako pierwszy go udost?pni?em

@Topic:
Od?wie?am
(pisz? bo kochani moderatorzy by mi warna dali, bo my?l? ?e czym wi?cej warn?w tym szybciej awanasuj? ;* )
Notka moderatorska:
www.atania.pl zapraszamy!! /Devv

Szkoda mi czasu na pisanie tego bo i tak b?d? po waszej stronie ;)
Ta wiadomo?? nie jest do wszystkich mod?w wi?c si? nie stresowa?
 
Last edited:

Texonn

User
Joined
May 19, 2010
Messages
17
Reaction score
0
Odp: NPC Misje (za misje otrzymujemy exp)

Dzi?ki co pomog?e? daje repa..
 

sqlitestudio

Active User
Joined
Jun 22, 2010
Messages
65
Reaction score
3
Odp: NPC Misje (za misje otrzymujemy exp)

skrypt bardzo dobry, przyda? si?, Poniewa? kolegi kolega szuka? w?a?nie takiego czego? na sw?j serwer... skrypt przydatny b?dzie na r??nych serwerach, a no pom?g? mojemu znajomemu :p
skrypt oceniam 5/5 ...
Ciekawe ciekawe ;)
 

Kawon

?&#8226;Atania.Pl&#8226;?
Joined
Apr 16, 2008
Messages
1,577
Reaction score
48
Odp: NPC Misje (za misje otrzymujemy exp)

R.E.F.R.E.S.H

avatar34117_3.gif
 

Oskar

Forum friend
Joined
Jan 24, 2009
Messages
2,256
Reaction score
331
Odp: NPC Misje (za misje otrzymujemy exp)

Skrypt strasznie nieefektywny, ma?o wydajny i co najwa?niejsze - zdecydowanie za d?ugi. Powtarzasz t? sam? tre?? kodu kilkakrotnie co nie jest dobrym rozwi?zaniem. Jednak?e mimo wszystko gratuluj? napisania tego skryptu, gdy? ~86% ludzi nie potrafi pisa? skrypt?w na NPCty.
 

Kawon

?&#8226;Atania.Pl&#8226;?
Joined
Apr 16, 2008
Messages
1,577
Reaction score
48
Odp: NPC Misje (za misje otrzymujemy exp)

Ten skrypt jest nie efektowny ale to ma by? tylko szablon i ka?dy powinien sobie
go ustawi? wed?ug w?asnych upodoba?. Jest troch? d?ugi ale nie lubi? pisa? NPC
bo ?rednio mi to wychodzi ale na tego by?em zmuszony :D

My?l? ?e przyda si? w wielu projektach RPG :)
Dzi?ki za komentarz..
 
Status
Not open for further replies.
Top