Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2015-07-11, 18:20


Yankes69







Wiek: 31
Na forum: 3983 dni
Posty: 10



Respekt: 50

Ostrzeżeń: 100%
-- tworzymy funkcj?, kt?r? b?dzie wzywa? command handler, z argumentami thePlayer (gracz), command (komenda), vehicleModel (model pojazdu)
function createVehicleForPlayer(thePlayer, command, vehicleModel)
-- Tutaj stworzymy i zespawnujemy pojazd
end

-- tworzymy command handler
addCommandHandler("stworzpojazd", createVehicleForPlayer)

Je?li mam w createVehicleForPlayer i jest tam napisane "thePlayer", a chc? zmieni? na admina i RCON'a to musz? napisa? theAdmin, theRCON?

I jak by kto? wiedzia? jak zrobi? tabel? w w?tku do LUA w jednym kolorze? A nie jednym kolorem?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-07-11, 19:32


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Nie ten dzia? jak by? zobaczy? najpierw a napisa? p?zniej to by? wiedzia? ?e ten dzia? jest od poradnik?w. A co do twojego problemu
na wiki jest napisane:
Serwer:
bool addCommandHandler string commandName, function handlerFunction, [bool restricted falsebool caseSensitive true] )

*string commandName - Nazwa komendy(ci?g znak?w)
*function handerFunction - Nazwa funkcji do kt?rej podpinamy dan? komend?
*dwa ostatnie si? przewa?nie nie u?ywa s? to argumenty opcjonalne

Tu masz co mo?esz poda? w funkcji jako argumenty(Handler function parameters):
player playerSourcestring commandName, [string arg1string arg2, ...] 

*player playerSource - Gracz(mo?e to by? np. gracz lub player),
*string commandName - Nasza komenda uargumentowana np. cmd
*[string arg1, string arg2, ...] - Nasze pozosta?e argumenty(dodatkowe)

I teraz jak tego u?ywamy:
pisz?my nasz? podstawow? funkcje:
function przyklad ()

end

teraz do tej funkcji dopisujemy komend?:
function przyklad ()

end
addCommandHandlerkomendafunkcja)

Teraz uzupe?niamy j?:
function przyklad ()

end
addCommandHandler"przyklad"przyklad)

Nast?pnie nadajemy argumenty funkcji:
function przyklad (plrcmdtekst)

end
addCommandHandler"przyklad"przyklad)


Nadajemy naszej function przyk?ad nast?puj?ce funkcje:
function przyklad (plrcmdtekst)
    if tekst then
    outputChatBox("Napisa?e? "..tekstplr)
    else
    outputChatBox("U?yj /przyklad [tekst]"plr)
    end
end
addCommandHandler"przyklad"przyklad)


Gotowe

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-07-12, 13:31


Yankes69







Wiek: 31
Na forum: 3983 dni
Posty: 10



Respekt: 50

Ostrzeżeń: 100%
"luki123luki123" napisał/a:

Nie ten dzia? jak by? zobaczy? najpierw a napisa? p?zniej to by? wiedzia? ?e ten dzia? jest od poradnik?w. A co do twojego problemu
na wiki jest napisane:
Serwer:
bool addCommandHandler string commandName, function handlerFunction, [bool restricted falsebool caseSensitive true] )

*string commandName - Nazwa komendy(ci?g znak?w)
*function handerFunction - Nazwa funkcji do kt?rej podpinamy dan? komend?
*dwa ostatnie si? przewa?nie nie u?ywa s? to argumenty opcjonalne

Tu masz co mo?esz poda? w funkcji jako argumenty(Handler function parameters):
player playerSourcestring commandName, [string arg1string arg2, ...] 

*player playerSource - Gracz(mo?e to by? np. gracz lub player),
*string commandName - Nasza komenda uargumentowana np. cmd
*[string arg1, string arg2, ...] - Nasze pozosta?e argumenty(dodatkowe)

I teraz jak tego u?ywamy:
pisz?my nasz? podstawow? funkcje:
function przyklad ()

end

teraz do tej funkcji dopisujemy komend?:
function przyklad ()

end
addCommandHandlerkomendafunkcja)

Teraz uzupe?niamy j?:
function przyklad ()

end
addCommandHandler"przyklad"przyklad)

Nast?pnie nadajemy argumenty funkcji:
function przyklad (plrcmdtekst)

end
addCommandHandler"przyklad"przyklad)


Nadajemy naszej function przyk?ad nast?puj?ce funkcje:
function przyklad (plrcmdtekst)
    if tekst then
    outputChatBox("Napisa?e? "..tekstplr)
    else
    outputChatBox("U?yj /przyklad [tekst]"plr)
    end
end
addCommandHandler"przyklad"przyklad)


Gotowe


Dzi?ki za ch?ci, lecz m?j problem polega? na tym, ?e chc? aby komenda stworzpojazd by?a dost?pna dla RCON'?w i Admin?w. Mam napisa? theAdmin, theRCON?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-07-12, 13:37


Jurandovsky

Kurdebele






Wiek: 17
Na forum: 4838 dni
Posty: 915

Piwa: 2697

Respekt: 955,3
Respekt: 955,3Respekt: 955,3

Nieee, wtedy robisz sobie to na ACL :


strona serwera -

if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(thePlayer)), aclGetGroup("Admin")) then
-- tworzysz pojazd
else
outputChatBox("Nie jestes adminem", thePlayer)
end


Jezeli chcesz to napisz do mnie na gg : 38475592, po kr?tce Ci opisze to ACL.

Podpis
Jedyny kontakt ze mną to PW forum

Kod:


local noobs = getElementsByTitle("player", "Programista LUA")
for k, v in ipairs(noobs) do
outputChatBox("Bez mózgu jest użytkownik o nicku: "..getPlayerName(v), root)
destroyElement(v)
end
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-07-12, 13:52


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Iksdekowski, to co mu da?e? to gotowiec mog?e? mu opisa? co do czego jest.

Wyt?umacze ci jak to dzia?a:
1.Tworzysz warunek z funkcj? isObjectInACLGroup
bool isObjectInACLGroup string theObjectaclgroup theGroup )

*string theObject - object w grupie acl mo?e to by? user(konto gracza) lub resources(skrypt)
*aclgroup theGroup - Grupa w acl
Prosty przyk?ad:
if  isObjectInACLGroup "user.luki123luki""Admin" then

Ten przyk?ad sprawdza czy w grupie Admin jest konto luki123luki.

2.Aby skrypt dzia?a? na wszystkie osoby z danej grupy trzeba w skrypcie trzeba sprawdza? czy osoba wpisuj?ca komned? czy jest w grupie Admin.
Do tego s?u?? 2 funkcj?:

Więcej informacji znajdziesz w Wikipedii MTA:

getPlayerAccount


Więcej informacji znajdziesz w Wikipedii MTA:

getAccountName


getPlayerAccount pobiera konto gracza
getAccountName pobiera nazw? konta gracza

Przyk?ad:
addEventHandler("onPlayerLogin"root,
  function()
   konto getAccountName (getPlayerAccount(source))
   outputChatBox"Gracz "..getPlayerName(source).." zalogowa? si? na serwer loginem "..kontogetRootElement())
  end
)

Ten przyk?ad je?eli gracz si? zaloguje wy?wietla ka?demu obecnemu na serwerze infomacie na czat cie ?e gracz [jaki? tam] zalogowa? si? na serwer loginem [jaki? tam]

I tutaj ju? masz gotowy kod na sprawdzanie gracza czy jest w prawid?owej grupie acl:
local konto getAccountName(getPlayerAccount(plr))
if isObjectInACLGroup("user."..konto.."""Admin"then
--Je?eli jest
else
--Je?eli nie jest
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-07-12, 19:52


Yankes69







Wiek: 31
Na forum: 3983 dni
Posty: 10



Respekt: 50

Ostrzeżeń: 100%
Dzi?ki! Wgra?em pewien skrypt z folderu "myserver" i pisa?o Gamemode "myserver" started. To znaczy, ?e myserver to GM i mam tam robi? r??ne foldery z skryptami, pracami itp?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-07-12, 21:39


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Yankes69, to tak wyja?nie ci je?eli masz folder w resources np z nazwa [RPG] to tam mozesz pakowa? skrypty a jezeli RPG to jest skrypt i tam nie mozesz pakowa? skrypt?w jedynie do?acza? pliki.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-07-13, 08:46


Yankes69







Wiek: 31
Na forum: 3983 dni
Posty: 10



Respekt: 50

Ostrzeżeń: 100%
Dzi?ki!

Postaw piwo autorowi tego posta
 

 
Tagi: komenda :: nowicjusz :: lua.
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Komenda - nowicjusz w Lua. Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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
Dodaj temat do Ulubionych
Wersja do druku