Defozo |
Wysłany: Pon 18:05, 15 Sty 2007 Temat postu: [7.6][action] System Więzienia |
|
Zauważyłem że często gm-owie grożą banem lub deadem zamiast poprostu wsadzić kolesia do więzienia, jednak chyba większym powodem zmartwienia jest to że większość osób używa wulgaryzmów na ots-ie.
Dzisiaj chciałbym rozwiązać tą sprawę i zastosować system więzienia!
Gdy powiemy wulgaryzm npc wsadza do więzienia, a aby wyjść trzeba zapłacić!
Jeśli nie uda się tego zrobić służę pomocą.
Mianowicie, zaczynamy:
1. Na mapie robimy więzienie.
2. W ...\ots\data\npc\scripts\ robimy plik o nazwie kyl.lua
A w nim:
Kod: | target = 0
following = false
attacking = false
function onThingMove(creature, thing, oldpos, oldstackpos)
end
function onCreatureAppear(creature)
end
function onCreatureDisappear(cid, pos)
end
function onCreatureTurn(creature)
end
function onCreatureSay(cid, type, msg)
msg = string.lower(msg)
if (string.find(msg, '(%a*)fuck(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)shit(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)"natychmiast przeproś!!!!!!"(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)dup(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)kurw(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)huj(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)ciul(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)jeb(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)dup(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)dick(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)pussy(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)passy(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)numer(%a*)')) then
selfSay('/kick ' .. creatureGetName(cid) .. '')
elseif (string.find(msg, '(%a*)haslo(%a*)')) then
selfSay('/kick ' .. creatureGetName(cid) .. '')
elseif (string.find(msg, '(%a*)wkur(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)wypier(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
elseif (string.find(msg, '(%a*)ots jest do(%a*)')) then
selfSay('/send ' .. creatureGetName(cid) .. ', 92 35 5')
end
end
function onCreatureChangeOutfit(creature)
end
function onThink()
end
|
3. w tym folderze scripts tworzymy znowu plik o nazwie "straznik w.lua"
A w nim:
Kod: | focus = 0
talk_start = 0
target = 0
following = false
attacking = false
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
if isPremium(cid) then
selfSay('Hello ' .. creatureGetName(cid) .. '! Jestem straznikiem tego wiezienia! zeby wyjsc z tad musisz mi zaplacic (100gps) HAHAHAHAHAHAHA [przepraszam] [bye]')
focus = cid
talk_start = os.clock()
else
selfSay('Sorry, Tylko premium account moze z tad wyjsc!!!.')
focus = 0
talk_start = 0
end
elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
selfSay('Poczekaj, ' .. creatureGetName(cid) .. '! Porozmawiam z toba za minutke.')
elseif focus == cid then
talk_start = os.clock()
if msgcontains(msg, 'przepraszam') then
if pay(cid,100) then
selfSay('Przeprosiny przyjete!')
selfSay('/send ' .. creatureGetName(cid) .. ', 377 209 7')
focus = 0
talk_start = 0
else
selfSay('UHAHAHAHA NIE MASZ KASY HAUHAHAHAHA!!!')
end
elseif msgcontains(msg, 'Serdecznie Przepraszam') then
if pay(cid,100) then
selfSay('Przeprosiny Przyjete :D')
selfSay('/send ' .. creatureGetName(cid) .. ', 377 209 7')
focus = 0
talk_start = 0
else
selfSay('HEUHAHEUHAHAHAHA NIE MASZ KASY!!!! ABUHAHAHAHAHAHA')
end
elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then
selfSay('Good bye, ' .. creatureGetName(cid) .. '!')
focus = 0
talk_start = 0
end
end
end
function onCreatureChangeOutfit(creature)
end
function onThink()
if (os.clock() - talk_start) > 30 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
|
4. W folderze "npc" robimy plik o nazwie: "straznik w.xml"
A w nim:
Kod: | <?xml version="1.0"?>
<npc name="Straznik Wiezienia" script="data/npc/scripts/straznik w.lua" access="3">
<look type="133" head="19" body="114" legs="94" feet="94"/>
</npc>
|
5. Znowu w folderze npc tworzymy nowy plik o nazwie: Policjant.xml
A w nim:
Kod: | <?xml version="1.0"?>
<npc name="Policjant" script="data/npc/scripts/kyl.lua" access="3">
<look type="134" head="88" body="88" legs="88" feet="114"/>
</npc>
|
6. Poprawiamy współrzędne zgodnie z naszymi danymi z ots-a.
7. Odpalamy ots-a, Testujemy System Więzienia.
Wrazie problemów pisać na GG lub na ots-ie.
Pozdro... |
|