Dankeeee ;)) Es geht!!!
MfG
Dankeeee ;)) Es geht!!!
MfG
Nein dann geht alles, also wenn ich keine WorldObjekte remove. (kein flackern)
Wieder nicht... ich verzweifel so langsam...
@LuXorioN möchtest du evtl. mal auf meinen Server kommen, wenn du Zeit hast und dir das ganze mal ansehen?
MfG
Edit: Ich mach einfach mal ein paar Screens dann seht ihr, was ich genau meine mit "flackern"
Edit: Hier die Screens:
http://www.pic-upload.de/view-21014142/…-12-54.png.html
http://www.pic-upload.de/view-21014141/…-13-08.png.html
http://www.pic-upload.de/view-21014143/…-13-11.png.html
http://www.pic-upload.de/view-21014148/…-13-15.png.html
http://www.pic-upload.de/view-21014152/…-13-22.png.html
http://www.pic-upload.de/view-21014151/…-13-25.png.html
http://www.pic-upload.de/view-21014156/…-13-26.png.html
Also ich nutze meinen Pi momentan als Samba Server. XBMC ist nicht so zu empfehlen, da es (zumindest bei mir) noch etwas ruckelt und nicht ganz perfekt läuft.
MfG
Dankeschön, ich werde es gleich testen :))
function delObjects()removeWorldModel(10392, 50, -2339.859375, -53.90625, 40.296875)
removeWorldModel(10507, 50, -2339.859375, -53.90625, 40.296875)
removeWorldModel(10391, 50, -2338.7578125, -32.96875, 42.6328125)
removeWorldModel(10508, 50, -2338.7578125, -32.96875, 42.6328125)
removeWorldModel(10390, 50, -2302.140625, 10.5859375, 42.5546875)
removeWorldModel(10509, 50, -2302.140625, 10.5859375, 42.5546875)
removeWorldModel(705, 50, -2340.7734375, 13.8671875, 33.3515625)
removeWorldModel(0, 50, -2340.7734375, 13.8671875, 33.3515625)
removeWorldModel(708, 50, -2350.7265625, -1.4609375, 32.9296875)
removeWorldModel(0, 50, -2350.7265625, -1.4609375, 32.9296875)
removeWorldModel(672, 50, -2357.0546875, 22.375, 35.234375)
removeWorldModel(0, 50, -2357.0546875, 22.375, 35.234375)
removeWorldModel(673, 50, -2337.765625, -14, 34.3671875)
removeWorldModel(0, 50, -2337.765625, -14, 34.3671875)
removeWorldModel(669, 50, -2357.015625, -16.4140625, 34.6171875)
end
addEventHandler ( "onResourceStart", getRootElement(), delObjects )
Alles anzeigen
Hier z.B. beim Gabelstablerjob vom LA Update. Habe das Problem aber generell.
Ich habe es mit einer Funktion gemacht, in einem Script.
Hallo, wenn ich World Objekts remove, flackert es an der Stelle danach und die Welt hat aufbaufehler.
Kann mit jemand helfen?
MfG
VIO Gamemode stirbt so oder so nicht aus. Wenn es releast wird sind dann wenigstens ein paar Server in LS und nicht in SF. Auserdem ist es doch letztendlich Sandkinqqs Entdcheidung und laut der Umfrage stimmen die meisten für JA
Ich würde mich freuen, wenn du es releasen würdest, da es in LS ist
Zitat
Freue mich schon falls Release wird
Also den Fehler mit der Data.lua habe ich auch. Ich habe ihn versucht zu fixen aber dann bekomme ich aber noch andere Errors dazu.
Habe das gleiche Problem, auch generell mit World Objekten und diesem flackern.
Im Clicksystem unter Cashpoints.
Jo habs mal ersetz ich warte mal bis morgen ob ein Error kommt, denn dieser Error kommt nur ganz selten. Und hast du eine Idee zur data.lua?
Okay danke. Also nur das Stück soll ich in meiner ersetzen?
das ist doch nicht die lua von register_login_server
Ich war gerade bei der Data.lua. Das ist ja das Hauptproblem
Hier die register_login_server
_G["Clantag"] = "no"
clanMembers = {}
ticketPermitted = {}
local vals = {}
vals[1] = "Water"
vals[2] = "Bloom"
vals[3] = "Carpaint"
vals[4] = "Roadshine"
function banCheck ( nick, ip, uname, serial )
bool = false
connectCanceled = false
local i, j = string.find ( nick, "mtasa" )
if nick ~= MySQL_Save ( nick ) then
cancelEvent ( true, "Dein Nickname enthaelt unnoetige Zeichen" )
connectCanceled = true
elseif nick == "Player" then
cancelEvent ( true, "Bitte waehle einen Nickname ( Unter "Settings" )" )
connectCanceled = true
elseif i and j then
cancelEvent ( true, "Fuck you!" )
connectCanceled = true
else
local bantime = tonumber ( MySQL_GetString ( "ban", "STime", "Name LIKE '"..nick.."'" ) )
if bantime then
bool = not ( bantime == 0 )
end
if bool and bantime then
if ( bantime - getTBanSecTime ( 0 ) ) < 0 then
MySQL_DelRow ( "ban", "Name LIKE '"..nick.."'")
elseif bantime > 0 then
local reason = MySQL_GetString ( "ban", "Grund", "Name LIKE '"..nick.."'" )
local admin = MySQL_GetString ( "ban", "Admin", "Name LIKE '"..nick.."'" )
local diff = math.floor ( ( ( bantime - getTBanSecTime ( 0 ) ) / 60 ) * 100 ) / 100
cancelEvent ( true, "Du bist noch "..diff.." Stunden von "..admin.." gesperrt, Grund: "..reason )
connectCanceled = true
end
else
-- IP-Ban deaktiviert --
local ipBanned = false--MySQL_GetString ( "ban", "Grund", "IP LIKE '" ..ip.."'" )
-- IP-Ban deaktiviert --
local ip1 = tostring ( gettok ( ip, 1, string.byte('.') ) )
local ip2 = tostring ( gettok ( ip, 2, string.byte('.') ) )
local ipRangeBanned = MySQL_GetString ( "ban", "Grund", "IP LIKE '"..ip1.."."..ip2..".*.*'" )
local nickBanned = MySQL_GetString("ban", "Name", "Name LIKE '" ..nick.."'" )
if ipBanned then
local reason = MySQL_GetString ( "ban", "Grund", "IP LIKE '" ..ip.."'" )
local admin = MySQL_GetString ( "ban", "Admin", "IP LIKE '" ..ip.."'" )
cancelEvent ( true, "Du bist von "..admin.." gebannt worden! Grund: "..reason..", bei Fragen wende dich bitte an das Team! www.SkylineGaming.de/forum" )
connectCanceled = true
elseif ipRangeBanned then
cancelEvent ( true, "#409: Bad socket!" )
elseif nickBanned then
local reason = MySQL_GetString ( "ban", "Grund", "Name LIKE '" ..nick.."'" )
local admin = MySQL_GetString ( "ban", "Admin", "Name LIKE '" ..nick.."'" )
cancelEvent ( true, "Du bist von "..admin.." gebannt worden! Grund: "..reason..", bei Fragen wende dich bitte an das Team! www.SkylineGaming.de/forum" )
connectCanceled = true
elseif getPlayerWarnCount ( nick ) >= 3 then
cancelEvent ( true, "Du hast 3 Warns! Ablaufdatum des nächsten Warns: "..getLowestWarnExtensionTime ( nick ) )
connectCanceled = true
else
local serialBanned = MySQL_GetString ( "ban", "Grund", "Serial LIKE '%"..serial.."%'" )
if serialBanned then
local reason = MySQL_GetString ( "ban", "Grund", "Serial LIKE '"..serial.."'" )
local admin = MySQL_GetString ( "ban", "Admin", "Serial LIKE '"..serial.."'" )
cancelEvent ( true, "Du bist von "..admin.." gebannt worden! Grund: "..reason..", bei Fragen wende dich bitte an das Team!" )
connectCanceled = true
end
end
end
end
if not connectCanceled then
insertPlayerIntoLoggedIn ( nick, ip, serial )
end
end
addEventHandler ( "onPlayerConnect", getRootElement(), banCheck )
function saltPassword ( pname, string )
local salt = MySQL_GetString("players", "Salt", "Name LIKE '" ..MySQL_Save(pname).."'")
return string..salt
end
function generateNewSalt ()
local runs = 1
while true and runs <= 10 do
runs = runs + 1
salt = ""
for i = 1, 20 do
salt = salt .. string.char ( math.random(1,128) )
end
if salt == MySQL_Save ( salt ) then
break
end
end
return salt
end
function regcheck_func ( player )
setPedStat ( player, 22, 50 )
vioSetElementData ( player, "loggedin", 0 )
vioSetElementData ( player, "pwfailed", 0 )
pname = getPlayerName ( player )
toggleAllControls ( player, false )
if player == client then
if isSerialValid ( getPlayerSerial(player) ) or isRegistered ( pname ) then
if hasInvalidChar ( player ) and not isRegistered ( pname ) then
kickPlayer ( player, "Dein Name enthaelt ungueltige Zeichen!" )
else
if pname ~= "player" then
if isRegistered ( pname ) then
triggerClientEvent ( player, "ShowLoginWindow", getRootElement() )
else
local clantag = gettok ( pname, 1, string.byte(']') )
if testmode == true then
triggerClientEvent ( player, "ShowRegisterGui", getRootElement() )
else
if string.lower ( clantag ) == "[vio" and not isThisTheBetaServer () then
outputChatBox ("Du bist kein Mitglied des Clans!", player, 255, 0, 0 )
elseif #pname < 3 or #pname > 20 then
kickPlayer ( player, "Bitte mindestens 3 und maximal 20 Zeichen als Nickname!" )
elseif hasInvalidChar ( player ) then
kickPlayer ( player, "Bitte nimm einen Nickname ohne ueberfluessige Zeichen!" )
else
triggerClientEvent ( player, "ShowRegisterGui", getRootElement() )
end
end
end
else
kickPlayer ( player, "Bitte aendere deinen Nickname!" )
end
end
else
kickPlayer ( player, "Dein MTA verwendet einen ungueltigen Serial. Bitte neu installieren!" )
end
end
end
addEvent ( "regcheck", true )
addEventHandler ("regcheck", getRootElement(), regcheck_func )
function getIDByName ( pname )
return tonumber ( MySQL_GetString ( "players", "id", "Name LIKE '"..pname.."'" ) )
end
function register_func ( player, passwort, bday, bmon, byear, geschlecht )
if player == client then
local pname = MySQL_Save ( getPlayerName ( player ) )
if passwort == MySQL_Save ( passwort ) then
passwort = MySQL_Save ( passwort )
bday = MySQL_Save ( bday )
bmon = MySQL_Save ( bmon )
byear = MySQL_Save ( byear )
geschlecht = MySQL_Save ( geschlecht )
if vioGetElementData ( player, "loggedin" ) == 0 and not isRegistered ( pname ) and player == client then
setPlayerLoggedIn ( pname )
mysql_vio_query ( "DELETE FROM achievments WHERE Name = '"..pname.."'" )
mysql_vio_query ( "DELETE FROM bonustable WHERE Name = '"..pname.."'" )
mysql_vio_query ( "DELETE FROM inventar WHERE Name = '"..pname.."'" )
mysql_vio_query ( "DELETE FROM packages WHERE Name = '"..pname.."'" )
mysql_vio_query ( "DELETE FROM players WHERE Name = '"..pname.."'" )
mysql_vio_query ( "DELETE FROM skills WHERE Name = '"..pname.."'" )
mysql_vio_query ( "DELETE FROM userdata WHERE Name = '"..pname.."'" )
toggleAllControls ( player, true )
vioSetElementData ( player, "loggedin", 1 )
triggerClientEvent ( source, "DisableRegisterGui", getRootElement() )
local ip = getPlayerIP ( player )
if geschlecht == nil then
geschlecht = 1
end
local regtime = getRealTime()
local year = regtime.year + 1900
local month = regtime.month
local day = regtime.monthday
local hour = regtime.hour
local minute = regtime.minute
local registerdatum = tostring(day.."."..month.."."..year..", "..hour..":"..minute)
local lastlogin = registerdatum
local salt = generateNewSalt ()
vioSetElementData ( player, "salt", salt )
local passwort = md5 ( passwort .. salt )
local lastLoginInt = getSecTime ( 0 )
local id = MySQL_GetString ( "idcounter", "id", "id = id" )
mysql_vio_query ( "UPDATE idcounter SET id = id + 1" )
local result = mysql_query(handler, "INSERT INTO players ( id, Name, Serial, IP, Last_login, Geburtsdatum_Tag, Geburtsdatum_Monat, Geburtsdatum_Jahr, Passwort, Geschlecht, RegisterDatum, Salt, LastLogin) VALUES ( '"..id.."', '"..pname.."', '"..getPlayerSerial(player).."', '"..getPlayerIP ( player ).."', '"..lastlogin.."', "..tonumber ( bday)..", "..tonumber ( bmon)..", "..tonumber ( byear)..", '"..passwort.."', '"..geschlecht.."', '"..registerdatum.."', '"..salt.."', '"..lastLoginInt.."' )")
if( not result) then
outputDebugString("Error executing the query: (" .. mysql_errno(handler) .. ") " .. mysql_error(handler))
else
mysql_free_result(result)
triggerClientEvent ( player, "infobox_start", getRootElement(), "Du hast dich\nerfolgreich registriert!\n\nDeine Daten werden\nnun gespeichert!", 7500, 0, 255, 0 )
end
local result = mysql_query(handler, "INSERT INTO achievments (Name) VALUES ('"..pname.."')")
if( not result) then
outputDebugString("Error executing the query: (" .. mysql_errno(handler) .. ") " .. mysql_error(handler))
else
mysql_free_result(result)
end
local result = mysql_query(handler, "INSERT INTO inventar (Name) VALUES ('"..pname.."')")
if( not result) then
outputDebugString("Error executing the query: (" .. mysql_errno(handler) .. ") " .. mysql_error(handler))
else
mysql_free_result(result)
end
local result = mysql_query(handler, "INSERT INTO packages (Name, Paket1, Paket2, Paket3, Paket4, Paket5, Paket6, Paket7, Paket8, Paket9, Paket10, Paket11, Paket12, Paket13, Paket14, Paket15, Paket16, Paket17, Paket18, Paket19, Paket20, Paket21, Paket22, Paket23, Paket24, Paket25) VALUES ('"..pname.."','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0' )")
if( not result) then
outputDebugString("Error executing the query: (" .. mysql_errno(handler) .. ") " .. mysql_error(handler))
else
mysql_free_result(result)
end
local result = mysql_query(handler, "INSERT INTO bonustable (Name, Lungenvolumen, Muskeln, Kondition, Boxen, KungFu, Streetfighting, CurStyle, PistolenSkill, DeagleSkill, ShotgunSkill, AssaultSkill) VALUES ('"..pname.."', 'none', 'none', 'none', 'none', 'none', 'none', '4', 'none', 'none', 'none', 'none' )")
if( not result) then
outputDebugString("Error executing the query: (" .. mysql_errno(handler) .. ") " .. mysql_error(handler))
else
mysql_free_result(result)
end
mysql_vio_query ( "INSERT INTO skills ( id, Name ) VALUES ( '"..getIDByName ( pname ).."', '"..pname.."' )" )
local Geld = 250000
vioSetElementData ( player, "money", Geld )
givePlayerMoney ( player, Geld )
local Punkte = 0
vioSetElementData ( player, "points", Punkte )
local Paeckchen = "90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
vioSetElementData ( player, "packages", Paeckchen )
local Spawnpos_X = -2458.288085
vioSetElementData ( player, "spawnpos_x", Spawnpos_X )
local Spawnpos_Y = 774.354492
vioSetElementData ( player, "spawnpos_y", Spawnpos_Y )
local Spawnpos_Z = 35.171875
vioSetElementData ( player, "spawnpos_z", Spawnpos_Z )
local Spawnrot_X = 52.94
vioSetElementData ( player, "spawnrot_x", Spawnrot_X )
local SpawnInterior = 0
vioSetElementData ( player, "spawnint", SpawnInterior )
local SpawnDimension = 0
vioSetElementData ( player, "spawndim", SpawnDimension )
local Fraktion = 0
vioSetElementData ( player, "fraktion", Fraktion )
local FraktionsRang = 0
vioSetElementData ( player, "rang", FraktionsRang )
local Adminlevel = 0
vioSetElementData ( player, "adminlvl", Adminlevel )
local Spielzeit = 0
vioSetElementData ( player, "playingtime", Spielzeit )
local CurrentCars = 0
vioSetElementData ( player, "curcars", CurrentCars )
local Maximumcars = 20
vioSetElementData ( player, "maxcars", Maximumcars )
local Carslot1 = 0
vioSetElementData ( player, "carslot1", Carslot1 )
local Carslot2 = 0
vioSetElementData ( player, "carslot2", Carslot2 )
local Carslot3 = 0
vioSetElementData ( player, "carslot3", Carslot3 )
local Carslot4 = 0
vioSetElementData ( player, "carslot4", Carslot4 )
local Carslot5 = 0
vioSetElementData ( player, "carslot5", Carslot5 )
local Carslot6 = 0
vioSetElementData ( player, "carslot6", Carslot6 )
local Carslot7 = 0
vioSetElementData ( player, "carslot7", Carslot7 )
local Carslot8 = 0
vioSetElementData ( player, "carslot8", Carslot8 )
local Carslot9 = 0
vioSetElementData ( player, "carslot9", Carslot9 )
local Carslot10 = 0
vioSetElementData ( player, "carslot10", Carslot10 )
local Carslot11 = 0
vioSetElementData ( player, "carslot11", Carslot11 )
local Carslot12 = 0
vioSetElementData ( player, "carslot12", Carslot12 )
local Carslot13 = 0
vioSetElementData ( player, "carslot13", Carslot13 )
local Carslot14 = 0
vioSetElementData ( player, "carslot14", Carslot14 )
local Carslot15 = 0
vioSetElementData ( player, "carslot15", Carslot15 )
local Carslot16 = 0
vioSetElementData ( player, "carslot16", Carslot16 )
local Carslot17 = 0
vioSetElementData ( player, "carslot17", Carslot17 )
local Carslot18 = 0
vioSetElementData ( player, "carslot18", Carslot18 )
local Carslot19 = 0
vioSetElementData ( player, "carslot19", Carslot19 )
local Carslot20 = 0
vioSetElementData ( player, "carslot20", Carslot20 )
local Tode = 0
vioSetElementData ( player, "deaths", Tode )
local Kills = 0
vioSetElementData ( player, "kills", Kills )
local Knastzeit = 0
vioSetElementData ( player, "jailtime", Knastzeit )
local Alkazeit = 0
vioSetElementData ( player, "prisontime", Alkazeit )
local Hoellenzeit = 0
vioSetElementData ( player, "helltime", Hoellenzeit )
local Himmelszeit = 0
vioSetElementData ( player, "heaventime", Himmelszeit )
local Hausschluessel = 0
vioSetElementData ( player, "housekey", 0 )
local Bizschluessel = 0
vioSetElementData ( player, "bizkey", Bizschluessel )
local Bankgeld = 250000
vioSetElementData ( player, "bankmoney", Bankgeld )
local Drogen = 0
vioSetElementData ( player, "drugs", Drogen )
if geschlecht == 1 then
local rnd = math.random ( 1, 1 )
Skinid = femalehomeless[rnd]
vioSetElementData ( player, "skinid", Skinid )
else
local rnd = math.random ( 1, 5 )
Skinid = malehomeless[rnd]
vioSetElementData ( player, "skinid", Skinid )
end
local Autofuehrerschein = 0
vioSetElementData ( player, "carlicense", Autofuehrerschein )
local Motorradtfuehrerschein = 0
vioSetElementData ( player, "bikelicense", Motorradtfuehrerschein )
local LKWfuehrerschein = 0
vioSetElementData ( player, "lkwlicense", LKWfuehrerschein )
local Helikopterfuehrerschein = 0
vioSetElementData ( player, "helilicense", Helikopterfuehrerschein )
local FlugscheinKlasseA = 0
vioSetElementData ( player, "planelicensea", FlugscheinKlasseA )
local FlugscheinKlasseB = 0
vioSetElementData ( player, "planelicenseb", FlugscheinKlasseB )
local Motorbootschein = 0
vioSetElementData ( player, "motorbootlicense", Motorbootschein )
local Segelschein = 0
vioSetElementData ( player, "segellicense", Segelschein)
local Angelschein = 0
vioSetElementData ( player, "fishinglicense", Angelschein)
local Wanteds = 0
vioSetElementData ( player, "wanteds", Wanteds )
local StvoPunkte = 0
vioSetElementData ( player, "stvo_punkte", StvoPunkte )
local Waffenschein = 0
vioSetElementData ( player, "gunlicense", Waffenschein )
local Perso = 0
vioSetElementData ( player, "perso", Perso )
local IncomePayday = 0
vioSetElementData ( player, "incomepayday", IncomePayday )
local Boni = 1000
vioSetElementData ( player, "boni", Boni )
local PdayIncome = 0
vioSetElementData ( player, "pdayincome", PdayIncome )
local PdayKosten = 0
vioSetElementData ( player, "pdaykosten", PdayKosten )
run = 1
while true do
if run >= 20 then
break
else
run = run + 1
end
local tnr = math.random ( 100, 9999999 )
local result = MySQL_GetString( "userdata", "Telefonnr", "Telefonnr LIKE '"..tnr.."'" )
if not result then
if tonumber ( tnr ) ~= 911 and tonumber ( tnr ) ~= 333 and tonumber ( tnr ) ~= 400 and tonumber (tnr ) ~= 666666 then
Telefonnr = tnr
break
end
end
end
if Telefonnr == nil then
Telefonnr = math.random ( 100, 9999999 )
end
vioSetElementData ( player, "telenr", Telefonnr )
local Warns = 0
vioSetElementData ( player, "warns", Warns )
local GunboxA = "0|0"
vioSetElementData ( player, "gunboxa", GunboxA )
local GunboxB = "0|0"
vioSetElementData ( player, "gunboxb", GunboxB )
local GunboxC = "0|0"
vioSetElementData ( player, "gunboxc", GunboxC )
local Job = "none"
vioSetElementData ( player, "job", Job )
local Jobtime = 0
vioSetElementData ( player, "jobtime", Jobtime )
local Club = "none"
vioSetElementData ( player, "club", Club )
local FavChannel = 0
vioSetElementData ( player, "favchannel", FavChannel )
local BonusPunkte = 100
vioSetElementData ( player, "bonuspoints", BonusPunkte )
local Truckerskill = 1
vioSetElementData ( player, "truckerlvl", Truckerskill )
local Airportskill = 1
vioSetElementData ( player, "airportlvl", Airportskill )
local farmerLVL = 0
vioSetElementData ( player, "farmerLVL", farmerLVL )
local Contract = 0
vioSetElementData ( player, "contract", Contract )
local socialState = "Neu auf SLR"
vioSetElementData ( player, "socialState", socialState )
local streetCleanPoints = 0
vioSetElementData ( player, "streetCleanPoints", streetCleanPoints )
vioSetElementData ( player, "handyType", 1 )
vioSetElementData ( player, "handyCosts", 0 )
_G[pname.."paydaytime"] = setTimer ( playingtime, 60000, 1, player )
vioSetElementData ( player, "loggedin", 1 )
vioSetElementData ( player, "muted", 0 )
vioSetElementData ( player, "ElementClicked", false )
vioSetElementData ( player, "curplayingtime", 0 )
vioSetElementData ( player, "housex", 0 )
vioSetElementData ( player, "housey", 0 )
vioSetElementData ( player, "housez", 0 )
vioSetElementData ( player, "house", "none" )
vioSetElementData ( player, "handystate", "on" )
vioSetElementData ( player, "object", 0 )
vioSetElementData ( player, "ammoTyp", 0 )
vioSetElementData ( player, "curAmmoTyp", 0 )
bindKey ( source, "r", "down", reload )
triggerClientEvent ( player, "sec_health_give", getRootElement(), 999 )
spawnPlayer ( player, vioGetElementData ( player, "spawnpos_z" ), vioGetElementData ( player, "spawnpos_y" ), vioGetElementData ( player, "spawnpos_z" ), vioGetElementData ( player, "spawnrot_x" ), vioGetElementData ( player, "spawnint" ), vioGetElementData ( player, "spawndim" ) )
triggerClientEvent ( player, "sec_health_give", getRootElement(), 999 )
isPremium ( player )
--fadeCamera ( player, true )
--setCameraTarget( player, player )
setPlayerWantedLevel ( player, Wanteds )
packageLoad ( player )
achievload ( player )
inventoryload ( player )
elementDataSettings ( player )
bonusLoad ( player )
skillDataLoad ( player )
local result = mysql_query(handler, "INSERT INTO userdata ( Name,Skinid,Telefonnr) VALUES('"..pname.."', '"..vioGetElementData ( player, "skinid" ).."', '"..Telefonnr.."')")
if( not result) then
outputDebugString("Error executing the query: (" .. mysql_errno(handler) .. ") " .. mysql_error(handler))
else
mysql_free_result(result)
outputDebugString ("Daten fuer Spieler "..pname.." wurden angelegt!")
end
outputChatBox ( "Druecke F1, um das Hilfemenue zu oeffnen!", player, 200, 200, 0 )
vioSetElementData ( player, "gameboy", 0 )
loadAddictionsForPlayer ( player )
-- Tutorial --
vioSetElementData ( player, "isInTut", true )
--triggerClientEvent ( player, "setPlayerInTutorial", player )
startintro_func ( player )
triggerEvent ( "onVioPlayerLogin", player )
end
else
outputChatBox ( "Dein Passwort enthaelt ungueltige Sonderzeichen!", player, 125, 0, 0 )
end
end
end
addEvent ( "register", true )
addEventHandler ( "register", getRootElement(), register_func)
function gameBeginGuiShow_func ( player )
if player == client then
vioSetElementData ( player, "isInTut", false )
triggerClientEvent ( player, "showBeginGui", getRootElement() )
showCursor ( player, true )
vioSetElementData ( player, "ElementClicked", true )
toggleAllControls ( player, true )
setElementPosition ( player, -1421.3, -287.2, 13.8 )
setElementInterior ( player, 0 )
bindKey ( source, "ralt", "down", showcurser, source )
bindKey ( source, "m", "down", showcurser, source )
bindKey ( source, "f1", "down", showhmenue, source )
end
end
addEvent ( "gameBeginGuiShow", true )
addEventHandler ( "gameBeginGuiShow", getRootElement(), gameBeginGuiShow_func)
function login_func ( player, passwort )
if player == client then
if vioGetElementData ( player, "loggedin" ) == 0 then
local pname = MySQL_Save ( getPlayerName ( player ) )
local passwort = MySQL_Save ( passwort )
local passwort = saltPassword ( pname, passwort )
local result = MySQL_GetString("players", "Passwort", "Name LIKE '" ..pname.."'")
if ( not result ) then
outputDebugString("Error executing the query: (" .. mysql_errno(handler) .. ") " .. mysql_error(handler))
else
if result == md5(passwort) then
local clantag = gettok ( pname, 1, string.byte(']') )
if string.lower ( clantag ) == "[".._G["Clantag"] then --or MySQL_ExistAmount ( "ticket_permitted", "name LIKE '"..pname.."'" ) > 0 then
if string.lower ( clantag ) == "[".._G["Clantag"] then
clanMembers[player] = pname
end
ticketPermitted[player] = pname
outputChatBox ( "Du kannst ankommende Anfragen mit /tickets bearbeiten.", player, 125, 0, 0 )
end
if MySQL_DatasetExist ( "ticket_answeres", "name LIKE '"..pname.."'" ) then
outputChatBox ( "Du hast eine Antwort auf deine Anfrage erhalten! Tippe /readticket, um sie zu lesen.", player, 0, 200, 0 )
end
setPlayerLoggedIn ( pname )
-- Alte Passwörter ohne Salt auf Salt umschreiben --
local salt = MySQL_GetString("players", "Salt", "Name LIKE '" ..MySQL_Save(pname).."'")
if salt == "" then
salt = generateNewSalt()
passwort = md5 ( passwort .. salt )
MySQL_SetString("players", "Salt", salt, "Name LIKE '" ..pname.."'")
MySQL_SetString("players", "Passwort", passwort, "Name LIKE '" ..pname.."'")
end
-- Salt --
vioSetElementData ( player, "salt", salt )
toggleAllControls ( player, true )
vioSetElementData ( player, "loggedin", 1 )
vioSetElementData ( player, "loggedin", 1 )
local logtime = getRealTime()
local year = logtime.year + 1900
local month = logtime.month + 1
local day = logtime.monthday
local hour = logtime.hour
local minute = logtime.minute
local lastLoginInt = getSecTime ( 0 )
local lastlogin = tostring(day.."."..month.."."..year..", "..hour..":"..minute)
local result = mysql_query ( handler, "SELECT * from userdata WHERE Name LIKE '"..pname.."'" )
if result then
if ( mysql_num_rows ( result ) > 0 ) then
dsatz = mysql_fetch_assoc ( result )
mysql_free_result ( result )
end
end
local money = tonumber ( dsatz["Geld"] )
vioSetElementData ( player, "money", money )
if money >= 0 then
givePlayerMoney ( player, money )
else
takePlayerMoney ( player, money )
end
local fraktion = tonumber ( dsatz["Fraktion"] )
vioSetElementData ( player, "fraktion", fraktion )
if fraktion > 0 then
fraktionMembers[fraktion][player] = fraktion
end
local rang = tonumber ( dsatz["FraktionsRang"] )
if rang == 1 then
bindKey ( player, "1", "down", tazer_func, player )
end
vioSetElementData ( player, "rang", tonumber ( rang ) )
local admnlvl = tonumber ( dsatz["Adminlevel"] )
vioSetElementData ( player, "adminlvl", admnlvl )
if admnlvl >= 1 then
adminsIngame[player] = admnlvl
end
vioSetElementData ( player, "spawnpos_x", dsatz["Spawnpos_X"] )
vioSetElementData ( player, "spawnpos_y", dsatz["Spawnpos_Y"] )
vioSetElementData ( player, "spawnpos_z", tonumber ( dsatz["Spawnpos_Z"] ) )
vioSetElementData ( player, "spawnrot_x", tonumber ( dsatz["Spawnrot_X"] ) )
vioSetElementData ( player, "spawnint", tonumber ( dsatz["SpawnInterior"] ) )
vioSetElementData ( player, "spawndim", tonumber ( dsatz["SpawnDimension"] ) )
vioSetElementData ( player, "playingtime", tonumber ( dsatz["Spielzeit"] ) )
vioSetElementData ( player, "curcars", tonumber ( dsatz["CurrentCars"] ) )
curcars = 0
local offerOnCar = false
for i = 1, 10 do
carvalue = MySQL_GetString("vehicles", "Special", "Slot LIKE '" ..i.."' AND Besitzer LIKE '"..pname.."'")
if carvalue == 2 then
vioSetElementData ( player, "yachtImBesitz", true )
end
if not carvalue then
if MySQL_DatasetExist("buyit", "Hoechstbietender LIKE '"..pname.."' AND Typ LIKE 'Veh'") then
carvalue = 3
offerOnCar = true
else
carvalue = 0
end
else
if carvalue == 2 then
carvalue = 2
else
carvalue = 1
end
curcars = curcars + 1
end
vioSetElementData ( player, "carslot"..i, carvalue )
end
vioSetElementData ( player, "curcars", curcars )
vioSetElementData ( player, "deaths", tonumber ( dsatz["Tode"] ) )
vioSetElementData ( player, "kills", tonumber ( dsatz["Kills"] ) )
vioSetElementData ( player, "jailtime", tonumber ( dsatz["Knastzeit"] ) )
vioSetElementData ( player, "heaventime", tonumber ( dsatz["Himmelszeit"] ) )
local Hausschluessel = MySQL_GetString("houses", "ID", "Besitzer LIKE '" ..pname.."'")
local key = tonumber ( dsatz["Hausschluessel"] )
if Hausschluessel then
vioSetElementData ( player, "housekey", tonumber ( Hausschluessel ) )
elseif key <= 0 then
vioSetElementData ( player, "housekey", key )
else
vioSetElementData ( player, "housekey", 0 )
end
vioSetElementData ( player, "bizkey", tonumber ( dsatz["Bizschluessel"] ) )
vioSetElementData ( player, "bankmoney", tonumber ( dsatz["Bankgeld"] ) )
vioSetElementData ( player, "drugs", tonumber ( dsatz["Drogen"] ) )
vioSetElementData ( player, "skinid", tonumber ( dsatz["Skinid"] ) )
vioSetElementData ( player, "carlicense", tonumber ( dsatz["Autofuehrerschein"] ) )
vioSetElementData ( player, "bikelicense", tonumber ( dsatz["Motorradtfuehrerschein"] ) )
vioSetElementData ( player, "lkwlicense", tonumber ( dsatz["LKWfuehrerschein"] ) )
vioSetElementData ( player, "helilicense", tonumber ( dsatz["Helikopterfuehrerschein"] ) )
vioSetElementData ( player, "planelicensea", tonumber ( dsatz["FlugscheinKlasseA"] ) )
vioSetElementData ( player, "planelicenseb", tonumber ( dsatz["FlugscheinKlasseB"] ) )
vioSetElementData ( player, "motorbootlicense", tonumber ( dsatz["Motorbootschein"] ) )
vioSetElementData ( player, "segellicense", tonumber ( dsatz["Segelschein"] ) )
vioSetElementData ( player, "fishinglicense", tonumber ( dsatz["Angelschein"] ) )
vioSetElementData ( player, "wanteds", tonumber ( dsatz["Wanteds"] ) )
vioSetElementData ( player, "stvo_punkte", tonumber ( dsatz["StvoPunkte"] ) )
vioSetElementData ( player, "gunlicense", tonumber ( dsatz["Waffenschein"] ) )
vioSetElementData ( player, "perso", tonumber ( dsatz["Perso"] ) )
vioSetElementData ( player, "boni", tonumber ( dsatz["Boni"] ) )
vioSetElementData ( player, "incomepayday", tonumber ( dsatz["IncomePayday"] ) )
vioSetElementData ( player, "pdayincome", tonumber ( dsatz["PdayIncome"] ) )
vioSetElementData ( player, "pdaykosten", tonumber ( dsatz["PdayKosten"] ) )
vioSetElementData ( player, "telenr", tonumber ( dsatz["Telefonnr"] ) )
vioSetElementData ( player, "warns", getPlayerWarnCount ( pname ) )
vioSetElementData ( player, "gunboxa", dsatz["Gunbox1"] )
vioSetElementData ( player, "gunboxb", dsatz["Gunbox2"] )
vioSetElementData ( player, "gunboxc", dsatz["Gunbox3"] )
vioSetElementData ( player, "job", dsatz["Job"] )
vioSetElementData ( player, "jobtime", dsatz["Jobtime"] )
vioSetElementData ( player, "club", dsatz["Club"] )
vioSetElementData ( player, "favchannel", tonumber ( dsatz["FavRadio"] ) )
vioSetElementData ( player, "bonuspoints", tonumber ( dsatz["Bonuspunkte"] ) )
local skill = tonumber ( dsatz["Truckerskill"] )
if not skill then
skill = 0
end
vioSetElementData ( player, "truckerlvl", skill )
vioSetElementData ( player, "airportlvl", tonumber ( dsatz["AirportLevel"] ) )
vioSetElementData ( player, "farmerLVL", tonumber ( dsatz["farmerLVL"] ) )
vioSetElementData ( player, "contract", tonumber ( dsatz["Contract"] ) )
vioSetElementData ( player, "socialState", dsatz["SocialState"] )
if tonumber ( dsatz["SocialState"] ) then
if tonumber ( dsatz["SocialState"] ) == 0 then
vioSetElementData ( player, "socialState", "Obdachloser" )
end
end
vioSetElementData ( player, "streetCleanPoints", tonumber ( dsatz["StreetCleanPoints"] ) )
local handyString = dsatz["Handy"]
local v1, v2
v1 = tonumber ( gettok ( handyString, 1, string.byte ( '|' ) ) )
v2 = tonumber ( gettok ( handyString, 2, string.byte ( '|' ) ) )
vioSetElementData ( player, "handyType", v1 )
vioSetElementData ( player, "handyCosts", v2 )
loadAddictionsForPlayer ( player )
isPremium ( player )
vioSetElementData ( player, "housex", 0 )
vioSetElementData ( player, "housey", 0 )
vioSetElementData ( player, "housez", 0 )
vioSetElementData ( player, "house", "none" )
vioSetElementData ( player, "curplayingtime", 0 )
vioSetElementData ( player, "handystate", "on" )
vioSetElementData ( player, "ammoTyp", 0 )
vioSetElementData ( player, "ammoAmount", 0 )
packageLoad ( player )
achievload ( player )
inventoryload ( player )
elementDataSettings ( player )
bonusLoad ( player )
setPremiumData ( player )
skillDataLoad ( player )
showFittingBlipForPlayer ( player )
_G[pname.."paydaytime"] = setTimer ( playingtime, 60000, 1, player )
RemoteSpawnPlayer ( player )
vioSetElementData ( player, "muted", 0 )
triggerClientEvent ( player, "DisableLoginWindow", getRootElement() )
triggerClientEvent ( player, "infobox_start", getRootElement(), "Du hast dich\nerfolgreich eingeloggt!\nDruecke F1 um das\nHilfemenue zu\noeffnen!", 5000, 0, 255, 0 )
outputDebugString ("Spieler "..pname.." wurde eingeloggt, IP: "..getPlayerIP(player))
vioSetElementData ( player, "loggedin", 1 )
vioSetElementData ( player, "ElementClicked", false )
if vioGetElementData ( player, "stvo_punkte" ) >= 15 then -- SearchSTVO
vioSetElementData ( player, "carlicense", 0 )
vioSetElementData ( player, "stvo_punkte", 0 )
MySQL_SetString("userdata", "Autofuehrerschein", vioGetElementData ( player, "carlicense" ), "Name LIKE '"..pname.."'")
outputChatBox ( "Wegen deines schlechten Fahrverhaltens wurde dir dein Fuehrerschein abgenommen!", player, 125, 0, 0 )
end
vioSetElementData ( player, "object", tonumber ( MySQL_GetString ( "inventar", "Objekt", "Name LIKE '" ..pname.."'" ) ) )
checkmsgs ( player )
blacklistLogin ( pname )
-- *** EasterEgg ***
--[[if month == 4 and day == 4 then
local oldlogin = MySQL_GetString("players", "Last_login", "Name LIKE '" ..pname.."'")
local oldlogin1 = tonumber ( gettok ( oldlogin, 1, string.byte('.') ) )
local oldlogin2 = tonumber ( gettok ( oldlogin, 2, string.byte('.') ) )
if ( oldlogin1 ~= 4 or oldlogin2 ~= 4 ) or ( minute < 25 and hour < 16 ) then
putFoodInSlot ( player, 5 )
end
elseif month == 4 and day == 5 then
local oldlogin = MySQL_GetString("players", "Last_login", "Name LIKE '" ..pname.."'")
local oldlogin1 = tonumber ( gettok ( oldlogin, 1, string.byte('.') ) )
local oldlogin2 = tonumber ( gettok ( oldlogin, 2, string.byte('.') ) )
if oldlogin1 ~= 4 or oldlogin2 ~= 5 then
putFoodInSlot ( player, 5 )
end
end]]
-- *** EasterEgg ***
MySQL_SetString("players", "Last_login", lastlogin, "Name LIKE '"..pname.."'")
MySQL_SetString("players", "LastLogin", lastLoginInt, "Name LIKE '"..pname.."'")
local position = MySQL_GetString("logout", "Position", "Name LIKE '" ..pname.."'")
if position then
weapons = MySQL_GetString ( "logout", "Waffen", "Name LIKE '" ..pname.."'" )
MySQL_DelRow ( "logout", "Name LIKE '"..pname.."'" )
for i = 1, 12 do
local wstring = gettok ( weapons, i, string.byte( '|' ) )
if wstring then
if wstring then
if #wstring >= 3 then
local weapon = tonumber ( gettok ( wstring, 1, string.byte( ',' ) ) )
local ammo = tonumber ( gettok ( wstring, 2, string.byte( ',' ) ) )
giveWeapon ( player, weapon, ammo, true )
triggerClientEvent ( player, "sec_gun_give", getRootElement(), weapon, ammo )
end
end
end
end
if position ~= "false" then
local x = tonumber ( gettok ( position, 1, string.byte( '|' ) ) )
local y = tonumber ( gettok ( position, 2, string.byte( '|' ) ) )
local z = tonumber ( gettok ( position, 3, string.byte( '|' ) ) )
local int = tonumber ( gettok ( position, 4, string.byte( '|' ) ) )
local dim = tonumber ( gettok ( position, 5, string.byte( '|' ) ) )
setTimer ( setElementInterior, 1000, 1, player, int )
setTimer ( setElementDimension, 1000, 1, player, dim )
setTimer ( setElementPosition, 1000, 1, player, x, y, z )
end
end
getMailsForClient_func ( pname )
setMaximumCarsForPlayer ( player )
triggerEvent ( "onVioPlayerLogin", player )
if tonumber ( dsatz["pred"] ) == 0 then
prompt ( player, promptMainText, 30 )
mysql_vio_query ( "UPDATE userdata SET pred = '1' WHERE Name = '"..pname.."'" )
end
else
triggerClientEvent ( player, "infobox_start", getRootElement(), "Ungueltiges Passwort -\nueberpruefe\ndeine Eingabe\noder melde dich\nim Forum. www.SkylineGaming.de", 5000, 255, 0, 0 )
triggerClientEvent ( player, "guiShowLoginAgain", getRootElement() )
vioSetElementData ( player, "pwfailed", tonumber ( vioGetElementData ( player, "pwfailed" )) + 1 )
if vioGetElementData ( player, "pwfailed" ) >= 3 then
outputDebugString ("Spieler "..tostring ( getPlayerName(player) ).." wurde aufgrund eines falschen Passworts gekickt!IP: "..tostring ( getPlayerIP(player) ) )
kickPlayer ( player, "Du hast 3x das falsche Passwort eingegeben - Bitte melde dich beim Team! www.SkylineGaming.de/forum", 0 )
end
end
end
bindKey ( player, "ralt", "down", showcurser, player )
bindKey ( player, "m", "down", showcurser, player )
bindKey ( player, "f1", "down", showhmenue, player )
bindKey ( player, "r", "down", reload )
end
end
end
addEvent ( "einloggen", true )
addEventHandler ( "einloggen", getRootElement(), login_func )
function datasave ( quitReason, reason )
if clanMembers[source] then
clanMembers[source] = nil
end
if ticketPermitted[source] then
ticketPermitted[source] = nil
end
local pname = getPlayerName ( source )
removePlayerFromLoggedIn ( pname )
if vioGetElementData ( source, "loggedin" ) == 1 then
triggerEvent ( "onLoggedInPlayerQuit", source )
pname = MySQL_Save ( getPlayerName ( source ) )
fraktionMembers[vioGetElementData(source,"fraktion")][source] = nil
adminsIngame[source] = nil
if getElementData ( source, "isInHighNoon" ) or vioGetElementData ( source, "shootingRanchGun" ) then
elseif quitReason and reason ~= "Ausgeloggt." then
if vioGetElementData ( source, "wanteds" ) >= 1 --[[and ( quitReason == "Quit" or quitReason == "Unknown" )]] and vioGetElementData ( source, "jailtime" ) == 0 then
local x, y, z = getElementPosition ( source )
local copShape = createColSphere ( x, y, z, 20 )
local elementsInCopSphere = getElementsWithinColShape ( copShape, "player" )
destroyElement ( copShape )
for key, cPlayer in ipairs ( elementsInCopSphere ) do
if ( isOnDuty ( cPlayer ) or isArmy ( cPlayer ) ) and cPlayer ~= source then
local wanteds = vioGetElementData ( source, "wanteds" )
vioSetElementData ( source, "wanteds", 0 )
vioSetElementData ( source, "jailtime", wanteds * 12 + vioGetElementData ( source, "jailtime" ) )
wantedCost = 100*wanteds*(wanteds*.5)
vioSetElementData ( source, "money", vioGetElementData ( source, "money" ) - wantedCost )
if vioGetElementData ( source, "money" ) < 0 then
vioSetElementData ( source, "money", 0 )
end
outputChatBox ( "Der Gesuchte "..getPlayerName ( source ).." ist offline gegangen - er wird beim naechsten Einloggen im Knast sein.", cPlayer, 0, 125, 0 )
offlinemsg ( "Du bist fuer "..(wanteds*15).." mins im Gefaengnis (Offlineflucht?)", "Server", getPlayerName(source) )
break
end
end
end
if quitReason == "Kicked" or quitReason == "Bad Connection" or quitReason == "Timed out" then
local curWeaponsForSave = "|"
for i = 1, 12 do
if i ~= 10 and i ~= 12 then
local weapon = getPedWeapon ( source, i )
local ammo = getPedTotalAmmo ( source, i )
if weapon and ammo then
if weapon > 0 and ammo > 0 then
if #curWeaponsForSave <= 40 then
curWeaponsForSave = curWeaponsForSave..weapon..","..ammo.."|"
end
end
end
end
end
if #curWeaponsForSave > 1 then
mysql_vio_query( "INSERT INTO logout (Position, Waffen, Name) VALUES ('false', '"..curWeaponsForSave.."', '"..pname.."')")
end
end
end
if vioGetElementData ( source, "callswith" ) then
if vioGetElementData ( source, "callswith" ) ~= "none" then
local caller = getPlayerFromName ( vioGetElementData ( source, "callswith" ) )
if caller then
vioSetElementData ( caller, "callswith", "none" )
vioSetElementData ( caller, "call", false )
vioSetElementData ( caller, "calls", "none" )
vioSetElementData ( caller, "callswith", "none" )
vioSetElementData ( caller, "calledby", "none" )
outputChatBox ( "*Knack* - Die Leitung ist tod!", caller, 125, 0, 0 )
end
vioSetElementData ( source, "callswith", "none" )
vioSetElementData ( source, "call", false )
vioSetElementData ( source, "calls", "none" )
vioSetElementData ( source, "callswith", "none" )
vioSetElementData ( source, "calledby", "none" )
end
end
datasave_remote ( source )
if vioGetElementData ( source, "isInArea51Mission" ) then
removeArea51Bots ( pname )
end
local veh = getPedOccupiedVehicle ( source )
if veh then
if isElement ( veh ) then
if getElementModel(veh) == 502 then
destroyElement ( veh )
end
end
end
killTimer ( _G[pname.."paydaytime"] )
clearInv ( source )
clearUserdata ( source )
clearBonus ( source )
clearAchiev ( source )
clearPackage ( source )
clearDataSettings ( source )
end
end
addEventHandler ("onPlayerQuit", getRootElement(), datasave )
function elementDataSettings ( player )
local pname = MySQL_Save ( getPlayerName ( player ) )
betaServerMessage ( player )
vioSetElementData ( player, "In_DMArena", 0 )
vioSetElementData ( player, "objectToPlace", false )
vioSetElementData ( player, "cheatingtrys", -1 )
vioSetElementData ( player, "growing", false )
vioSetElementData ( player, "isInRace", false )
vioSetElementData ( player, "callswithpolice", false )
vioSetElementData ( player, "isLive", false )
vioSetElementData ( player, "isInArea51Mission", false )
vioSetElementData ( player, "armingBomb", false )
vioSetElementData ( player, "tied", true )
vioSetElementData ( player, "hasBomb", false )
vioSetElementData ( player, "wanzen", false )
vioSetElementData ( player, "hunger", 50 )
vioSetElementData ( player, "isInHighNoon", false )
------------------
local Weapon_Settings = MySQL_GetString("inventar", "Spezial", "Name LIKE '" ..pname.."'")
local shads = {}
if not Weapon_Settings then
for i = 1, 6 do
shads[i] = 0
end
else
for i = 1, 6 do
shads[i] = tonumber ( gettok ( Weapon_Settings, i, string.byte( '|' ) ) )
end
end
for i, on in pairs ( shads ) do
vioSetElementData ( player, "ammoTyp"..i, tonumber(on) )
end
----------------
local Shader_Settings = MySQL_GetString("userdata", "Shader", "Name LIKE '" ..pname.."'")
local shads = {}
if not Shader_Settings then
for i = 1, 4 do
shads[i] = 0
end
else
for i = 1, 4 do
shads[i] = tonumber ( gettok ( Shader_Settings, i, string.byte( '|' ) ) )
end
end
for i, on in pairs ( shads ) do
if on == 1 then
triggerClientEvent ( player, "triggerVioShader"..i, player )
vioSetElementData ( player, "shader"..vals[i], 1 )
else
vioSetElementData ( player, "shader"..vals[i], 0 )
end
end
----------------
ArmyPermissions = MySQL_GetString("userdata", "ArmyPermissions", "Name LIKE '" ..pname.."'")
if not ArmyPermissions then
for i = 1, 9 do
vioSetElementData ( player, "armyperm"..i, 0 )
end
else
for i = 1, 9 do
vioSetElementData ( player, "armyperm"..i, tonumber ( gettok ( ArmyPermissions, i, string.byte( '|' ) ) ) )
end
end
end
function saveArmyPermissions ( player )
local pname = getPlayerName ( player )
local empty = ""
for i = 1, 9 do
empty = empty.."|"..vioGetElementData ( player, "armyperm"..i )
end
empty = empty.."|"
MySQL_SetString("userdata", "ArmyPermissions", empty, "Name LIKE '"..pname.."'")
end
function saveShaderInfo ( player )
local s_string = "|"..tonumber(getElementData( player, "shader"..vals[1] )).."|"..tonumber(getElementData( player, "shader"..vals[2] )).."|"..tonumber(getElementData( player, "shader"..vals[3] )).."|"..tonumber(getElementData( player, "shader"..vals[4] )).."|"
local pname = getPlayerName ( player )
MySQL_SetString("userdata", "Shader", s_string, "Name LIKE '"..pname.."'")
end
function saveSpecialInfo ( player )
local wert1, wert2, wert3, wert4, wert5, wert6
if not vioGetElementData( player, "ammoTyp1" ) or vioGetElementData( player, "ammoTyp1" ) == nil then
wert1 = 0
else
wert1 = tonumber(vioGetElementData( player, "ammoTyp1" ))
end
if not vioGetElementData( player, "ammoTyp2" ) or vioGetElementData( player, "ammoTyp2" ) == nil then
wert2 = 0
else
wert2 = tonumber(vioGetElementData( player, "ammoTyp2" ))
end
if not vioGetElementData( player, "ammoTyp3" ) or vioGetElementData( player, "ammoTyp3" ) == nil then
wert3 = 0
else
wert3 = tonumber(vioGetElementData( player, "ammoTyp3" ))
end
if not vioGetElementData( player, "ammoTyp4" ) or vioGetElementData( player, "ammoTyp4" ) == nil then
wert4 = 0
else
wert4 = tonumber(vioGetElementData( player, "ammoTyp4" ))
end
if not vioGetElementData( player, "ammoTyp5" ) or vioGetElementData( player, "ammoTyp5" ) == nil then
wert5 = 0
else
wert5 = tonumber(vioGetElementData( player, "ammoTyp5" ))
end
if not vioGetElementData( player, "ammoTyp6" ) or vioGetElementData( player, "ammoTyp6" ) == nil then
wert6 = 0
else
wert6 = tonumber(vioGetElementData( player, "ammoTyp6" ))
end
local s_string = "|"..wert1.."|"..wert2.."|"..wert3.."|"..wert4.."|"..wert5.."|"..wert6.."|"
-- "|0|0|0|0|0|0|"
local pname = getPlayerName ( player )
MySQL_SetString("inventar", "Spezial", s_string, "Name LIKE '"..pname.."'")
end
function SaveCarData ( player )
local pname = MySQL_Save ( getPlayerName ( player ) )
MySQL_SetString("userdata", "Geld", MySQL_Save ( MySQL_Save ( vioGetElementData ( player, "money" )) ), "Name LIKE '"..pname.."'")
MySQL_SetString("userdata", "CurrentCars", MySQL_Save ( MySQL_Save ( vioGetElementData ( player, "curcars" )) ), "Name LIKE '"..pname.."'")
MySQL_SetString("userdata", "Maximumcars", MySQL_Save ( MySQL_Save ( vioGetElementData ( player, "maxcars" )) ), "Name LIKE '"..pname.."'")
end
function datasave_remote ( player )
local source = player
if tonumber ( MySQL_Save ( vioGetElementData ( source, "loggedin" ))) == 1 then
local pname = getPlayerName ( source )
local fields = "SET"
fields = fields.." Geld = '"..math.abs ( math.floor ( vioGetElementData ( source, "money" ) ) ).."'"
fields = fields..", Fraktion = '"..math.abs ( math.floor ( vioGetElementData ( source, "fraktion") ) ).."'"
fields = fields..", FraktionsRang = '"..math.floor ( vioGetElementData ( source, "rang" ) ).."'"
fields = fields..", Spielzeit = '"..math.floor ( vioGetElementData ( source, "playingtime" ) ).."'"
fields = fields..", CurrentCars = '"..math.floor ( vioGetElementData ( source, "curcars" ) ).."'"
fields = fields..", Maximumcars = '"..math.floor ( vioGetElementData ( source, "maxcars" ) ).."'"
fields = fields..", Tode = '"..math.floor ( vioGetElementData ( source, "deaths" ) ).."'"
fields = fields..", Kills = '"..math.floor ( vioGetElementData ( source, "kills" ) ).."'"
fields = fields..", Knastzeit = '"..math.floor ( vioGetElementData ( source, "jailtime" ) ).."'"
fields = fields..", Himmelszeit = '"..math.floor ( vioGetElementData ( source, "heaventime" ) ).."'"
fields = fields..", Hausschluessel = '"..math.floor ( vioGetElementData ( source, "housekey" ) ).."'"
fields = fields..", Bankgeld = '"..math.floor ( vioGetElementData ( source, "bankmoney" ) ).."'"
fields = fields..", Drogen = '"..math.floor ( vioGetElementData ( source, "drugs" ) ).."'"
fields = fields..", Skinid = '"..math.floor ( vioGetElementData ( source, "skinid" ) ).."'"
fields = fields..", Wanteds = '"..math.floor ( vioGetElementData ( source, "wanteds" ) ).."'"
fields = fields..", StvoPunkte = '"..math.floor ( vioGetElementData ( source, "stvo_punkte" ) ).."'"
fields = fields..", Boni = '"..math.floor ( vioGetElementData ( source, "boni" ) ).."'"
fields = fields..", IncomePayday = '"..math.floor ( vioGetElementData ( source, "incomepayday" ) ).."'"
fields = fields..", PdayIncome = '"..math.floor ( vioGetElementData ( source, "pdayincome" ) ).."'"
fields = fields..", PdayKosten = '"..math.floor ( vioGetElementData ( source, "pdaykosten" ) ).."'"
fields = fields..", Warns = '"..math.floor ( vioGetElementData ( source, "warns" ) ).."'"
fields = fields..", Gunbox1 = '"..vioGetElementData ( source, "gunboxa" ).."'"
fields = fields..", Gunbox2 = '"..vioGetElementData ( source, "gunboxb" ).."'"
fields = fields..", Gunbox3 = '"..vioGetElementData ( source, "gunboxc" ).."'"
fields = fields..", Job = '"..vioGetElementData ( source, "job" ).."'"
fields = fields..", Jobtime = '"..math.floor ( vioGetElementData ( source, "jobtime" ) ).."'"
fields = fields..", Club = '"..vioGetElementData ( source, "club" ).."'"
fields = fields..", FavRadio = '"..math.floor ( vioGetElementData ( source, "favchannel" ) ).."'"
fields = fields..", Bonuspunkte = '"..math.floor ( vioGetElementData ( source, "bonuspoints" ) ).."'"
local skill = tonumber ( vioGetElementData ( source, "truckerlvl" ) )
if not skill then
skill = 0
end
fields = fields..", Truckerskill = '"..skill.."'"
fields = fields..", farmerLVL = '"..vioGetElementData ( source, "farmerLVL" ).."'"
fields = fields..", AirportLevel = '"..math.floor ( vioGetElementData ( source, "airportlvl" ) ).."'"
fields = fields..", Contract = '"..math.floor ( vioGetElementData ( source, "contract" ) ).."'"
fields = fields..", SocialState = '"..MySQL_Save ( getElementData ( source, "socialState") ).."'"
fields = fields..", StreetCleanPoints = '"..math.floor ( getElementData ( source, "streetCleanPoints" ) ).."'"
local v1 = "|"..vioGetElementData ( source, "handyType" ).."|"
local v2 = vioGetElementData ( source, "handyCosts" ).."|"
local v3 = v1..v2
fields = fields..", Handy = '"..v3.."'"
mysql_vio_query ( "UPDATE userdata "..fields.." WHERE Name LIKE '"..pname.."'" )
saveAddictionsForPlayer ( source )
packageSave(source)
achievsave(source)
inventorysave(source)
bonusSave(source)
skillDataSave ( player )
saveArmyPermissions ( player )
saveShaderInfo ( player )
saveSpecialInfo ( player )
outputDebugString ("Daten fuer Spieler "..pname.." wurden gesichert!")
end
end
function achievsave ( player )
local pname = MySQL_Save ( getPlayerName ( player ) )
saveHorseShoesFound ( player, pname )
MySQL_SetString("achievments", "Waffenschieber", MySQL_Save ( vioGetElementData ( player, "gunloads") ), "Name LIKE '"..pname.."'")
MySQL_SetString("achievments", "Fahrzeugwahn", MySQL_Save ( vioGetElementData ( player, "carwahn_achiev") ), "Name LIKE '"..pname.."'")
savePlayingTimeForSleeplessAchiev ( player, pname )
end
function achievload ( player )
local pname = MySQL_Save ( getPlayerName ( player ) )
local dsatz
local result = mysql_query ( handler, "SELECT * from achievments WHERE Name LIKE '"..pname.."'" )
if result then
if ( mysql_num_rows ( result ) > 0 ) then
dsatz = mysql_fetch_assoc ( result )
mysql_free_result ( result )
end
end
vioSetElementData ( player, "schlaflosinsa", dsatz["SchlaflosInSA"] )
vioSetElementData ( player, "gunloads", dsatz["Waffenschieber"] )
vioSetElementData ( player, "angler_achiev", dsatz["Angler"] )
vioSetElementData ( player, "licenses_achiev", dsatz["Lizensen"] )
vioSetElementData ( player, "carwahn_achiev", dsatz["Fahrzeugwahn"] )
vioSetElementData ( player, "collectr_achiev", dsatz["DerSammler"] )
vioSetElementData ( player, "rl_achiev", dsatz["ReallifeWTF"] )
vioSetElementData ( player, "own_foots", dsatz["EigeneFuesse"] )
vioSetElementData ( player, "kingofthehill_achiev", dsatz["KingOfTheHill"] )
vioSetElementData ( player, "thetruthisoutthere_achiev", dsatz["TheTruthIsOutThere"] )
vioSetElementData ( player, "silentassasin_achiev", dsatz["SilentAssasin"] )
vioSetElementData ( player, "highwaytohell_achiev", dsatz["HighwayToHell"] )
vioSetElementData ( player, "revolverheld_achiev", tonumber ( dsatz["Revolverheld"] ) )
vioSetElementData ( player, "chickendinner_achiev", tonumber ( dsatz["ChickenDinner"] ) )
vioSetElementData ( player, "nichtsgehtmehr_achiev", tonumber ( dsatz["NichtGehtMehr"] ) )
vioSetElementData ( player, "highscore_achiev", tonumber ( dsatz["highscore"] ) == 1 )
local dstring = dsatz["LookoutsA"]
triggerClientEvent ( player, "hideLookoutMarkers", getRootElement(), dstring )
local count = 0
for i = 1, 10 do
if tonumber ( gettok ( dstring, i, string.byte ( '|' ) ) ) == 1 then
count = count + 1
end
end
vioSetElementData ( player, "viewpoints", count )
dsatz = nil
--[[
vioSetElementData ( player, "schlaflosinsa", MySQL_GetString("achievments", "SchlaflosInSA", "Name LIKE '" ..pname.."'") )
vioSetElementData ( player, "gunloads", MySQL_GetString("achievments", "Waffenschieber", "Name LIKE '" ..pname.."'") )
vioSetElementData ( player, "angler_achiev", MySQL_GetString("achievments", "Angler", "Name LIKE '" ..pname.."'") )
vioSetElementData ( player, "licenses_achiev", MySQL_GetString("achievments", "Lizensen", "Name LIKE '" ..pname.."'") )
vioSetElementData ( player, "carwahn_achiev", MySQL_GetString("achievments", "Fahrzeugwahn", "Name LIKE '" ..pname.."'") )
vioSetElementData ( player, "collectr_achiev", MySQL_GetString("achievments", "DerSammler", "Name LIKE '" ..pname.."'") )
vioSetElementData ( player, "rl_achiev", MySQL_GetString("achievments", "ReallifeWTF", "Name LIKE '" ..pname.."'") )
vioSetElementData ( player, "own_foots", MySQL_GetString("achievments", "EigeneFuesse", "Name LIKE '" ..pname.."'") )
vioSetElementData ( player, "kingofthehill_achiev", MySQL_GetString("achievments", "KingOfTheHill", "Name LIKE '" ..pname.."'") )
vioSetElementData ( player, "thetruthisoutthere_achiev", MySQL_GetString("achievments", "TheTruthIsOutThere", "Name LIKE '" ..pname.."'") )
vioSetElementData ( player, "silentassasin_achiev", MySQL_GetString("achievments", "SilentAssasin", "Name LIKE '" ..pname.."'") )
vioSetElementData ( player, "highwaytohell_achiev", MySQL_GetString("achievments", "HighwayToHell", "Name LIKE '" ..pname.."'") )
vioSetElementData ( player, "revolverheld_achiev", tonumber ( MySQL_GetString("achievments", "Revolverheld", "Name LIKE '" ..pname.."'") ) )
vioSetElementData ( player, "chickendinner_achiev", tonumber ( MySQL_GetString("achievments", "ChickenDinner", "Name LIKE '" ..pname.."'") ) )
vioSetElementData ( player, "nichtsgehtmehr_achiev", tonumber ( MySQL_GetString("achievments", "NichtGehtMehr", "Name LIKE '" ..pname.."'") ) )
]]
loadHorseShoesFound ( player, pname )
loadPlayingTimeForSleeplessAchiev ( player, pname )
end
function inventorysave ( player )
local pname = getPlayerName ( player )
--[[MySQL_SetString("inventar", "Blumensamen", MySQL_Save ( vioGetElementData ( player, "flowerseeds") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Essensslot1", MySQL_Save ( vioGetElementData ( player, "food1") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Essensslot2", MySQL_Save ( vioGetElementData ( player, "food2") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Essensslot3", MySQL_Save ( vioGetElementData ( player, "food3") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Zigaretten", MySQL_Save ( vioGetElementData ( player, "zigaretten") ), "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Materials", MySQL_Save ( vioGetElementData ( player, "mats") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Benzinkanister", MySQL_Save ( vioGetElementData ( player, "benzinkannister") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "FruitNotebook", MySQL_Save ( vioGetElementData ( player, "fruitNotebook" )) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Objekt", vioGetElementData ( player, "object" ), "Name LIKE '" ..pname.."'" )
MySQL_SetString("inventar", "Chips", vioGetElementData ( player, "casinoChips" ), "Name LIKE '" ..pname.."'" )]]
--[[MySQL_SetString("inventar", "Peilsender", MySQL_Save ( vioGetElementData ( player, "peilsender")"Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Wuerfel", MySQL_Save ( vioGetElementData ( player, "dice") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Palmensamen", MySQL_Save ( vioGetElementData ( player, "palmseeds") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Telefonbuch", MySQL_Save ( vioGetElementData ( player, "phonebook") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Lottoschein", MySQL_Save ( vioGetElementData ( player, "lottozahlen") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Waffenslot1", MySQL_Save ( vioGetElementData ( player, "guninv1") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Waffenslot2", MySQL_Save ( vioGetElementData ( player, "guninv2") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Waffenslot3", MySQL_Save ( vioGetElementData ( player, "guninv3") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Waffenslot4", MySQL_Save ( vioGetElementData ( player, "guninv4") ) , "Name LIKE '"..pname.."'")
MySQL_SetString("inventar", "Waffenslot5", MySQL_Save ( vioGetElementData ( player, "guninv5") ) , "Name LIKE '"..pname.."'")]]
local fields = "SET"
fields = fields.." Blumensamen = '"..vioGetElementData ( player, "flowerseeds" ).."'"
fields = fields..", Essensslot1 = '"..vioGetElementData ( player, "food1" ).."'"
fields = fields..", Essensslot2 = '"..vioGetElementData ( player, "food2" ).."'"
fields = fields..", Essensslot3 = '"..vioGetElementData ( player, "food3" ).."'"
fields = fields..", Zigaretten = '"..vioGetElementData ( player, "zigaretten" ).."'"
fields = fields..", Materials = '"..vioGetElementData ( player, "mats" ).."'"
fields = fields..", Benzinkanister = '"..vioGetElementData ( player, "benzinkannister" ).."'"
fields = fields..", FruitNotebook = '"..vioGetElementData ( player, "fruitNotebook" ).."'"
fields = fields..", Objekt = '"..vioGetElementData ( player, "object" ).."'"
fields = fields..", Chips = '"..vioGetElementData ( player, "casinoChips" ).."'"
fields = fields..", eggs = '"..vioGetElementData ( player, "easterEggs" ).."'"
--fields = fields..", Geschenke = '"..vioGetElementData ( player, "presents" ).."'"
mysql_vio_query ( "UPDATE inventar "..fields.." WHERE Name LIKE '"..pname.."'" )
end
function casinoMoneySave ( player )
if vioGetElementData ( player, "loggedin" ) == 1 then
local name = getPlayerName ( player )
local chips = math.abs ( math.floor ( vioGetElementData ( player, "casinoChips" ) ) )
local money = math.floor ( vioGetElementData ( player, "money" ) )
local bankMoney = math.floor ( vioGetElementData ( player, "bankmoney" ) )
mysql_vio_query ( "UPDATE inventar SET Chips = '"..chips.."' WHERE Name LIKE '"..name.."'" )
mysql_vio_query ( "UPDATE userdata SET Geld = '"..money.."' WHERE Name LIKE '"..name.."'" )
mysql_vio_query ( "UPDATE userdata SET Bankgeld = '"..bankMoney.."' WHERE Name LIKE '"..name.."'" )
end
end
function inventoryload ( player )
local pname = getPlayerName ( player )
vioSetElementData ( player, "playerid", tonumber ( MySQL_GetString("players", "id", "Name LIKE '" ..pname.."'")) )
local dsatz
local result = mysql_query ( handler, "SELECT * from inventar WHERE Name LIKE '"..pname.."'" )
if result then
if ( mysql_num_rows ( result ) > 0 ) then
dsatz = mysql_fetch_assoc ( result )
mysql_free_result ( result )
end
end
vioSetElementData ( player, "dice", tonumber ( dsatz["Wuerfel"] ) )
vioSetElementData ( player, "flowerseeds", tonumber ( dsatz["Blumensamen"] ) )
vioSetElementData ( player, "food1", tonumber ( dsatz["Essensslot1"] ) )
vioSetElementData ( player, "food2", tonumber ( dsatz["Essensslot2"] ) )
vioSetElementData ( player, "food3", tonumber ( dsatz["Essensslot3"] ) )
vioSetElementData ( player, "zigaretten", tonumber ( dsatz["Zigaretten"] ) )
vioSetElementData ( player, "mats", tonumber ( dsatz["Materials"] ) )
vioSetElementData ( player, "benzinkannister", tonumber ( dsatz["Benzinkanister"] ) )
vioSetElementData ( player, "fruitNotebook", tonumber ( dsatz["FruitNotebook"] ) )
vioSetElementData ( player, "casinoChips", tonumber ( dsatz["Chips"] ) )
vioSetElementData ( player, "gameboy", tonumber ( dsatz["Gameboy"] ) )
vioSetElementData ( player, "easterEggs", tonumber ( dsatz["eggs"] ) )
-- X-MAS --
-- vioSetElementData ( player, "presents", tonumber ( dsatz["Geschenke"] ) )
-- X-MAS --
dsatz = nil
--[[
vioSetElementData ( player, "dice", tonumber ( MySQL_GetString("inventar", "Wuerfel", "Name LIKE '" ..pname.."'")) )
vioSetElementData ( player, "flowerseeds", tonumber ( MySQL_GetString("inventar", "Blumensamen", "Name LIKE '" ..pname.."'")) )
vioSetElementData ( player, "food1", tonumber ( MySQL_GetString("inventar", "Essensslot1", "Name LIKE '" ..pname.."'")) )
vioSetElementData ( player, "food2", tonumber ( MySQL_GetString("inventar", "Essensslot2", "Name LIKE '" ..pname.."'")) )
vioSetElementData ( player, "food3", tonumber ( MySQL_GetString("inventar", "Essensslot3", "Name LIKE '" ..pname.."'")) )
vioSetElementData ( player, "zigaretten", tonumber ( MySQL_GetString("inventar", "Zigaretten", "Name LIKE '" ..pname.."'") ) )
vioSetElementData ( player, "mats", tonumber ( MySQL_GetString("inventar", "Materials", "Name LIKE '" ..pname.."'") ) )
vioSetElementData ( player, "benzinkannister", tonumber ( MySQL_GetString("inventar", "Benzinkanister", "Name LIKE '" ..pname.."'") ) )
vioSetElementData ( player, "fruitNotebook", tonumber ( MySQL_GetString("inventar", "FruitNotebook", "Name LIKE '" ..pname.."'") ) )
vioSetElementData ( player, "casinoChips", tonumber ( MySQL_GetString( "inventar", "Chips", "Name LIKE '" ..pname.."'") ) )
vioSetElementData ( player, "gameboy", tonumber ( MySQL_GetString ( "inventar", "Gameboy", "Name LIKE '"..pname.."'" ) ) )
]]
end
-- Info: Angabe von Last_Login in Tagen seit Jahresanfang, Angabe von Geschlecht in 1 u. 0 - 1 = Weiblich, 0 = männlich
-- Anreise in 1 u. 0, 0 = Schiff, 1 = Flugzeug
-- Scheine: 0 = nicht vorhanden, 1 = vorhanden
function logoutPlayer_func ( x, y, z, int, dim )
if vioGetElementData ( client, "shootingRanchGun" ) then
else
local pname = MySQL_Save ( getPlayerName ( client ) )
local int = tonumber ( MySQL_Save ( int ) )
local dim = tonumber ( MySQL_Save ( dim ) )
local curWeaponsForSave = "|"
for i = 1, 11 do
if i ~= 10 then
local weapon = getPedWeapon ( client, i )
local ammo = getPedTotalAmmo ( client, i )
if weapon and ammo then
if weapon > 0 and ammo > 0 then
if #curWeaponsForSave <= 40 then
curWeaponsForSave = curWeaponsForSave..weapon..","..ammo.."|"
end
end
end
end
end
curWeaponsForSave = MySQL_Save ( curWeaponsForSave )
pos = "|"..(math.floor(x*100)/100).."|"..(math.floor(y*100)/100).."|"..(math.floor(z*100)/100).."|"..int.."|"..dim.."|"
if #curWeaponsForSave < 5 then
curWeaponsForSave = ""
end
local result = mysql_vio_query( "INSERT INTO logout (Position, Waffen, Name) VALUES ('"..pos.."', '"..curWeaponsForSave.."', '"..pname.."')")
kickPlayer ( client, "Ausgeloggt." )
end
end
addEvent ( "logoutPlayer", true )
addEventHandler ( "logoutPlayer", getRootElement(), logoutPlayer_func )
Alles anzeigen
elementData = {}
function vioSetElementData ( player, dataString, value )
if player and dataString and value ~= nil then
if not elementData[player] then
elementData[player] = {}
end
elementData[player][dataString] = value
setElementData ( player, dataString, value )
else
return nil
end
end
function vioGetElementData ( player, dataString )
if player and dataString then
if not elementData[player] then
elementData[player] = {}
return nil
end
if elementData[player][dataString] then
return elementData[player][dataString]
elseif not elementData[player][dataString] and dataString ~= "adminlvl" and dataString ~= "loggedin" then
elementData[player][dataString] = getElementData ( player, dataString )
return elementData[player][dataString]
end
else
return nil
end
end
function freeElementData ()
if elementData then
if getElementType ( source ) ~= "player" then
if elementData[source] then
elementData[source] = nil
end
end
end
end
addEventHandler ( "onElementDestroy", getRootElement(), freeElementData )
function findPlayerByName( playerPart )
local pl = getPlayerFromName( playerPart )
if isElement(pl) then
return pl
else
for i,v in ipairs (getElementsByType ("player")) do
if (string.find(string.gsub ( string.lower(getPlayerName(v)), '#%x%x%x%x%x%x', '' ),string.lower(playerPart))) then
return v
end
end
end
end
Alles anzeigen