GTA Közösség - A magyar GTA fórum

Multi Theft Auto (MTA) => MTA: Szerverfejlesztés => Segítségkérés => A témát indította: Xentia - 2017. Április 29. - 00:12:11

Cím: SetPlayerName Space használata
Írta: Xentia - 2017. Április 29. - 00:12:11
Sziasztok szeretném használni a SetPlayerName parancsot szerver oldalon, viszont ha a játékos névnek rakok be space-t akkor nem módosul a név.
 
https://wiki.multitheftauto.com/wiki/SetPlayerName
 
Itt lenne maga a kód :
 
setPlayerName(client, \"Jozska Pityu\")
Cím: SetPlayerName Space használata
Írta: BlackSy - 2017. Április 29. - 07:41:17
Szia. Ez nem szereti a space-t, nevekhez használj getElementData-t.
 
 
Cím: SetPlayerName Space használata
Írta: Xenius - 2017. Április 29. - 14:46:11

local _getPlayerName = getPlayerName
local _setPlayerName = setPlayerName
function getPlayerName(player)
return getElementData(player, \"customname\") or _getPlayerName(player)
end
function setPlayerName(player, name)
_setPlayerName(player, name)
setElementData(player, \"customname\", name)
end

 
Ezeket exportáld ki egy központi resoruceból amit mindenhol használni fogsz.
 
 
 
Szerk:
 
amúgy ez egyszerűbb, ha nem akarsz ékezeteket használni
 

setPlayerName(player, string.gsub(\"Jozska Pityu\", \" \", \"_\"))

 
lekérdezés:
 

string.gsub(getPlayerName(player), \"_\", \" \")

 
 
Cím: SetPlayerName Space használata
Írta: Xentia - 2017. Április 29. - 21:43:24
Ezzel a kóddal amelyik játékos felcsatlakozik a játékos neve Jozska_Pityu lesz.
 
Viszont nekem Jozska Pityu kellene. 
 



   
       
   
   
      local _getPlayerName = getPlayerName
      local _setPlayerName = setPlayerName
   
   
      function getPlayerName(player)
          return getElementData(player, \"customname\") or _getPlayerName(player)
      end
   
   
      function setPlayerName(player, name)
          _setPlayerName(player, name)
          setElementData(player, \"customname\", name)
      end
   
   
      
      function onPlayerJoin ()
          -- Szerveren a nevem Jozska_Pityu lesz
          setPlayerName(source, string.gsub(\"Jozska Pityu\", \" \", \"_\"))
      end
      addEventHandler(\"onPlayerJoin\", getRootElement(), onPlayerJoin )
   
   
       
   

[/quote]
 
 
Cím: SetPlayerName Space használata
Írta: Xenius - 2017. Április 30. - 09:33:31

string.gsub(getPlayerName(player), \"_\", \" \")

 
...
Cím: SetPlayerName Space használata
Írta: id100 - 2017. Április 30. - 12:16:10
getPlayerName(player):gsub(\"_\", \" \")
 
elméletben ez is működik (számomra letisztultabb de egyébként teljesen mindegy melyiket használod.)
Cím: SetPlayerName Space használata
Írta: thegergo02 - 2017. Május 01. - 08:38:02
Idézetet írta: id100 date=1493547370


   
      getPlayerName(player):gsub(\"_\", \" \")
   
   
      elméletben ez is működik (számomra letisztultabb de egyébként teljesen mindegy melyiket használod.)
   


Ez asszem nem valami OPP cucc?
Cím: SetPlayerName Space használata
Írta: id100 - 2017. Május 01. - 15:10:43
Nem, a : sima lua-ban is működik tudomásom szerint.
 
(Stringek kezeléséhez használom és sehol nincs engedélyezve az OOP)
Cím: SetPlayerName Space használata
Írta: Enigma - 2017. Május 01. - 21:02:53
A Lua standard library funkciókra nem hat az oop ki/bekapcsolása. Az csak MTA specifikus funkciókra érvényes.
Cím: SetPlayerName Space használata
Írta: thegergo02 - 2017. Május 02. - 15:58:58
Idézetet írta: Enigma date=1493665373


   
      A Lua standard library funkciókra nem hat az oop ki/bekapcsolása. Az csak MTA specifikus funkciókra érvényes.
   


 
 
Idézetet írta: id100 date=1493644243


   
      Nem, a : sima lua-ban is működik tudomásom szerint.
   
   
      (Stringek kezeléséhez használom és sehol nincs engedélyezve az OOP)
   


Oké, én is tanultam ma valamit.
Cím: SetPlayerName Space használata
Írta: Xentia - 2017. Május 04. - 10:25:52
Sikerült orvosolni a problémát, köszönöm mindenkinek a segítséget!