[YARDIM] Tag Panel

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı #Serius

  • Uzman Üye
  • *
    • İleti: 685
: 25 Mart 2017, 17:37:21
Butona Basınca Usere Tag Verdirmek İstiyorum Bunu Nasıl Yapacağım :)
« Son Düzenleme: 25 Mart 2017, 19:16:15 Gönderen: Narkoz »
 


MTASATURK

[YARDIM] Tag Panel
« : 25 Mart 2017, 17:37:21 »

Çevrimdışı ertrldtcu

  • Uzman Üye
  • *
    • İleti: 589
Yanıtla #1 : 25 Mart 2017, 17:44:39
Bunu yapmanın bildiğim iki yolu var. Birincisi oyuncunun nickini değiştirmek ki oyuncunun nick ve tagın toplamının uzunluğu 22 karakteri aşarsa kullanamaz. İkinci yol ise her tag panelde olduğu gibi yolladığı chatbox'ta adının başına tag eklemek. Hangisini yapacaksın?
system
 


Çevrimdışı #Serius

  • Uzman Üye
  • *
    • İleti: 685
Yanıtla #2 : 25 Mart 2017, 17:46:07
Adamın Üzerinde Tag Göstercek

Mesaj Birleştirildi: 25 Mart 2017, 17:46:48
Yani Hem Chatboxda Göstercek Bide Adamın Üzerinde Yazcak Tagı :)
 


Çevrimdışı ertrldtcu

  • Uzman Üye
  • *
    • İleti: 589
Yanıtla #3 : 25 Mart 2017, 18:04:49
Tıklama işlevi için buton GUI ise onClientGUIClick kullanıcaksın ve tagi server-side aktarıcaksın. Aktarmak için kullanacağın kod:
Kod: lua
triggerServerEvent("event-adi",localPlayer)

Tıklama Eventini kullanmayı öğrenmek için Linki görebilmek için Kayıt olun yada Giriş yapın. konusuna göz at.

Chatbox için:
Kod: lua
addEventHandler("onPlayerChat",root,function(msg)
    cancelEvent()
    local pr,pg,pb = getPlayerNametagColor(source)
    outputChatBox(RGBToHex(pr,pg,pb)..tag-degiskeni..getPlayerName(source).."#FFFFFF: "..msg,root,255,255,255,true)
end)



Senin için basit bir sistem hazırladım.

client-side
Kod: lua
addEventHandler("onClientGUIClick",root,function()
    if source == buton-degiskeni then
        triggerServerEvent("tag_ver",localPlayer,"[Sıradan Oyuncu]")
    end
end)

server-side
Kod: lua
local taglar = {}
addEvent("tag_ver",true)
addEventHandler("tag_ver",root,function(tag)
    taglar[source] = tag
end)
addEventHandler("onPlayerChat",root,function(msg)
    cancelEvent()
    if taglar[source] then
        local pr,pg,pb = getPlayerNametagColor(source)
        outputChatBox(RGBToHex(pr,pg,pb)..taglar[source].." "..getPlayerName(source).."#FFFFFF: "..msg,root,255,255,255,true)
    else
        outputChatBox(RGBToHex(pr,pg,pb)..getPlayerName(source).."#FFFFFF: "..msg,root,255,255,255,true)
    end
end)
« Son Düzenleme: 25 Mart 2017, 18:15:24 Gönderen: ertrldtcu »
system
 


Çevrimdışı Rüzgar

  • Acemi Üye
  • *
    • İleti: 158
Yanıtla #4 : 25 Mart 2017, 18:11:47
Linki görebilmek için Kayıt olun yada Giriş yapın.
Adamın Üzerinde Tag Göstercek

Mesaj Birleştirildi: 25 Mart 2017, 17:46:48
Yani Hem Chatboxda Göstercek Bide Adamın Üzerinde Yazcak Tagı :)
Birkaç dakika beklemeni istiyorum sonrasında hemen kodlarını veriyorum.
 


Çevrimdışı #Serius

  • Uzman Üye
  • *
    • İleti: 685
Yanıtla #5 : 25 Mart 2017, 19:53:29
Ahmet abi kodu bekliyorum.
« Son Düzenleme: 25 Mart 2017, 20:03:30 Gönderen: By.Angel »
 


MTASATURK

Ynt: [YARDIM] Tag Panel
« Yanıtla #5 : 25 Mart 2017, 19:53:29 »

Çevrimdışı Rüzgar

  • Acemi Üye
  • *
    • İleti: 158
Yanıtla #6 : 25 Mart 2017, 20:11:58
Kod: lua
local tablo = {}
_tagVerisiAdi = "TAG";
_tagVerisiAl = getElementData;
_YerelOyuncu = localPlayer;
_komutEkle = addCommandHandler;
_eventCalistir = addEventHandler;
_root = getRootElement();
_komut = "tagver";
_oyuncuIsimRengi = getPlayerNametagColor;
function tablo._tagAl(cmd,tag)
        _tag = tag;
        _tostring = tostring;
        triggerServerEvent("tag_ver",_YerelOyuncu, _YerelOyuncu,"[".._tostring(_tag).."]");
end
_komutEkle(_komut, tablo._tagAl)
function tablo._TagYazisi()
  for k,_v in ipairs(getElementsByType("player")) do
    if _v == _YerelOyuncu then
      cancelEvent()
    else
      local _r,_g,_b = _oyuncuIsimRengi(_YerelOyuncu);
      _dxDrawText(_v,_tagVerisiAl(_v, _tagVerisiAdi),1,20,_r,_g,_b,255,1,"pricedown")
    end
  end
end
_eventCalistir("onClientRender", _root, tablo._TagYazisi)
function _dxDrawText(TheElement,text,height,distance,R,G,B,alpha,size,font,checkBuildings,checkVehicles,checkPeds,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)
local x, y, z = getElementPosition(TheElement)
local x2, y2, z2 = getElementPosition(localPlayer)
local distance = distance or 20
local height = height or 1
                                local checkBuildings = checkBuildings or true
                                local checkVehicles = checkVehicles or false
                                local checkPeds = checkPeds or false
                                local checkObjects = checkObjects or true
                                local checkDummies = checkDummies or true
                                local seeThroughStuff = seeThroughStuff or false
                                local ignoreSomeObjectsForCamera = ignoreSomeObjectsForCamera or false
                                local ignoredElement = ignoredElement or nil
if (isLineOfSightClear(x, y, z, x2, y2, z2, checkBuildings, checkVehicles, checkPeds , checkObjects,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)) then
local sx, sy = getScreenFromWorldPosition(x, y, z+height)
if(sx) and (sy) then
local distanceBetweenPoints = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2)
if(distanceBetweenPoints < distance) then
dxDrawText(text, sx+2, sy+2, sx, sy, tocolor(R or 255, G or 255, B or 255, alpha or 255), (size or 1)-(distanceBetweenPoints / distance), font or "arial", "center", "center")
end
end
end
end
Kod: lua
local taglar = {}
local tablo = {}
_tagVerisiVer = setElementData;
_tagVerisiAl = getElementData;
_bool = true;
_mesajVer = outputChatBox;
_root = getRootElement();
_eventEkle = addEvent;
_eventCalistir = addEventHandler;
_serverEventi = "tag_ver";
_oyuncuKonusmasi = "onPlayerChat";
_oyuncuIsimRengi = getPlayerNametagColor;
_oyuncuIsimiAl = getPlayerName;
_tagVerisiAdi = "TAG";
function tablo._tagVerFunc(player, tag)
    taglar[source] = tag
    _tagVerisiVer(player, _tagVerisiAdi, taglar[source]);
end
_eventEkle(_serverEventi, _bool)
_eventCalistir(_serverEventi, _root, tablo._tagVerFunc)
function tablo._func(msg)
  _kaynak = source
  _msg = msg;
    if taglar[source] then
        local _r,_g,_b = _oyuncuIsimRengi(_kaynak);
        _mesajVer(_tagVerisiAl(_kaynak, _tagVerisiAdi).." ".._oyuncuIsimiAl(_kaynak).."#FFFFFF: ".._msg,_root,math.random(0,255),math.random(0,255),math.random(0,255),_bool);
    else
        _mesajVer(_oyuncuIsimiAl(_kaynak).."#FFFFFF: ".._msg,_root,_r,_g,_b,true);
    end
end
_eventCalistir(_oyuncuKonusmasi, _root, tablo._func)
« Son Düzenleme: 25 Mart 2017, 20:57:12 Gönderen: Rüzgar »
 


Çevrimdışı Rüzgar

  • Acemi Üye
  • *
    • İleti: 158
Yanıtla #7 : 25 Mart 2017, 20:24:55
Ufak Düzenleme yaptım tekrar kullanabilirsin.
 


Çevrimdışı #Serius

  • Uzman Üye
  • *
    • İleti: 685
Yanıtla #8 : 25 Mart 2017, 20:31:36
Hangi Kod'ta
 


Çevrimdışı Rüzgar

  • Acemi Üye
  • *
    • İleti: 158
Yanıtla #9 : 25 Mart 2017, 20:56:14
1.kod ile değiştir;
Kod: lua
local tablo = {}
_tagVerisiAdi = "TAG";
_tagVerisiAl = getElementData;
_YerelOyuncu = localPlayer;
_komutEkle = addCommandHandler;
_eventCalistir = addEventHandler;
_root = getRootElement();
_komut = "tagver";
_oyuncuIsimRengi = getPlayerNametagColor;
function tablo._tagAl(cmd,tag)
        _tag = tag;
        _tostring = tostring;
        triggerServerEvent("tag_ver",_YerelOyuncu, _YerelOyuncu,"[".._tostring(_tag).."]");
end
_komutEkle(_komut, tablo._tagAl)
function tablo._TagYazisi()
  for k,_v in ipairs(getElementsByType("player")) do
    if _v == _YerelOyuncu then
      cancelEvent()
    else
      local _r,_g,_b = _oyuncuIsimRengi(_YerelOyuncu);
      _dxDrawText(_v,_tagVerisiAl(_v, _tagVerisiAdi),1,20,_r,_g,_b,255,1,"pricedown")
    end
  end
end
_eventCalistir("onClientRender", _root, tablo._TagYazisi)
function _dxDrawText(TheElement,text,height,distance,R,G,B,alpha,size,font,checkBuildings,checkVehicles,checkPeds,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)
local x, y, z = getElementPosition(TheElement)
local x2, y2, z2 = getElementPosition(localPlayer)
local distance = distance or 20
local height = height or 1
                                local checkBuildings = checkBuildings or true
                                local checkVehicles = checkVehicles or false
                                local checkPeds = checkPeds or false
                                local checkObjects = checkObjects or true
                                local checkDummies = checkDummies or true
                                local seeThroughStuff = seeThroughStuff or false
                                local ignoreSomeObjectsForCamera = ignoreSomeObjectsForCamera or false
                                local ignoredElement = ignoredElement or nil
if (isLineOfSightClear(x, y, z, x2, y2, z2, checkBuildings, checkVehicles, checkPeds , checkObjects,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)) then
local sx, sy = getScreenFromWorldPosition(x, y, z+height)
if(sx) and (sy) then
local distanceBetweenPoints = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2)
if(distanceBetweenPoints < distance) then
dxDrawText(text, sx+2, sy+2, sx, sy, tocolor(R or 255, G or 255, B or 255, alpha or 255), (size or 1)-(distanceBetweenPoints / distance), font or "arial", "center", "center")
end
end
end
end