mommytellme Posted March 30, 2014 Share Posted March 30, 2014 Cześć! Robię zasiłek dla bezrobotnych, i tak. Napisałem taki oto kod: function dajdata () setElementData(thePlayer, "zasilek", 0) end addEventHandler("onClientResourceStart", root, dajdata) zasilek = createMarker(359, 169, 1008, "cylinder", 2) setElementInterior(zasilek, 3) function dajkase() if source == zasilek then getElementData(thePlayer, zasilek) if zasilek == 1then outputChatBox("Urzędnik mówi: Skorzystałeś/aś już z zasiłku!", thePlayer, 255,255,255) givePlayerMoney(200) setElementData(thePlayer, "zasilek", 1) end end end addEventHandler("onClientMarkerHit", root, dajkase) Jest po stronie serwera. Przed tem był po stronie klienta bez elementdatów i działał prawidłowo. Teraz już nie. Skrypt ma polegać na tym, że wchodzę w marker, daje mi kasę (200$) i mogę to zrobić tylko raz. Dodatkowo zrobię wykrywanie czy jest w jakiejś frakcji ale to później, najpierw to. Debugscript po odpaleniu skryptu nic nie pokazuje, po wejściu w marker tak samo. Link to comment
WhoAmI Posted March 30, 2014 Share Posted March 30, 2014 Lepiej zrobić to po stronie serwera, bo po stronie clienta dawanie kasy tak na prawdę nie działa. zasilek = createMarker ( 359, 169, 1008, "cylinder", 2 ) setElementInterior ( zasilek, 3 ) function dajkase ( hitElement ) if ( isElement ( hitElement ) and getElementType ( hitElement ) == "player" ) then local data = getElementData ( hitElement, "zasilek" ) or false if ( data ) then outputChatBox ( "Urzędnik mówi: Skorzystałeś/aś już z zasiłku!", hitElement, 255, 255, 25, true ) else setElementData ( hitElement, "zasilek", true ) givePlayerMoney ( hitElement, 200 ) end end end addEventHandler("onMarkerHit", zasilek, dajkase) Tak powinna wyglądać strona serwera. Link to comment
mommytellme Posted March 30, 2014 Author Share Posted March 30, 2014 Dziękuje Ci bardzo! Znowu mi pomogłeś Da się tu jakoś dawać reputację? Link to comment
WhoAmI Posted March 30, 2014 Share Posted March 30, 2014 Zwykłe dziękuje mi wystarczy. Nie ma za co. Link to comment
mommytellme Posted March 30, 2014 Author Share Posted March 30, 2014 A jeszcze jedno pytanko, da się do tego dorobić sprawdzanie czy gracz jest w jakiejś frakcji? Jeśli jest - nie daje kasy a jeśli nie jest to daje. Link to comment
WhoAmI Posted March 30, 2014 Share Posted March 30, 2014 isObjectInACLGroup Chyba, że na team to getPlayerTeam Link to comment
mommytellme Posted March 30, 2014 Author Share Posted March 30, 2014 Wiem że trzeba użyć tych funkcji, ale nie do końca wiem gdzie je wsadzić żeby skrypt się nie posypał Link to comment
WhoAmI Posted March 30, 2014 Share Posted March 30, 2014 Po prostu stawiasz warunek. if ( getPlayerTeam ( source ) == getTeamFromName ( "jakiś team" ) ) then Link to comment
mommytellme Posted March 30, 2014 Author Share Posted March 30, 2014 Rozwiązałem to tak: zasilek = createMarker ( 359, 169, 1008, "cylinder", 2 ) setElementInterior ( zasilek, 3 ) function dajkase ( hitElement ) if ( isElement ( hitElement ) and getElementType ( hitElement ) == "player" ) then local data = getElementData ( hitElement, "zasilek" ) or false if ( data ) then outputChatBox ( "Urzędnik mówi: Skorzystałeś/aś już z zasiłku!", hitElement, 255, 255, 25, true ) else setElementData ( hitElement, "zasilek", true ) givePlayerMoney ( hitElement, 200 ) end if ( getPlayerTeam ( hitElement ) == getTeamFromName ( "Mechanicy" ) ) then outputChatBox ( "Urzędnik mówi: aktualnie pracujesz, nie możesz skorzystać z zasiłku dla bezrobotnych!", hitElement, 255, 255, 25, true ) return end if ( getPlayerTeam ( hitElement ) == getTeamFromName ( "Policja" ) ) then outputChatBox ( "Urzędnik mówi: aktualnie pracujesz, nie możesz skorzystać z zasiłku dla bezrobotnych!", hitElement, 255, 255, 25, true ) return if ( getPlayerTeam ( hitElement ) == getTeamFromName ( "Taxi" ) ) then outputChatBox ( "Urzędnik mówi: aktualnie pracujesz, nie możesz skorzystać z zasiłku dla bezrobotnych!", hitElement, 255, 255, 25, true ) return if ( getPlayerTeam ( hitElement ) == getTeamFromName ( "Pomoc Drogowa" ) ) then outputChatBox ( "Urzędnik mówi: aktualnie pracujesz, nie możesz skorzystać z zasiłku dla bezrobotnych!", hitElement, 255, 255, 25, true ) return if ( getPlayerTeam ( hitElement ) == getTeamFromName ( "Urząd" ) ) then outputChatBox ( "Urzędnik mówi: aktualnie pracujesz, nie możesz skorzystać z zasiłku dla bezrobotnych!", hitElement, 255, 255, 25, true ) return if ( getPlayerTeam ( hitElement ) == getTeamFromName ( "Straz pozarna" ) ) then outputChatBox ( "Urzędnik mówi: aktualnie pracujesz, nie możesz skorzystać z zasiłku dla bezrobotnych!", hitElement, 255, 255, 25, true ) return end end addEventHandler("onMarkerHit", zasilek, dajkase) i skończyło się takim błędem (skrypt nazywa się frakcje2): http://zapodaj.net/165a541565f3d.png.html Link to comment
WhoAmI Posted March 30, 2014 Share Posted March 30, 2014 Trochę krócej z tabelą: zasilek = createMarker ( 359, 169, 1008, "cylinder", 2 ) setElementInterior ( zasilek, 3 ) teamy = { ["Mechanicy"] = false, ["Policja"] = false, ["Taxi"] = false, ["Pomoc Drogowa"] = false, ["Urząd"] = false, ["Straz pozarna"] = false } function dajkase ( hitElement ) if ( isElement ( hitElement ) and getElementType ( hitElement ) == "player" ) then if ( not teamy [ getTeamName ( getPlayerTeam ( hitElement ) ) ] ) then outputChatBox ( "Urzędnik mówi: aktualnie pracujesz, nie możesz skorzystać z zasiłku dla bezrobotnych!", hitElement, 255, 255, 25, true ) return end local data = getElementData ( hitElement, "zasilek" ) or false if ( data ) then outputChatBox ( "Urzędnik mówi: Skorzystałeś/aś już z zasiłku!", hitElement, 255, 255, 25, true ) else setElementData ( hitElement, "zasilek", true ) givePlayerMoney ( hitElement, 200 ) end end end addEventHandler("onMarkerHit", zasilek, dajkase) Link to comment
mommytellme Posted March 30, 2014 Author Share Posted March 30, 2014 Dziękuje Ci bardzo ponownie! Można zamknąć, wszystko rozwiązałem Jeśli chciałbym dodać nową frakcje, po prostu wklejam ją do tablicy w takiej samej formie jak inne? Link to comment
mommytellme Posted March 30, 2014 Author Share Posted March 30, 2014 Dzięki, można zamknąć. 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