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

Wysłany: 2019-05-01, 13:41


adisonboss







Wiek: 23
Na forum: 3472 dni
Posty: 237

Piwa: 6

Respekt: 50

Wczoraj kolega z tego oto forum pom?g? mi ze skryptem na chat mi?dzy frakcjami, ale jest problem. Osoba kt?ra jest w PR widzi pozosta?e osoby kt?re nie s? w ACL jako ?e s? w PR. Tutaj ss pomocny https://imgur.com/a/heAo4H6

function factionchat(plr, cmd, ...)
    local msg = table.concat ( { ... }, " " )
    if not msg then return end
    local players=getElementsByType('player')
    for i,v in pairs(players) do
        local accName = getAccountName(getPlayerAccount(v)) 
            if  isObjectInACLGroup ("user."..accName, aclGetGroup ( "Policja" ) ) then  
                outputChatBox("#0033FF[Policja] #E0E0E0"..getPlayerName(plr)..": "..msg, v, 255, 255, 255, true)
            elseif isObjectInACLGroup ("user."..accName, aclGetGroup ( "PSP" ) ) then 
                outputChatBox("#FF0000[Pa?stwowa Stra? Po?arna] #E0E0E0"..getPlayerName(plr)..": "..msg, v, 255, 255, 255, true)
            elseif isObjectInACLGroup ("user."..accName, aclGetGroup ( "OSP" ) ) then 
                outputChatBox("#800000[Ochotnicza Stra? Po?arna] #E0E0E0"..getPlayerName(plr)..": "..msg, v, 255, 255, 255, true)
            elseif isObjectInACLGroup ("user."..accName, aclGetGroup ( "PR" ) ) then 
                outputChatBox("#FFFFFF[Pa?stwowe Ratownictwo Medyczne] #E0E0E0"..getPlayerName(plr)..": "..msg, v, 255, 255, 255, true)
            elseif isObjectInACLGroup ("user."..accName, aclGetGroup ( "PD" ) ) then 
                outputChatBox("#FFFF00[Pomoc Drogowa] #E0E0E0"..getPlayerName(plr)..": "..msg, v, 255, 255, 255, true)          
            end
        end
end
addCommandHandler("Radio", factionchat)

addEventHandler("onResourceStart", root, function() 
local players=getElementsByType('player')
    for _, p in pairs(players) do
    bindKey(p, "o", "down", "chatbox", "Radio")
    end
end)

addEventHandler( "onPlayerSpawn", getRootElement(), function (_)
    bindKey(source, "o", "down", "chatbox", "Radio")
end)


[ Dodano: 2019-05-01, 13:48 ]
Ale to nie tylko w PR tylko w ka?dym acl

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-01, 13:57


Trainer







Wiek: 27
Na forum: 2908 dni
Posty: 16
Nick w MP: Trainer

Piwa: 148

Respekt: 50

M?g?by? to jako? bardziej rozwin??? Nie potrafi? zrozumie? w czym jest problem.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-01, 16:58


adisonboss







Wiek: 23
Na forum: 3472 dni
Posty: 237

Piwa: 6

Respekt: 50

Trainer, Osoba b?d?ca w ACL PR widzi mnie b?d?cego w ACL PSP jakbym by? w PR ale nie jestem i to samo dzia?a odwrotnie ja w ACL PSP widz? go jakby by? w PSP a nie jest

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-01, 17:23


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Tak si? dzieje, bo sprawdzasz wszystkich graczy i wszystkim, kt?rzy s? w ACL w kodzie wysy?asz wiadomo??.

Je?li zapisujesz frakcj? w postaci elementDaty to mo?esz to ?atwo rozwi?za?, je?li masz tylko ACL to musisz zrobi? warunki sprawdzaj?ce dla ka?dej frakcji - wtedy wysy?asz wiadomo???osobom tylko, kt?re s? w tym samym ACL.

Gdyby? mia? elementDat?, m?g?by? zrobi? to w taki spos?b:
function factionchat(plr, cmd, ...)
    local msg = table.concat ({...}, " ")
    if not msg then return end
    local frakcja = getElementData(plr, "frakcja")
    if (frakcja) then
        for _, gracz in pairs(getElementsByType("player")) do
            if (getElementData(gracz, "frakcja") == frakcja) then
                outputChatBox("#0033FF" .. frakcja .." #E0E0E0" .. getPlayerName(plr) .. ": " .. msg, gracz, 255, 255, 255, true)         
            end
        end
    end
end
addCommandHandler("Radio", factionchat)


Ostatnio zmieniony przez Wilq 2019-05-01, 17:26, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-01, 17:26


adisonboss







Wiek: 23
Na forum: 3472 dni
Posty: 237

Piwa: 6

Respekt: 50

Mo?na jaki? link gdzie znajde ten warunek sprawdzaj?cy ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-01, 17:27


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Warunek sprawdzaj?cy zaczyna si? od 'if' i ko?czy na 'end'.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-01, 17:28


adisonboss







Wiek: 23
Na forum: 3472 dni
Posty: 237

Piwa: 6

Respekt: 50

Ale nie ja chce zrobi? czat mi?dzy frakcjami PR PSP OSP POLICJA oraz PD. Tylko ?e ja jestem w PSP a np. komu? kto jest w PD pokazuje ?e ja te? jestem. Nie chce ?eby to by? czat tylko dla jednego ACL

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-01, 17:54


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Trzeba by?o tak od razu:

function factionchat(plr, cmd, ...)
    local msg = table.concat ( { ... }, " " )
    if not msg then return end
    local players=getElementsByType('player')
    local accNameX = getAccountName(getPlayerAccount(plr)) 
    for i,v in pairs(players) do
        local accName = getAccountName(getPlayerAccount(v)) 
        if  isObjectInACLGroup ("user."..accName, aclGetGroup ( "Policja" ) ) or isObjectInACLGroup ("user."..accName, aclGetGroup ( "PSP" ) ) or isObjectInACLGroup ("user."..accName, aclGetGroup ( "OSP" ) ) or isObjectInACLGroup ("user."..accName, aclGetGroup ( "PR" ) ) or isObjectInACLGroup ("user."..accName, aclGetGroup ( "PD" ) ) then  
            if  isObjectInACLGroup ("user."..accNameX, aclGetGroup ( "Policja" ) ) then  
                outputChatBox("#0033FF[Policja] #E0E0E0"..getPlayerName(plr)..": "..msg, v, 255, 255, 255, true)
            elseif isObjectInACLGroup ("user."..accNameX, aclGetGroup ( "PSP" ) ) then 
                outputChatBox("#FF0000[Pa?stwowa Stra? Po?arna] #E0E0E0"..getPlayerName(plr)..": "..msg, v, 255, 255, 255, true)
            elseif isObjectInACLGroup ("user."..accNameX, aclGetGroup ( "OSP" ) ) then 
                outputChatBox("#800000[Ochotnicza Stra? Po?arna] #E0E0E0"..getPlayerName(plr)..": "..msg, v, 255, 255, 255, true)
            elseif isObjectInACLGroup ("user."..accNameX, aclGetGroup ( "PR" ) ) then 
                outputChatBox("#FFFFFF[Pa?stwowe Ratownictwo Medyczne] #E0E0E0"..getPlayerName(plr)..": "..msg, v, 255, 255, 255, true)
            elseif isObjectInACLGroup ("user."..accNameX, aclGetGroup ( "PD" ) ) then 
                outputChatBox("#FFFF00[Pomoc Drogowa] #E0E0E0"..getPlayerName(plr)..": "..msg, v, 255, 255, 255, true)          
            end
        end
    end
end
addCommandHandler("Radio", factionchat)


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
adisonboss
Wysłany: 2019-05-01, 18:14


adisonboss







Wiek: 23
Na forum: 3472 dni
Posty: 237

Piwa: 6

Respekt: 50

Dzi?ki :D

Postaw piwo autorowi tego posta
 

 
Tagi: nie :: działający :: prawidłowo :: czat
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Nie działający prawidłowo czat 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