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

Wysłany: 2019-12-17, 19:56


szymsoon







Wiek: 31
Na forum: 2370 dni
Posty: 54

Piwa: 1

Respekt: 50

Siema tworz? sw?j w?asny serwer i chcia?bym doda? pewne zabezpieczenie w postaci skryptu , mia?by on za zadanie sprawdza? czy m?j serial jest w puli zbanowanych seriali i nast?pnie odbanowa? go . Ucz? si? lua od oko?o tygodnia ale g??wnie robi?em w?asne komendy np na spawn pojazdu , zrobienie skryptu na unbana to dla mnie dosy? trudne zadanie . Ostatnio napisa?em taki kod ale nie dzia?a , prosz? o pomoc :eye:

Kod:


function unban ( player_serial , command )

local serial = getPlayerSerial( player_serial )
local player = getPlayerName

end

for _,ban in ipairs(getBans())do
if getBanSerial(ban) == serial then
removeBan(ban)
outputChatBox ( "#FF0000Zosta?e? odbanowany", player, 255, 255, 255, true )
else
outputChatBox ( "#FF0000Nie mia?e? bana", player, 255, 255, 255, true )

end
end
commandHandler ( "robiedym" , unban )


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-12-17, 20:40


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Odbanowujesz gracza, kt?ry wpisa? komend?? W jaki spos?b on ma j? wpisa? je?li to on jest zbanowany?

Opr?cz tego, b??dy:

- Nie ma takiej funkcji jak commandHandler.

Więcej informacji znajdziesz w Wikipedii MTA:

addCommandHandler


- ?le endy zrobi?e?, zamykasz funkcje na samym pocz?tku.

- ?le pobierasz nick gracza:
local player getPlayerName 


-Zmienn? gracza masz pod 'player_serial' (pierwszy argument tej funkcji) a nie pod 'player'. Musisz to poprawi?.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
szymsoon
Wysłany: 2019-12-17, 21:29


szymsoon







Wiek: 31
Na forum: 2370 dni
Posty: 54

Piwa: 1

Respekt: 50

dzi?ki za szybk? odpowied? , raczej nie b?d? ju? z tym nic robi? bo ta komenda zbytnio nie ma sensu . Sprawdzi? by? jeszcze ten kod ? ma on za zadanie sprawdzi? ip gracza kt?rego nick sami wprowadzamy
Kod:


function ip ( source , player_name )

local source = getPlayerName
local player_name
local player_ip = getPlayerIP ( player_name )

outputChatBox("IP: " .. player_ip, source )
end

addCommandHandler ( "dajipgracza", ip )


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-12-17, 23:32


kamison

Przyszły programista .lua






Wiek: 25
Na forum: 3302 dni
Posty: 391
Nick w MP: kamison

Piwa: 594

Respekt: 205,3
Respekt: 205,3Respekt: 205,3

Cytat:

dzi?ki za szybk? odpowied? , raczej nie b?d? ju? z tym nic robi? bo ta komenda zbytnio nie ma sensu . Sprawdzi? by? jeszcze ten kod ? ma on za zadanie sprawdzi? ip gracza kt?rego nick sami wprowadzamy


function ip source player_name )-- je?li masz utworzonfunkcjplayer_name wy?ej w kodzie to sory

    local source getPlayerName -- musisz podaargumenty u?ywaj?c getPlayerName
    local player_name -- to nic nie wprowadza
    local player_ip getPlayerIP player_name )--jak masz wy?ej w kodzie to m?j b??d/powinienepokaza?/powiedzie?
    
    outputChatBox("IP: " .. player_ipsource )--tutaj jest okej
end

addCommandHandler "dajipgracza"ip )


Napisa?em dla Ciebie kod z obja?nieniem, w cytacie doda?em komentarze do Twojego kodu
Kwadratowe nawiasy to komentarze zaczyna si? --[[ a ko?czy ]]--
Nie wiem dlaczego jest na czerwono, nie powinno takby?

function ip (graczKtoryWpisujeKomende,funkcjaPrzedTaKomendaPoczytajNaForum,nickGraczaKtoregoSprawdzamy) --[[poczytaj o sk?adni addCommandHandler]]--

    if not nickGraczaKtoregoSprawdzamy then --[[sprawdzamy czy podany zostaargument jak nie zostal to komunikat-sprawdz sk?adnie addCommandHandler]]--
        outputChatBox ("Podaj nick gracza",graczKtoryWpisujeKomende) --[[komunikat wysylamy tylko do gracza ktory wpisal komende poczytaj o skladni outputChatBox]]--
    return --[[ return nie pozwala dalej pu?cikodujest czytany od g?ry do do?u wi?c dalej w d?? nie p?jdzie po tym sprawdzeniu / if'ie]]--
    end --[[ko?czymy pierwszego ifa/sprawdzenie]]--
    
    
    if not getPlayerFromName (nickGraczaKtoregoSprawdzamy) then --[[jak nie ma gracza o podanym nicku to komunikat - poczytaj o sk?adni getPlayerFromName ]]--
        outputChatBox ("Nie ma podanego gracza",graczKtoryWpisujeKomende) --[[jak nie ma podanego gracza to komunikat - to samo co wy?ej]]--
    return --[[to samo do wy?ej]]--
    end --[[ko?czymy to sprawdzanie]]--
    
    
    local sprawdzIpGracza = getPlayerIP ( getPlayerFromName  (nickGraczaKtoregoSprawdzamy) ) --[[musisz poda? jakiego gracza sprawdzasz czyli czytanie sk?adni]]--
    
    
    if sprawdzIpGracza then --[[ jak zmienna zwr?ci wynik to komunikat]]--
        outputChatBox ("IP: "..sprawdzIpGracza,graczKtoryWpisujeKomende)--[[komunikat to co wy?ej]]--
    end --[[ tutaj bez return bo ni?ej nie ma kodu do wykonania si?]]--
end --[[ko?czymy funkcj? endem]]--
addCommandHandler ("dajipgracza",ip)


Podpis
Coś tam kiedyś robiłem.

DC: kamison_.
Postaw piwo autorowi tego posta
 

 
Tagi: skrpt :: serwer
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Odpowiedz do tematu

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