Innowacyjne łowienie
PRzeSteR
Innowacyjne łowienieWitam 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
Ł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