Autor Wiadomość
Defozo
PostWysł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...

Powered by phpBB © 2001, 2005 phpBB Group