[YARDIM] Klan sohbet

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı MehmetBas

  • Yeni Üye
  • *
    • İleti: 4
: 14 Nisan 2020, 18:30:36
Freeroam swm de klan için bir script indirdim fakat. Oyuncu mute yediği zaman T den konuşamıyor ama Y (klan sohbeti) nden konuşabiliyor. sorun nedir
Spoiler for Hiden:


server
Kod
local regis_db = dbConnect( "sqlite", "dbData_byRex.db" )


function addChatRegistry( group, playerT, message )

--//
assert( type ( group ) == "string", "Error bad argument @group" )

assert( playerT:getType() == "player", "Error bad argument @player")

assert( type ( message ) == "string", "Error bad argument @message" )
--//

local time = getRealTime( );
local hour, min, sec = time.hour, time.minute, time.second
local timeFormated = "["..hour..":"..min..":"..sec.."]"
local nickname = string.gsub( playerT:getName(), "#%x%x%x%x%x%x", "")

--//
table.insert( cacheRegistry, { #cacheRegistry+1, timeFormated, group, nickname, message } )
--regis_db:exec("INSERT INTO group_messages ( id, hour, grupo, nickname, message ) VALUES ( ?, ?, ?, ?, ? )", id, timeFormated, group, nickname, message)
--outputDebugString( "["..group.."] "..nickname..": "..message, 0 )
--//Manda el mensaje a todos los demas players.
for _, playerr in ipairs( getElementsByType("player") ) do
local accp = playerr:getAccount();
if not accp:isGuest() then
if isPlayerInGroup( playerr ) then
local plgp = getPlayerGroup( playerr )
if ( plgp == group ) then
playerr:outputChat("#00FC00["..plgp.."] "..nickname..":#FFFFFF "..message,0,200,0,true)
end
end
end
end
--//
end
--
function groupChat( source, cmd, ... )
local acc = source:getAccount();
local guestPlayer = acc:isGuest();
local message = table.concat( {...}, " ")
if not guestPlayer then
if isPlayerInGroup( source ) then
local grupo = getPlayerGroup( source )
addChatRegistry( grupo, source, message )
end
end
end
addCommandHandler("gc", groupChat)

client
Kod
local tblBlipsGPC = {}
k = {}
addEvent("onPlayerDayZLogin", true)
addEvent("rhsBlips", true)
function createGroupBlipsF( )
for _, ev in ipairs( tblBlipsGPC ) do
destroyElement( ev[1] )
end
tblBlipsGPC = false
if not tblBlipsGPC then
tblBlipsGPC = {}
end
local d = getElementData( getLocalPlayer(  ), "Group" ) or getElementData( getLocalPlayer(  ), "gang" )
for i, player in ipairs( getElementsByType("player") ) do
local de = getElementData( player, "Group" ) or getElementData( player, "gang" )
if d and de ~= "N/A" then
if d == de then
for ke, v in ipairs( tblBlipsGPC ) do
if v[2] == player then return end
end
k.blip = createBlipAttachedTo( player, 0, 2, 0, 200, 0, 200, 0, 500 )
table.insert( tblBlipsGPC, { k.blip, player } )
end
end
end
end
setTimer(createGroupBlipsF, 30000, 0)
addEventHandler("rhsBlips", getLocalPlayer(  ), createGroupBlipsF)
addEventHandler("onPlayerDayZLogin", getRootElement(), createGroupBlipsF)

function deleteBl( )
for i, v in ipairs( tblBlipsGPC ) do
destroyElement( v[1] )
tblBlipsGPC = nil
end
end
addEventHandler("onClientResourceStop", getResourceRootElement( getThisResource()), deleteBl )
 


MTASATURK

[YARDIM] Klan sohbet
« : 14 Nisan 2020, 18:30:36 »

Çevrimdışı wicky

  • hasssssssikome
  • Acemi Üye
  • *
    • İleti: 170
Yanıtla #1 : 15 Nisan 2020, 09:01:01
server-side, denemedim ama büyük ihtimalle böyle
Kod
local regis_db = dbConnect( "sqlite", "dbData_byRex.db" )


function addChatRegistry( group, playerT, message )

--//
assert( type ( group ) == "string", "Error bad argument @group" )

assert( playerT:getType() == "player", "Error bad argument @player")

assert( type ( message ) == "string", "Error bad argument @message" )
--//

local time = getRealTime( );
local hour, min, sec = time.hour, time.minute, time.second
local timeFormated = "["..hour..":"..min..":"..sec.."]"
local nickname = string.gsub( playerT:getName(), "#%x%x%x%x%x%x", "")

--//
table.insert( cacheRegistry, { #cacheRegistry+1, timeFormated, group, nickname, message } )
--regis_db:exec("INSERT INTO group_messages ( id, hour, grupo, nickname, message ) VALUES ( ?, ?, ?, ?, ? )", id, timeFormated, group, nickname, message)
--outputDebugString( "["..group.."] "..nickname..": "..message, 0 )
--//Manda el mensaje a todos los demas players.
for _, playerr in ipairs( getElementsByType("player") ) do
local accp = playerr:getAccount();
if not accp:isGuest() then
if isPlayerInGroup( playerr ) then
local plgp = getPlayerGroup( playerr )
if ( plgp == group ) and not (isPlayerMuted(playerr)) then
playerr:outputChat("#00FC00["..plgp.."] "..nickname..":#FFFFFF "..message,0,200,0,true)
end
end
end
end
--//
end
--
function groupChat( source, cmd, ... )
local acc = source:getAccount();
local guestPlayer = acc:isGuest();
local message = table.concat( {...}, " ")
if not guestPlayer then
if isPlayerInGroup( source ) then
local grupo = getPlayerGroup( source )
addChatRegistry( grupo, source, message )
end
end
end
addCommandHandler("gc", groupChat)
 


Çevrimdışı MehmetBas

  • Yeni Üye
  • *
    • İleti: 4
Yanıtla #2 : 15 Nisan 2020, 11:57:23
Tamamdır. Teşekkür ederim
« Son Düzenleme: 15 Nisan 2020, 14:37:00 Gönderen: MehmetBas »