Tosti Posted March 30, 2013 Share Posted March 30, 2013 (edited) Witam. Mam skrypt na logowanie do frakcji, lecz gdy wpisuje komendę wyskakuje taki błąd: EDIT: Fakt, sorki, zapomniałem w ogóle o tym, prosze : policja = createTeam("Policja", 0, 0, 255) pogotowie = createTeam("Pogotowie", 255, 0, 0) pd = createTeam("Pomoc Drogowa", 255, 0, 255) sn = createTeam("San News", 0, 255, 255) --wersja 0.3 rc --cywile = createTeam("Cywile", 255, 255, 255) --policja function loginpolicja (thePlayer) if isObjectInACLGroup( "user." .. getPlayerAccount(thePlayer), aclGetGroup ( "Policja" ) ) then setPlayerTeam(thePlayer, policja) setPlayerNametagColor(thePlayer, 0, 0, 255) giveWeapon(thePlayer, 3) setPlayerSkin(thePlayer, 280) else outputChatBox("Nie jesteś policjantem!", thePlayer) end end addCommandHandler("loginpolicja", loginpolicja) --pogotowie function pogotowie(thePlayer) local pogoacl = isObjectInACLGroup( "user." .. getPlayerAccount(thePlayer), aclGetGroup ( "Pogotowie" ) ) if pogoacl then setPlayerTeam(thePlayer, pogotowie) setPlayerSkin(thePlayer, 275) setPlayerNametagColor(thePlayer, 255, 0, 0) else outputChatBox("Nie jesteś pracownikiem pogotowia!", thePlayer) end end addCommandHandler("loginpogotowie", pogotowie) --pomoc drogowa function pd(thePlayer) if isObjectInACLGroup( "user." .. getAccountName(thePlayer), aclGetGroup ( "PD" ) ) then setPlayerTeam(thePlayer, pd) setPlayerSkin(thePlayer, 50) setPlayerNametagColor(thePlayer, 255, 0, 255) else outputChatBox("Nie jesteś pracownikiem pomocy drogowej!", thePlayer) end end addCommandHandler("loginpd", pd) --san news function loginsn (thePlayer) if isObjectInACLGroup( "user." .. getPlayerAccount(thePlayer), aclGetGroup ( "SN" ) ) then setPlayerTeam(thePlayer, sn) setPlayerNametagColor(thePlayer, 0, 255, 255) giveWeapon(thePlayer, 43) setPlayerSkin(thePlayer, 60) else outputChatBox("Nie jesteś pracownikiem San News!", thePlayer) end end addCommandHandler("loginsn", loginsn) --wersja 0.3 rc Edited March 30, 2013 by Guest Link to comment
Bober Posted March 30, 2013 Share Posted March 30, 2013 może jakiś kod byś podał bo czarodziejami nie jesteśmy Link to comment
dzek (varez) Posted March 31, 2013 Share Posted March 31, 2013 Błąd jasno wyjaśnia, że próbujesz łączyć jako string coś co nie jest stringiem. "user." .. getPlayerAccount(thePlayer) A teraz zapraszam do wiki (kliknij na nazwę funkcji) - i zobacz jaki typ danych zwraca ta funkcja. Link to comment
Tosti Posted March 31, 2013 Author Share Posted March 31, 2013 Czyli ma wyglądać to tak: local gracz = getPlayerAccount(thePlayer) if isObjectInACLGroup( "user." .. gracz, aclGetGroup ( "Policja" ) ) then Jak nie to powiedzcie co robię źle, bo jestem zielony w lua choć staram się pojąć podstawę od pół roku. Link to comment
dzek (varez) Posted March 31, 2013 Share Posted March 31, 2013 `getPlayerAccount` zwraca takie coś, co jest obiektem o typie "konto". NIE POSIADA TO SWOJEJ TEKSTOWEJ REPREZENTACJI. Niezależnie czy zrobisz to tak, że wcześniej zapiszesz ten obiekt to zmiennej - on wciąż będzie obiektem, bez tekstowej reprezentacji. W związku z tym NIE MOŻESZ połączyć go z tekstem. Obiekt jest to takie coś, co zawiera w sobie różny typ danych i na czym można wykonywać różne operacje. W zależności od typu obiektu wykorzystuje się do tego różne funkcje. Skoro już wiesz (z wiki, prawda?), że `getPlayerAccount` zwraca obiekt typu `account` (konto) - a Ciebie interesuje tylko nazwa tego konta - to wchodzisz na wiki, na listę funkcji Serwera, przechodzisz do sekcji `Account functions` (wiadomo) i patrzysz po nazwach funkcji, czy jest coś, co Cię interesuje. Dalej myślę, że już nie potrzebujesz pomocy, tylko podążysz za tym, co powiedziałem i sobie poradzisz. Wyrażę też swój werdykt, że u Ciebie nie jest problem z lua/mta, tylko ogólnie z programowaniem. Robisz coś, co gdzieś kiedyś jakoś widziałeś, nie zastanawiając się co do czego przypiąć. Napisałeś kod, który jest równoznaczny z poprzednim (a jedynie zajmuje więcej pamięci ze względu na potrzebę utworzenia zmiennej). Jeżeli po pół roku to jedyne co wyprodukowałeś to niestety wiadomość jest taka, że uprawiasz programowanie polegające na kopiuj-wklej i losowym składaniu linijek, nie próbujesz zrozumieć tekstu w konsoli (jasno jest napisane), nie potrafisz korzystać z opcji wyszukiwania, programowanie jest dla Ciebie magią... Link to comment
Tosti Posted April 2, 2013 Author Share Posted April 2, 2013 Tak, dzięki za pomoc, jeśli coś znowu sknoce to napisze Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now