21 Kasım 2018, 05:53:30

Gönderen Konu: [YARDIM] Tag Panel  (Okunma sayısı 842 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

By.Angel

  • Deneyimli Üye
  • *
  • Default Avatar
  • İleti: 397
[YARDIM] Tag Panel
« : 25 Mart 2017, 18:43:32 »
Butona Basınca Usere Tag Verdirmek İstiyorum Bunu Nasıl Yapacağım :)
« Son Düzenleme: 25 Mart 2017, 20:22:26 Gönderen: Narkoz »
 

MTASA-TURK | Türkiye'nin En Güncel MTA Platformu

[YARDIM] Tag Panel
« : 25 Mart 2017, 18:43:32 »

ertrldtcu

  • Deneyimli Üye
  • *
  • İleti: 448
Ynt: [Yardım] Tag Panel
« Yanıtla #1 : 25 Mart 2017, 18:50:50 »
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?
Script yazmak için kod bilmek yetmez.
 

By.Angel

  • Deneyimli Üye
  • *
  • Default Avatar
  • İleti: 397
Ynt: [Yardım] Tag Panel
« Yanıtla #2 : 25 Mart 2017, 18:52:18 »
Adamın Üzerinde Tag Göstercek

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

ertrldtcu

  • Deneyimli Üye
  • *
  • İleti: 448
Ynt: [Yardım] Tag Panel
« Yanıtla #3 : 25 Mart 2017, 19:11:00 »
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
  1. triggerServerEvent("event-adi",localPlayer)

Tıklama Eventini kullanmayı öğrenmek için Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın konusuna göz at.

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



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

client-side
Kod: Lua
  1. addEventHandler("onClientGUIClick",root,function()
  2.     if source == buton-degiskeni then
  3.         triggerServerEvent("tag_ver",localPlayer,"[Sıradan Oyuncu]")
  4.     end
  5. end)

server-side
Kod: Lua
  1. local taglar = {}
  2. addEvent("tag_ver",true)
  3. addEventHandler("tag_ver",root,function(tag)
  4.     taglar[source] = tag
  5. end)
  6. addEventHandler("onPlayerChat",root,function(msg)
  7.     cancelEvent()
  8.     if taglar[source] then
  9.         local pr,pg,pb = getPlayerNametagColor(source)
  10.         outputChatBox(RGBToHex(pr,pg,pb)..taglar[source].." "..getPlayerName(source).."#FFFFFF: "..msg,root,255,255,255,true)
  11.     else
  12.         outputChatBox(RGBToHex(pr,pg,pb)..getPlayerName(source).."#FFFFFF: "..msg,root,255,255,255,true)
  13.     end
  14. end)
« Son Düzenleme: 25 Mart 2017, 19:21:35 Gönderen: ertrldtcu »
Script yazmak için kod bilmek yetmez.
 

Rüzgar

  • Acemi Üye
  • *
  • İleti: 158
Ynt: [Yardım] Tag Panel
« Yanıtla #4 : 25 Mart 2017, 19:17:58 »
Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
Adamın Üzerinde Tag Göstercek

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

By.Angel

  • Deneyimli Üye
  • *
  • Default Avatar
  • İleti: 397
Ynt: [YARDIM] Tag Panel
« Yanıtla #5 : 25 Mart 2017, 20:59:40 »
Ahmet abi kodu bekliyorum.
« Son Düzenleme: 25 Mart 2017, 21:09:41 Gönderen: By.Angel »
 

MTASA-TURK | Türkiye'nin En Güncel MTA Platformu

Ynt: [YARDIM] Tag Panel
« Yanıtla #5 : 25 Mart 2017, 20:59:40 »

Rüzgar

  • Acemi Üye
  • *
  • İleti: 158
Ynt: [YARDIM] Tag Panel
« Yanıtla #6 : 25 Mart 2017, 21:18:09 »
Kod: Lua
  1. local tablo = {}
  2. _tagVerisiAdi = "TAG";
  3. _tagVerisiAl = getElementData;
  4. _YerelOyuncu = localPlayer;
  5. _komutEkle = addCommandHandler;
  6. _eventCalistir = addEventHandler;
  7. _root = getRootElement();
  8. _komut = "tagver";
  9. _oyuncuIsimRengi = getPlayerNametagColor;
  10. function tablo._tagAl(cmd,tag)
  11.         _tag = tag;
  12.         _tostring = tostring;
  13.         triggerServerEvent("tag_ver",_YerelOyuncu, _YerelOyuncu,"[".._tostring(_tag).."]");
  14. end
  15. _komutEkle(_komut, tablo._tagAl)
  16. function tablo._TagYazisi()
  17.   for k,_v in ipairs(getElementsByType("player")) do
  18.     if _v == _YerelOyuncu then
  19.       cancelEvent()
  20.     else
  21.       local _r,_g,_b = _oyuncuIsimRengi(_YerelOyuncu);
  22.       _dxDrawText(_v,_tagVerisiAl(_v, _tagVerisiAdi),1,20,_r,_g,_b,255,1,"pricedown")
  23.     end
  24.   end
  25. end
  26. _eventCalistir("onClientRender", _root, tablo._TagYazisi)
  27. function _dxDrawText(TheElement,text,height,distance,R,G,B,alpha,size,font,checkBuildings,checkVehicles,checkPeds,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)
  28.                                 local x, y, z = getElementPosition(TheElement)
  29.                                 local x2, y2, z2 = getElementPosition(localPlayer)
  30.                                 local distance = distance or 20
  31.                                 local height = height or 1
  32.                                 local checkBuildings = checkBuildings or true
  33.                                 local checkVehicles = checkVehicles or false
  34.                                 local checkPeds = checkPeds or false
  35.                                 local checkObjects = checkObjects or true
  36.                                 local checkDummies = checkDummies or true
  37.                                 local seeThroughStuff = seeThroughStuff or false
  38.                                 local ignoreSomeObjectsForCamera = ignoreSomeObjectsForCamera or false
  39.                                 local ignoredElement = ignoredElement or nil
  40.                                 if (isLineOfSightClear(x, y, z, x2, y2, z2, checkBuildings, checkVehicles, checkPeds , checkObjects,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)) then
  41.                                         local sx, sy = getScreenFromWorldPosition(x, y, z+height)
  42.                                         if(sx) and (sy) then
  43.                                                 local distanceBetweenPoints = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2)
  44.                                                 if(distanceBetweenPoints < distance) then
  45.                                                         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")
  46.                         end
  47.                 end
  48.         end
  49. end
  50.  
Kod: Lua
  1. local taglar = {}
  2. local tablo = {}
  3. _tagVerisiVer = setElementData;
  4. _tagVerisiAl = getElementData;
  5. _bool = true;
  6. _mesajVer = outputChatBox;
  7. _root = getRootElement();
  8. _eventEkle = addEvent;
  9. _eventCalistir = addEventHandler;
  10. _serverEventi = "tag_ver";
  11. _oyuncuKonusmasi = "onPlayerChat";
  12. _oyuncuIsimRengi = getPlayerNametagColor;
  13. _oyuncuIsimiAl = getPlayerName;
  14. _tagVerisiAdi = "TAG";
  15. function tablo._tagVerFunc(player, tag)
  16.     taglar[source] = tag
  17.     _tagVerisiVer(player, _tagVerisiAdi, taglar[source]);
  18. end
  19. _eventEkle(_serverEventi, _bool)
  20. _eventCalistir(_serverEventi, _root, tablo._tagVerFunc)
  21. function tablo._func(msg)
  22.   _kaynak = source
  23.   _msg = msg;
  24.     if taglar[source] then
  25.         local _r,_g,_b = _oyuncuIsimRengi(_kaynak);
  26.         _mesajVer(_tagVerisiAl(_kaynak, _tagVerisiAdi).." ".._oyuncuIsimiAl(_kaynak).."#FFFFFF: ".._msg,_root,math.random(0,255),math.random(0,255),math.random(0,255),_bool);
  27.     else
  28.         _mesajVer(_oyuncuIsimiAl(_kaynak).."#FFFFFF: ".._msg,_root,_r,_g,_b,true);
  29.     end
  30. end
  31. _eventCalistir(_oyuncuKonusmasi, _root, tablo._func)
  32.  
« Son Düzenleme: 25 Mart 2017, 22:03:23 Gönderen: Rüzgar »
 

Rüzgar

  • Acemi Üye
  • *
  • İleti: 158
Ynt: [YARDIM] Tag Panel
« Yanıtla #7 : 25 Mart 2017, 21:31:06 »
Ufak Düzenleme yaptım tekrar kullanabilirsin.
 

By.Angel

  • Deneyimli Üye
  • *
  • Default Avatar
  • İleti: 397
Ynt: [YARDIM] Tag Panel
« Yanıtla #8 : 25 Mart 2017, 21:37:47 »
Hangi Kod'ta
 

Rüzgar

  • Acemi Üye
  • *
  • İleti: 158
Ynt: [YARDIM] Tag Panel
« Yanıtla #9 : 25 Mart 2017, 22:02:25 »
1.kod ile değiştir;
Kod: Lua
  1. local tablo = {}
  2. _tagVerisiAdi = "TAG";
  3. _tagVerisiAl = getElementData;
  4. _YerelOyuncu = localPlayer;
  5. _komutEkle = addCommandHandler;
  6. _eventCalistir = addEventHandler;
  7. _root = getRootElement();
  8. _komut = "tagver";
  9. _oyuncuIsimRengi = getPlayerNametagColor;
  10. function tablo._tagAl(cmd,tag)
  11.         _tag = tag;
  12.         _tostring = tostring;
  13.         triggerServerEvent("tag_ver",_YerelOyuncu, _YerelOyuncu,"[".._tostring(_tag).."]");
  14. end
  15. _komutEkle(_komut, tablo._tagAl)
  16. function tablo._TagYazisi()
  17.   for k,_v in ipairs(getElementsByType("player")) do
  18.     if _v == _YerelOyuncu then
  19.       cancelEvent()
  20.     else
  21.       local _r,_g,_b = _oyuncuIsimRengi(_YerelOyuncu);
  22.       _dxDrawText(_v,_tagVerisiAl(_v, _tagVerisiAdi),1,20,_r,_g,_b,255,1,"pricedown")
  23.     end
  24.   end
  25. end
  26. _eventCalistir("onClientRender", _root, tablo._TagYazisi)
  27. function _dxDrawText(TheElement,text,height,distance,R,G,B,alpha,size,font,checkBuildings,checkVehicles,checkPeds,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)
  28.                                 local x, y, z = getElementPosition(TheElement)
  29.                                 local x2, y2, z2 = getElementPosition(localPlayer)
  30.                                 local distance = distance or 20
  31.                                 local height = height or 1
  32.                                 local checkBuildings = checkBuildings or true
  33.                                 local checkVehicles = checkVehicles or false
  34.                                 local checkPeds = checkPeds or false
  35.                                 local checkObjects = checkObjects or true
  36.                                 local checkDummies = checkDummies or true
  37.                                 local seeThroughStuff = seeThroughStuff or false
  38.                                 local ignoreSomeObjectsForCamera = ignoreSomeObjectsForCamera or false
  39.                                 local ignoredElement = ignoredElement or nil
  40.                                 if (isLineOfSightClear(x, y, z, x2, y2, z2, checkBuildings, checkVehicles, checkPeds , checkObjects,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)) then
  41.                                         local sx, sy = getScreenFromWorldPosition(x, y, z+height)
  42.                                         if(sx) and (sy) then
  43.                                                 local distanceBetweenPoints = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2)
  44.                                                 if(distanceBetweenPoints < distance) then
  45.                                                         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")
  46.                         end
  47.                 end
  48.         end
  49. end
  50.