Forum www.rekulaportal.fora.pl Strona Główna
Home - FAQ - Szukaj - Użytkownicy - Grupy - Galerie - Rejestracja - Profil - Zaloguj się, by sprawdzić wiadomości - Zaloguj
[LUA][8.1] Skrypt na pływanie.

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.rekulaportal.fora.pl Strona Główna -> Skrypty
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Error
Początkujący


Dołączył: 11 Sty 2008
Posty: 17
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Sob 12:27, 12 Sty 2008    Temat postu: [LUA][8.1] Skrypt na pływanie.

Witam

Poradnik nie mój, więc proszę nie oceniać.

Zawsze chciałeś aby można było pływać na twoim serwerze?
Już możesz to zrobić Wink .

WAżNE
Skrypt działa wyłącznie pod silnik "The Forgotten Server"!
(Po lekkich modyfikacjach, dało by się zrobić aby skrypt działał na innym silniku, lecz zależy jakie funkcje LUA ma dany silnik).

1. Robimy plik o nazwie "swimming.lua"
Cytat:
data/movements/scripts/swimming.lua

2. Wklejamy ten skrypt, do pliku "swimming.lua":
Cytat:
function onStepIn(cid, item, position, fromPosition)
--Skrypt na plywanie by Slawkens
plywavalue = 3330
nurek = { lookType = 267, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
zwykly = { lookType = getPlayerStorageValue(cid, 3331), lookHead = getPlayerStorageValue(cid, 3332), lookBody = getPlayerStorageValue(cid, 3333), lookLegs = getPlayerStorageValue(cid, 3334), lookFeet = getPlayerStorageValue(cid, 3335), lookAddons = getPlayerStorageValue(cid, 3336) }
czyplywa = getPlayerStorageValue(cid, plywavalue)
if (czyplywa == -1) or (czyplywa == 2) then
pozycja = {x = 124, y = 58, z= 7}
if item.itemid == 4632 then
pozycja = {x = position.x, y = position.y - 2, z = position.z}
elseif item.itemid == 4633 then
pozycja = {x = position.x - 2, y = position.y, z = position.z}
elseif item.itemid == 4634 then
pozycja = {x = position.x, y = position.y + 2, z = position.z}
elseif item.itemid == 4635 then
pozycja = {x = position.x + 2, y = position.y, z = position.z}
elseif item.itemid == 4636 then
pozycja = {x = position.x + 2, y = position.y + 1, z = position.z}
elseif item.itemid == 4637 then
pozycja = {x = position.x - 2, y = position.y + 1, z = position.z}
elseif item.itemid == 4638 then
pozycja = {x = position.x + 2, y = position.y - 1, z = position.z}
elseif item.itemid == 4639 then
pozycja = {x = position.x - 2, y = position.y - 1, z = position.z}
elseif item.itemid == 4640 then
pozycja = {x = position.x + 2, y = position.y + 2, z = position.z}
elseif item.itemid == 4641 then
pozycja = {x = position.x - 2, y = position.y + 2, z = position.z}
elseif item.itemid == 4642 then
pozycja = {x = position.x + 2, y = position.y - 2, z = position.z}
elseif item.itemid == 4643 then
pozycja = {x = position.x - 2, y = position.y - 2, z = position.z}
end
setPlayerStorageValue(cid, 3331, getCreatureOutfit(cid).lookType)
setPlayerStorageValue(cid, 3332, getCreatureOutfit(cid).lookHead)
setPlayerStorageValue(cid, 3333, getCreatureOutfit(cid).lookBody)
setPlayerStorageValue(cid, 3334, getCreatureOutfit(cid).lookLegs)
setPlayerStorageValue(cid, 3335, getCreatureOutfit(cid).lookFeet)
setPlayerStorageValue(cid, 3336, getCreatureOutfit(cid).lookAddons)
setPlayerStorageValue(cid, plywavalue, 1)
doSetCreatureOutfit(cid, nurek, 600000)
doTeleportThing(cid, pozycja, TRUE)
doSendMagicEffect(position, 2)
doSendMagicEffect(pozycja, 53)
elseif czyplywa == 1 then
if item.itemid == 4632 then
kierunek = 2
elseif item.itemid == 4633 then
kierunek = 1
elseif item.itemid == 4634 then
kierunek = 0
elseif item.itemid == 4635 then
kierunek = 3
elseif item.itemid == 4636 then
kierunek = 3
elseif item.itemid == 4637 then
kierunek = 1
elseif item.itemid == 4638 then
kierunek = 3
elseif item.itemid == 4639 then
kierunek = 2
elseif item.itemid == 4640 then
kierunek = 3
elseif item.itemid == 4641 then
kierunek = 1
elseif item.itemid == 4642 then
kierunek = 3
elseif item.itemid == 4643 then
kierunek = 1
end
doSetCreatureOutfit(cid, zwykly, 1)
doMoveCreature(cid, kierunek)
setPlayerStorageValue(cid, plywavalue, 2)
end
return TRUE
end
[code]

Teraz pozostało nam zadeklarować naszą kratke.

data/movements/movements.xml
[code]
<!-- Swimming -->
<movevent event="StepIn" actionid="3333" script="swimming.lua"/>

3. Następnie zmieniamy w Map Editorze Action Id brzegów z "0", na "3333".
4. Potem id wody musi mieć następujący kod "4622".
5. Po tych krokach ustawiamy na wodzie "PROTECTION ZONE", aby nie wyskakiwały nam tak zwane "Crashe" na serwerze.

Pozdrawiam error Wink .

//Rekyza: Pozwoliłem sobie zmienić nazwe tematu..


Ostatnio zmieniony przez Error dnia Sob 12:33, 12 Sty 2008, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Rekyza
Administrator


Dołączył: 05 Sty 2008
Posty: 18
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Lubaczów

PostWysłany: Pon 14:10, 14 Sty 2008    Temat postu:

Fajny skrypt tylko że nie twój..
Napewno przyda się wielu userom Wink
Powrót do góry
Zobacz profil autora
aaa4
Prawie Gość


Dołączył: 15 Lut 2017
Posty: 4
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Czw 12:29, 16 Mar 2017    Temat postu:

i fajowo
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.rekulaportal.fora.pl Strona Główna -> Skrypty Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB
Appalachia Theme © 2002 Droshi's Island