ďťż

Innowacyjne łowienie

PRzeSteR

Innowacyjne łowienie
  Witam wszystkich serdecznie. Ze względu na to, iż nie znalazłem takiego tematu postanowiłem go napisać. Niedawno, jak zwykle, nudząc się napisałem skrypt na łowienie ryb. Pewnie powiecie "Łowienie ryb? Przecież to jest w każdym silniku!", a ja na to odpowiem "No chyba cię pojebało...". Otóż jest to ulepszona i zmieniona wersja tamtych skryptów.

Wersja 1.0
Co nowego?
Cytat:
Możemy złowić 6 różnych rzeczy
    lfishbone (ID: 2226) - śmiećl
    lfish (ID: 2667) - rybal
    lnorthern pike (ID: 2669) - rybal
    lfish remains (ID: 2240) - śmiećl
    lgreen perch (ID: 7159) - rybal
    lrainbow trout (ID: 7158) - rybal
Nie łowimy zwykłymi robakami. Używamy do tego Jummy Gummy Worm (ID: 9005).
Łowimy tylko na wodach jeziorowych podziemnych (ID: 493)
Używamy do tego mechanicznej wędki (ID: 10223)
Instalacja
W folderze FOLDER GŁÓWNY SILNIKA/data/action/scripts/ tworzymy plik lowienie.lua i wpisujemy do niego:
Kod: -- Od Szakiego (Szkal96) dla użytkowników Tibia.net.pl
function onUse(cid, item, fromPosition, itemEx, toPosition)
local waterIds = {493}
local JGWorm = 9005
local losowaRyba = math.random(1,10)
        if isInArray(waterIds, itemEx.itemid) == TRUE then
                doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
                doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
                if getPlayerItemCount(cid,JGWorm) >= 1 then
                        if doPlayerRemoveItem(cid,JGWorm,1) == TRUE then
                                if math.random(1, (50 + (getPlayerSkill(cid, SKILL_FISHING) / 10))) <= getPlayerSkill(cid, SKILL_FISHING) then
                                        if itemEx.actionid == actionId then
                                                if losowaRyba == 1 then
                                                        doPlayerAddItem(cid,7158,math.random(0,3))
                                                elseif losowaRyba == 2 then
                                                        doPlayerAddItem(cid,7159,math.random(0,3))
                                                elseif losowaRyba >= 3 and losowaRyba <= 4 then
                                                        doPlayerAddItem(cid,2240,math.random(0,3))
                                                elseif losowaRyba >= 5 and losowaRyba <= 6 then
                                                        doPlayerAddItem(cid,2669,math.random(0,3))
                                                elseif losowaRyba >= 7 and losowaRyba <= 8 then
                                                        doPlayerAddItem(cid,2667,math.random(0,3))
                                                elseif losowaRyba >= 9 and losowaRyba <= 10 then
                                                        doPlayerAddItem(cid,2226,math.random(0,3))
                                                end
                                        else
                                                if losowaRyba == 1 then
                                                        doPlayerAddItem(cid,7158,math.random(0,3))
                                                elseif losowaRyba == 2 then
                                                        doPlayerAddItem(cid,7159,math.random(0,3))
                                                elseif losowaRyba >= 3 and losowaRyba <= 4 then
                                                        doPlayerAddItem(cid,2240,math.random(0,3))
                                                elseif losowaRyba >= 5 and losowaRyba <= 6 then
                                                        doPlayerAddItem(cid,2669,math.random(0,3))
                                                elseif losowaRyba >= 7 and losowaRyba <= 8 then
                                                        doPlayerAddItem(cid,2667,math.random(0,3))
                                                elseif losowaRyba >= 9 and losowaRyba <= 10 then
                                                        doPlayerAddItem(cid,2226,math.random(0,3))
                                        end
                                end
                        end
                else
                        doPlayerSendTextMessage(cid,22,'You dont have jummy gummy worm.')
                end
        end
return TRUE
end Następnie wracamy o folder w tył i otwieramy plik actions.xml. Między <actions> a </actions> dopisujemy:
Kod:         <action itemid="10223" script="tools/lowienie.lua" allowfaruse="1"/> [/QUOTE]
Edycja skryptu
[QUOTE]local waterIds = {493} - ID wód, w których można łowić (oddzielone przecinkiem i spacją (, )).
local JGWorm = 9005 - ID robaka (jest ustawione ja Jummy Gummy Worm)

Wersja 2.0
Tym razem jeśli na wodzie będzie Action ID zadeklarowane wcześniej nie wyłowimy żadnych śmieci, ponieważ jest to woda z bardzo czystych źródeł, tuż przy nich albo wymyślcie coś ciekawego. A jeśli nie ma aID, wtedy działa tak jak wcześniej. Wszystko robimy tak jak wcześniej tylko wpisujemy ten kod do skryptu:
Kod: -- Od Szakiego (Szkal96) dla użytkowników Tibia.net.pl
function onUse(cid, item, fromPosition, itemEx, toPosition)
local waterIds = {493}
local JGWorm = 9005
local losowaRyba = math.random(1,10)
local actionId = 5009
        if isInArray(waterIds, itemEx.itemid) == TRUE then
                doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
                doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
                if getPlayerItemCount(cid,JGWorm) >= 1 then
                        if doPlayerRemoveItem(cid,JGWorm,1) == TRUE then
                                if math.random(1, (50 + (getPlayerSkill(cid, SKILL_FISHING) / 10))) <= getPlayerSkill(cid, SKILL_FISHING) then
                                        if itemEx.actionid == actionId then
                                                if losowaRyba == 1 then
                                                        doPlayerAddItem(cid,7158,math.random(0,3))
                                                elseif losowaRyba == 2 then
                                                        doPlayerAddItem(cid,7159,math.random(0,3))
                                                elseif losowaRyba >= 3 and losowaRyba <= 5 then
                                                        doPlayerAddItem(cid,2669,math.random(0,3))
                                                elseif losowaRyba >= 6 and losowaRyba <= 10 then
                                                        doPlayerAddItem(cid,2667,math.random(0,3))
                                                end
                                        else
                                                if losowaRyba == 1 then
                                                        doPlayerAddItem(cid,7158,math.random(0,3))
                                                elseif losowaRyba == 2 then
                                                        doPlayerAddItem(cid,7159,math.random(0,3))
                                                elseif losowaRyba >= 3 and losowaRyba <= 4 then
                                                        doPlayerAddItem(cid,2240,math.random(0,3))
                                                elseif losowaRyba >= 5 and losowaRyba <= 6 then
                                                        doPlayerAddItem(cid,2669,math.random(0,3))
                                                elseif losowaRyba >= 7 and losowaRyba <= 8 then
                                                        doPlayerAddItem(cid,2667,math.random(0,3))
                                                elseif losowaRyba >= 9 and losowaRyba <= 10 then
                                                        doPlayerAddItem(cid,2226,math.random(0,3))
                                        end
                                end
                        end
                else
                        doPlayerSendTextMessage(cid,22,'You dont have jummy gummy worm.')
                end
        end
return TRUE
end Cytat:
local waterIds = {493} - ID wód, w których można łowić (oddzielone przecinkiem i spacją (, )).
local JGWorm = 9005 - ID robaka (jest ustawione ja Jummy Gummy Worm)
local actionId = 5009 - Action ID w wodzie czystej (bez ości i zdechłych ryb)
Zastrzegam sobie prawa do tego skryptu. Zabraniam kopiowania bez mojej zgody.
Pozdrawiam,
Szaki.



  hmm... bardzo fajny skrypt... choć można dać zwykłą wędkę i powiedzieć że to advance fishing... btw.
zrób V2 w którym działało na dowolną wodę o jakimś action id... a jeśli nie było by tam tego action id to by łowiło jak normalna wędka? ;]

  Bardzo Ciekawy skrypt na ots Rpg

  Bardzo ciekawe, niczego podobnego nie widziałem na tym forum.
Fajnie że dodałeś szanse na złowienie śmieci i innych ryb bo do tych czas łowiliśmy tylko i wyłącznie "fish" zwykłe, no cóż ocena 8/10 ;)



  troche nie logiczne bo przecież jak nieżywa ryba może się złapać na wędke? ;d Ale to jest tylko gra, a w niej dużo rzeczy jest takich. Za skrypt 7/10

  pytanko czy mozna przerobic ten skrypt zeby zamiast lowic ryby i smieci to monsterki ?

  Bardzo ciekawy skrypt, na pewno przyda się na jakimś projekcie rpg jak i fun serwerach :). Ocena 9,5/10
Copyright (c) 2009 PRzeSteR | Powered by Wordpress. Fresh News Theme by WooThemes - Premium Wordpress Themes.