[LUA] Przekształcanie skryptu

Marzia

PL Artist & FunCorp & Fashion Squad & Tester
Artist
FunCorp
Fashion Squad
Tester
Przekształcanie skryptu

~Niektóre skrypty wymagają przekształcenia, a to nie zawsze jest jasne.~
Postaram się wyjaśnić w tym wątku jak zmienić niektóre skrypty.

function eventChatCommand(playerName, komd)
if komd =="vampire" then
tfm.exec.setVampirePlayer(playerName)
end
end


^Jest to prosty przykład skryptu, dzięki któremu po wpisaniu komendy !vampire nasza myszka zmieni się w wampira.
Wyrazy, które zostały pogrubione oraz pokolorowane są wyrazami, które można zmienić w każdym skrypcie. Inaczej mówiąc, jeżeli zmienimy te wyrazy na przykładowo:

function eventChatCommand(playerName, cmd)
if cmd =="vamp" then
tfm.exec.setVampirePlayer(playerName)
end
end


To skrypt będzie działał równie dobrze, ale zamiast !vampire musimy wpisać !vamp

function eventChatCommand(playerName, komd)
if komd =="vamp" then
tfm.exec.setVampirePlayer(playerName)
end
end


Więc ponownie mamy zwykły skrypt i również możemy go edytować. My jednak nie chcemy, aby każdy mógł wpisać tę komendę, a jedynie wyznaczona myszka przez osobę wczytującą skrypt. W tym przypadku można dodać "admina" skryptu, który będzie mógł użyć danej komendy.

admin = 'The_euphoria'

isAdmin = function(playerName)
if playerName == admin then
return true
else
return false
end
end


function eventChatCommand(playerName, komd)
if komd =="vamp" and isAdmin(playerName) == true then
tfm.exec.setVampirePlayer(playerName)
end
end


W miejscu pomiędzy '' należy wpisać swoją nazwę, lub osoby, która ma otrzymać możliwość wpisania tej komendy.

admin='Nazwa'

admin = 'The_euphoria'

isAdmin = function(playerName)
if playerName == admin then
return true
else
return false
end
end

function eventChatCommand(playerName, komd)
if komd =="praca" then
ui.addPopup(0, 0, "<p align='center'><font size='20'>JOB CENTER</font></P>\n<a href='event:shop'><B><J><font size='10'><p align='center'>JOBS</font><p></J></B></a>", nil, 296, 148, 200, true)
print("<ROSE><B>"..playerName.."</B> użył/-a komendy 'praca'.</ROSE>")
elseif komd =="mort" then
tfm.exec.killPlayer(playerName)
print("<ROSE><B>"..playerName.."</B> użył/-a komendy 'mort'.</ROSE>")
elseif komd =="pianka" then
tfm.exec.playEmote(playerName, 11, arg)
print("<ROSE><B>"..playerName.."</B> użył/-a komendy 'pianka'.</ROSE>")
elseif komd =="nick" and isAdmin(playerName) == true then
tfm.exec.setNameColor(playerName, 0xBD1E1B)
print("<ROSE><B> • [Wódz] "..playerName.."</B> użył/-a zmiany koloru nazwy na czerwony.</ROSE>")
end
end


Pora na bardziej rozbudowany skrypt. Na jego podstawie pokażę jak go przekształcić, aby komendy:
- Działały dla myszek oraz admina skryptu
- Działały jedynie dla admina skryptu


Zwracamy uwagę tylko na pogrubione linijki. Komendy, które zadziałają i dla myszek, i dla admina składają się tylko z elseif, komd, ==, "komenda" oraz then
natomiast, jeżeli chcemy by dana komenda działała tylko dla admina skryptu, należy po "komenda" dodać "and isAdmin(playerName) == true
Przerobiona linijka komendy mort:


elseif komd =="mort" then Działa dla myszek i admina skryptu
elseif komd =="mort" and isAdmin(playerName) == true then Działa tylko dla admina skryptu

Dziękuję Ikishy @Ikishy oraz Yave @Yave za pomoc w testowaniu powyższych skryptów.
 

Yave

PL Mod, Artist & FunCorp
Moderator
Artist
FunCorp
Może wypróbuje!
 
Top
"Dev-TR" theme by Soulzone