Hallo,
Ich mache gerade wenn ich Zeit habe auf meinem Test Server ein Roleplay Server basierend auf dem Vita script,
ich würde jetzt gerne einbauen das man seine Waffen die man ausrüstet hat nach einem Serverrestart oder einem Reconnect wieder bekommt.
Ich habe jetzt schon hinbekommen das sie in die Datenbank abgespeichert werden, zur Hilfe habe ich mich an dem TerraTex Script orientiert
local weapons="|"
local ammos="|"
for n=0,12,1 do
local weap=getPedWeapon(source,n)
local ammo=getPedTotalAmmo(source,n)
weapons=weapons..weap.."|"
ammos=ammos..ammo.."|"
end
Diese Funktion klappt auch ohne Probleme.
So sieht es in der Datenbank aus:
So versuche ich mir die Waffen wiederzugeben
local waffen = row["waffen"]
local ammos = row["ammos"]
if(waffen ~= 0) then
local waffen=getStringComponents(waffen)
local ammos=getStringComponents(ammos)
for p=0,12,1 do
n=p+1
if(tonumber(waffen[n])~=nil) and (tonumber(ammos[n])~=nil) then
if(tonumber(waffen[n])~=0)and(tonumber(ammos[n])~=0)then
outputChatBox(tonumber( waffen[n]).." "..tonumber(ammos[n] ),player)
local yes=giveWeapon(player,tonumber(waffen[n]),tonumber(ammos[n]))
outputChatBox(tostring(yes))
end
end
end
end
Alles anzeigen
Das hier ist die getStringComponents Funktion:
function utf_check(String)
if(utfLen(String)~=string.len(String))then
return false;
end
return true;
end
str_tbl={"!","#","$","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","]","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}"}
function randomstring(laenge)
local n=0
local zustring=""
while (n<laenge) do
newteil=str_tbl[math.random(1,table.getn(str_tbl))]
zustring=zustring..newteil
n=n+1
end
return zustring
end
str_tblwo={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}
function RandomStringWithoutSpecial(laenge)
local n = 0
local zustring = ""
while (n < laenge) do
newteil = str_tblwo[math.random(1, table.getn(str_tblwo))]
zustring = zustring .. newteil
n = n + 1
end
return zustring
end
function getStringComponents(theString)
if(theString)then
local stringtab={}
local counter=0
local countera=0
local countlast
local zahler=1
while countera==0 do
countlast=counter
counter=string.find(theString,"|",countlast)
if(counter)then
stringtab[zahler]=string.sub(theString,countlast,counter-1)
counter=counter+1
else
stringtab[zahler]=string.sub(theString,countlast)
countera=22
end
zahler=zahler+1
end
return stringtab
else
outputDebugString("ERROR IN GETSTRINGCOMPONENTS: No STRING: "..debug.traceback())
return false
end
end
function getStringComponentsDelimited(theString,delemiter)
if(theString)then
local stringtab={}
local counter=0
local countera=0
local countlast
local zahler=1
while countera==0 do
countlast=counter
counter=string.find(theString,delemiter,countlast)
if(counter)then
stringtab[zahler]=string.sub(theString,countlast,counter-1)
counter=counter+1
else
stringtab[zahler]=string.sub(theString,countlast)
countera=22
end
zahler=zahler+1
end
return stringtab
else
outputDebugString("ERROR IN GETSTRINGCOMPONENTS: No STRING: "..debug.traceback())
return false
end
end
function string.UpperFirst(eingabeString)
local firstLetter = string.sub (eingabeString, 1,1)
local restString = string.sub (eingabeString, 2)
local newString= string.upper(firstLetter)..restString
return newString
end
Alles anzeigen
Diese Funktion funktioniert noch nicht so ganz mir wird angezeit:
aber ich bekomme die Waffen leider nicht.
Über das Debugscript erfahre ich auch nichts da dort kein Fehler oder Sonstiges angezeigt wird.
wäre nett wenn mal jemand von euch drauf schauen kann und mir erklärt warum ich die Ausgebe gekommen aber nicht die Waffen selbst.
LG Black80