Jump to content

MarvelSK

Members
  • Posts

    24
  • Joined

  • Last visited

Details

  • Gang
    SRT

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

MarvelSK's Achievements

Civilian

Civilian (7/54)

0

Reputation

  1. I have replaced "onClientGUIComboBoxAccepted" to https://wiki.multitheftauto.com/wiki/OnDgsComboBoxSelect but how to replace "dgsScrollBarGetScrollPosition" ? With what ? I did try OnGDgsElementScroll but it is not working... If I create character then Day of born and month are not set ( not working ) .... and when I am creating character then I can move with scrollbars ( they will upload new value ) but they will just set new value, but they don´t write it in dgs label
  2. Or not ... Staying here .. please help
  3. LOCK ... Moving to another forum cattegory.
  4. Hello, I am trying to do creating character with dgsScrollBars (age, weight, heigt, day of born) but it is not uploading new value of scrollbar ... can you help me please ? file c_create_character.Lua = function newCharacter_updateScrollBars() loadstring(exports.dgs:dgsImportFunction())() local gui = {} local curskin = 1 local dummyPed = nil local languageselected = 1 local selectedMonth1 = "Leden" local scrDay = 1 local postavy = getElementData(localPlayer, "account:characters") function newCharacter_init(button, state) guiSetInputEnabled(true) removeEventHandler("onClientPreRender", root, updateCamPosition) setCameraInterior(0) setCameraMatrix(1686.0541992188,-2251.4375,14.441599845886,1686.0384521484,-2250.4411621094,14.356546401978 ) dummyPed = createPed(270, 1686.0166015625, -2247.369140625, 13.542483329773 ) setElementInterior(dummyPed, 0) setElementInterior(getLocalPlayer(), 0) setPedRotation(dummyPed, 180) setElementDimension(dummyPed, getElementDimension(getLocalPlayer())) fadeCamera ( true , 1, 0,0,0 ) local screenX, screenY = guiGetScreenSize() local sWidth,sHeight = guiGetScreenSize() local Width,Height = 318,425 local bgX = (sWidth/2) - (Width/2) local bgY = (sHeight/2) - (Height/2) dxDrawImage(0, 5, 318, 425, "/login-panel/ss.png" , 0, 0, 0, tocolor(255, 255, 255, 255), true) gui["_root"] = dgsCreateWindow(10, screenY/2-300, 300, 620, "Vytvoření postavy", false) dgsWindowSetCloseButtonEnabled(gui["_root"], false) dgsWindowSetSizable(gui["_root"], false) dgsWindowSetMovable(gui["_root"], false) gui["lblCharName"] = dgsCreateLabel(30, 25, 91, 16, "Jméno:", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblCharName"], "left", false) dgsLabelSetVerticalAlign(gui["lblCharName"], "center") gui["txtCharName"] = dgsCreateEdit(90, 24, 180, 22, "", false, gui["_root"]) dgsEditSetMaxLength(gui["txtCharName"], 30) gui["lblCharNameExplanation"] = dgsCreateLabel(30, 40, 240, 80,"Jméno musí být v následujícím formátu \nJméno Příjmení\nPro příklad: Taylor Jackson.\nNesmíš používat známé jména.", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblCharNameExplanation"], "left", false) dgsLabelSetVerticalAlign(gui["lblCharNameExplanation"], "center") --[[ gui["lblCharDesc"] = dgsCreateLabel(10, 125, 230, 100, "When you first spawn type /editlook and describe your character in more detail.", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblCharDesc"], "left", false) dgsLabelSetVerticalAlign(gui["lblCharDesc"], "center")]]-- --[[ gui["memCharDesc"] = guiCreateMemo(10, 145, 231,100, "", false, gui["_root"]) gui["lblCharDescExplanation"] = dgsCreateLabel(10, 245, 231, 61, "Fill in an description of your character, for \nexample how your character looks and\nother special remarks. There is a minimum\nof 50 characters.", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblCharDescExplanation"], "left", false) dgsLabelSetVerticalAlign(gui["lblCharDescExplanation"], "center")]] gui["lblGender"] = dgsCreateLabel(30, 180, 46, 13, "Pohlaví:", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblGender"], "left", false) dgsLabelSetVerticalAlign(gui["lblGender"], "center") gui["rbMale"] = dgsCreateRadioButton(120, 180, 51, 13, "Muž", false, gui["_root"]) gui["rbFemale"] = dgsCreateRadioButton(190, 180, 82, 13, "Žena", false, gui["_root"]) dgsRadioButtonSetSelected ( gui["rbMale"], true) addEventHandler("onDgsMouseClick", gui["rbMale"], newCharacter_updateGender, false) addEventHandler("onDgsMouseClick", gui["rbFemale"], newCharacter_updateGender, false) gui["lblSkin"] = dgsCreateLabel(30, 230, 80, 16, "Skin:", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblSkin"], "left", false) dgsLabelSetVerticalAlign(gui["lblSkin"], "center") gui["btnPrevSkin"] = dgsCreateButton(80, 225, 90, 25, "Předchozí", false, gui["_root"]) addEventHandler("onDgsMouseClick", gui["btnPrevSkin"], newCharacter_updateGender, false) gui["btnNextSkin"] = dgsCreateButton(180, 225, 90, 25, "Další", false, gui["_root"]) addEventHandler("onDgsMouseClick", gui["btnNextSkin"], newCharacter_updateGender, false) gui["lblRace"] = dgsCreateLabel(30, 280, 111, 16, "Rasa:", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblRace"], "left", false) dgsLabelSetVerticalAlign(gui["lblRace"], "center") gui["chkBlack"] = dgsCreateCheckBox ( 80, 280, 55, 16, "Černá", true, false, gui["_root"] ) addEventHandler("onDgsMouseClick", gui["chkBlack"] , newCharacter_raceFix, false) gui["chkWhite"] = dgsCreateCheckBox ( 150, 280, 55, 16, "Bílá", false, false, gui["_root"] ) addEventHandler("onDgsMouseClick", gui["chkWhite"] , newCharacter_raceFix, false) gui["chkAsian"] = dgsCreateCheckBox ( 210, 280, 55, 16, "Žlutá", false, false, gui["_root"] ) addEventHandler("onDgsMouseClick", gui["chkAsian"] , newCharacter_raceFix, false) gui["lblHeight"] = dgsCreateLabel(30, 330, 111, 17, "Výška :", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblHeight"], "left", false) dgsLabelSetVerticalAlign(gui["lblHeight"], "center") gui["scrHeight"] = dgsCreateScrollBar ( 140, 330, 130, 17, true, false, gui["_root"]) addEventHandler("onDgsScrollBarScrollPositionChange", gui["scrHeight"], newCharacter_updateScrollBars, false) dgsSetProperty(gui["scrHeight"], "StepSize", "0.02") gui["lblWeight"] = dgsCreateLabel(30, 360, 130, 17, "Váha :", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblWeight"], "left", false) dgsLabelSetVerticalAlign(gui["lblWeight"], "center") gui["scrWeight"] = dgsCreateScrollBar (140, 360, 130, 17, true, false, gui["_root"]) addEventHandler("onDgsScrollBarScrollPositionChange", gui["scrWeight"], newCharacter_updateScrollBars, false) dgsSetProperty(gui["scrWeight"], "StepSize", "0.01") gui["lblAge"] = dgsCreateLabel(30, 390, 280, 16, "Věk :", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblAge"], "left", false) dgsLabelSetVerticalAlign(gui["lblAge"], "center") gui["scrAge"] = dgsCreateScrollBar ( 140, 390, 130, 17, true, false, gui["_root"]) addEventHandler("onDgsScrollBarScrollPositionChange", gui["scrAge"], newCharacter_updateScrollBars, false) dgsSetProperty(gui["scrAge"], "StepSize", "0.0120") gui["lblDay"] = dgsCreateLabel(30, 420, 111, 16, "Den narození :", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblDay"], "left", false) dgsLabelSetVerticalAlign(gui["lblDay"], "center") gui["scrDay"] = dgsCreateScrollBar ( 140, 420, 130, 16, true, false, gui["_root"]) addEventHandler("onDgsScrollBarScrollPositionChange", gui["scrDay"], newCharacter_updateScrollBars, false) dgsSetProperty(gui["scrDay"], "StepSize", "0.0125") gui["lblMonth"] = dgsCreateLabel(30, 450, 320, 16, "Měsíc narození", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblDay"], "left", false) dgsLabelSetVerticalAlign(gui["lblDay"], "center") gui["drpMonth"] = dgsCreateComboBox ( 140, 450, 130, 16, "Leden", false, gui["_root"]) --guiComboBoxAdjustHeight(gui["drpMonth"], 15) dgsComboBoxAddItem(gui["drpMonth"], "Leden") dgsComboBoxAddItem(gui["drpMonth"], "Únor") dgsComboBoxAddItem(gui["drpMonth"], "Březen") dgsComboBoxAddItem(gui["drpMonth"], "Duben") dgsComboBoxAddItem(gui["drpMonth"], "Květen") dgsComboBoxAddItem(gui["drpMonth"], "Červen") dgsComboBoxAddItem(gui["drpMonth"], "Červenec") dgsComboBoxAddItem(gui["drpMonth"], "Srpen") dgsComboBoxAddItem(gui["drpMonth"], "Září") dgsComboBoxAddItem(gui["drpMonth"], "Říjen") dgsComboBoxAddItem(gui["drpMonth"], "Listopad") dgsComboBoxAddItem(gui["drpMonth"], "Prosinec") addEventHandler ( "onClientGUIComboBoxAccepted", root, function ( comboBox ) if ( comboBox == gui["drpMonth"] ) then local item = dgsComboBoxGetSelected ( gui["drpMonth"] ) selectedMonth1 = tostring ( dgsComboBoxGetItemText ( gui["drpMonth"] , item ) ) end end, true) gui["lblLanguage"] = dgsCreateLabel(30, 500, 111, 16, "Jazyk:", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblLanguage"], "left", false) dgsLabelSetVerticalAlign(gui["lblLanguage"], "center") gui["btnLanguagePrev"] = dgsCreateButton(140, 500, 16, 16, "<", false, gui["_root"]) gui["lblLanguageDisplay"] = dgsCreateLabel(156, 500, 98, 16, "Slovenčina", false, gui["_root"]) dgsLabelSetHorizontalAlign(gui["lblLanguageDisplay"], "center", true) dgsLabelSetVerticalAlign(gui["lblLanguageDisplay"], "center", true) gui["btnLanguageNext"] = dgsCreateButton(254, 500, 16, 16, ">", false, gui["_root"]) addEventHandler("onDgsMouseClick", gui["btnLanguagePrev"] , newCharacter_updateLanguage, false) addEventHandler("onDgsMouseClick", gui["btnLanguageNext"] , newCharacter_updateLanguage, false) gui["btnCancel"] = dgsCreateButton(30, 550, 110, 26, "Zrušit", false, gui["_root"]) addEventHandler("onDgsMouseClick", gui["btnCancel"], newCharacter_cancel, false) gui["btnCreateChar"] = dgsCreateButton(160,550, 110, 26, "Vytvořit", false, gui["_root"]) addEventHandler("onDgsMouseClick", gui["btnCreateChar"], newCharacter_attemptCreateCharacter, false) newCharacter_changeSkin() newCharacter_updateScrollBars() end function newCharacter_raceFix() dgsCheckBoxSetSelected ( gui["chkAsian"], false ) dgsCheckBoxSetSelected ( gui["chkWhite"], false ) dgsCheckBoxSetSelected ( gui["chkBlack"], false ) if (source == gui["chkBlack"]) then dgsCheckBoxSetSelected ( gui["chkBlack"], true ) elseif (source == gui["chkWhite"]) then dgsCheckBoxSetSelected ( gui["chkWhite"], true ) elseif (source == gui["chkAsian"]) then dgsCheckBoxSetSelected ( gui["chkAsian"], true ) end curskin = 1 newCharacter_changeSkin(0) end function newCharacter_updateGender(button, state) if button == "left" and state == "up" then local diff = 0 if (source == gui["btnPrevSkin"]) then diff = -1 elseif (source == gui["btnNextSkin"]) then diff = 1 else curskin = 1 end newCharacter_changeSkin(diff) end end function newCharacter_updateLanguage(button, state) if button == "left" and state == "up" then if source == gui["btnLanguagePrev"] then if languageselected == 1 then languageselected = call( getResourceFromName( "language-system" ), "getLanguageCount" ) else languageselected = languageselected - 1 end elseif source == gui["btnLanguageNext"] then if languageselected == call( getResourceFromName( "language-system" ), "getLanguageCount" ) then languageselected = 1 else languageselected = languageselected + 1 end end dgsSetText(gui["lblLanguageDisplay"], tostring(call( getResourceFromName( "language-system" ), "getLanguageName", languageselected ))) end end function newCharacter_updateScrollBars() local scrollHeight = dgsScrollBarGetScrollPosition(gui["scrHeight"]) scrollHeight = math.floor((scrollHeight / 2) + 160) dgsSetText(gui["lblHeight"], "Výška (cm) : "..scrollHeight.." ") local scrWeight = dgsScrollBarGetScrollPosition(gui["scrWeight"]) scrWeight = math.floor(scrWeight + 50) dgsSetText(gui["lblWeight"], "Váha (kg) : "..scrWeight.." ") local scrAge = dgsScrollBarGetScrollPosition( gui["scrAge"] ) scrAge = math.floor( (scrAge * 0.8 ) + 18 ) dgsSetText(gui["lblAge"], "Věk (rokov) : "..scrAge.." ") local year = getBirthday(tonumber(scrAge)) selectedMonth = monthToNumber(selectedMonth1) --outputDebugString(selectedMonth) local dayCap = daysInMonth(selectedMonth, year) or 31 scrDay = (tonumber(dgsScrollBarGetScrollPosition(gui["scrDay"]))+1)/100 scrDay = math.floor( scrDay*dayCap ) if scrDay == 0 then scrDay = 1 end dgsSetText(gui["lblDay"], "Den narození: "..(scrDay or "1")) end function newCharacter_changeSkin(diff) local array = newCharacters_getSkinArray() local skin = 0 if (diff ~= nil) then curskin = curskin + diff end if (curskin > #array or curskin < 1) then curskin = 1 skin = array[1] else curskin = curskin skin = array[curskin] end if skin ~= nil then setElementModel(dummyPed, tonumber(skin)) end end function newCharacters_getSkinArray() local array = { } if (dgsCheckBoxGetSelected( gui["chkBlack"] )) then -- BLACK if (dgsRadioButtonGetSelected( gui["rbMale"] )) then -- BLACK MALE array = blackMales elseif (dgsRadioButtonGetSelected( gui["rbFemale"] )) then -- BLACK FEMALE array = blackFemales else outputChatBox("Vyber si pohlaví!", 0, 255, 0) end elseif ( dgsCheckBoxGetSelected( gui["chkWhite"] ) ) then -- WHITE if ( dgsRadioButtonGetSelected( gui["rbMale"] ) ) then -- WHITE MALE array = whiteMales elseif ( dgsRadioButtonGetSelected( gui["rbFemale"] ) ) then -- WHITE FEMALE array = whiteFemales else outputChatBox("Vyber si pohlaví!", 0, 255, 0) end elseif ( dgsCheckBoxGetSelected( gui["chkAsian"] ) ) then -- ASIAN if ( dgsRadioButtonGetSelected( gui["rbMale"] ) ) then -- ASIAN MALE array = asianMales elseif ( dgsRadioButtonGetSelected( gui["rbFemale"] ) ) then -- ASIAN FEMALE array = asianFemales else outputChatBox("Vyber si pohlaví!", 0, 255, 0) end end return array end function newCharacter_cancel(hideSelection) guiSetInputEnabled(false) destroyElement(dummyPed) destroyElement(gui["_root"]) gui = {} curskin = 1 dummyPed = nil languageselected = 1 if hideSelection ~= true then Characters_showSelection() end clearChat() end function newCharacter_attemptCreateCharacter() local characterName = dgsGetText(gui["txtCharName"]) local nameCheckPassed, nameCheckError = checkValidCharacterName(characterName) if not nameCheckPassed then LoginScreen_showWarningMessage( "Error processing your character name:\n".. nameCheckError ) return end --[[ local characterDescription = dgsGetText(gui["memCharDesc"]) if #characterDescription < 50 then LoginScreen_showWarningMessage( "Error processing your character\ndescription: Not long enough." ) return elseif #characterDescription > 128 then LoginScreen_showWarningMessage( "Error processing your character\ndescription: Too long." ) return end]] local race = 0 if (dgsCheckBoxGetSelected(gui["chkBlack"])) then race = 0 elseif (dgsCheckBoxGetSelected(gui["chkWhite"])) then race = 1 elseif (dgsCheckBoxGetSelected(gui["chkAsian"])) then race = 2 else LoginScreen_showWarningMessage( "Error processing your character race:\nNone selected." ) return end local gender = 0 if (dgsRadioButtonGetSelected( gui["rbMale"] )) then gender = 0 elseif (dgsRadioButtonGetSelected( gui["rbFemale"] )) then gender = 1 else LoginScreen_showWarningMessage( "Error processing your character gender:\nNone selected." ) return end local skin = getElementModel( dummyPed ) if not skin then LoginScreen_showWarningMessage( "Error processing your character skin:\nNone selected." ) return end local scrollHeight = dgsScrollBarGetScrollPosition(gui["scrHeight"]) scrollHeight = math.floor((scrollHeight / 2) + 150) local scrWeight = dgsScrollBarGetScrollPosition(gui["scrWeight"]) scrWeight = math.floor(scrWeight + 50) local scrAge = dgsScrollBarGetScrollPosition(gui["scrAge"]) scrAge = math.floor( (scrAge * 0.8 ) + 16 ) if languageselected == nil then LoginScreen_showWarningMessage( "Error processing your character language:\nNone selected." ) return end dgsSetEnabled(gui["btnCancel"], false) dgsSetEnabled(gui["btnCreateChar"], false) dgsSetEnabled(gui["_root"], false) fadeCamera(false, 1) setTimer(function () selectStartPointGUI(characterName, characterDescription, race, gender, skin, scrollHeight, scrWeight, scrAge, languageselected, selectedMonth, scrDay) --This is the correct place. /MAXIME end, 1000, 1) end function newCharacter_response(statusID, statusSubID) if (statusID == 1) then LoginScreen_showWarningMessage( "Oops, something went wrong. Try again\nor contact an administrator.\nError ACC"..tostring(statusSubID) ) elseif (statusID == 2) then if (statusSubID == 1) then LoginScreen_showWarningMessage( "This charactername is already in\nuse, sorry :(!" ) else LoginScreen_showWarningMessage( "Oops, something went wrong. Try again\nor contact an administrator.\nError ACD"..tostring(statusSubID) ) end elseif (statusID == 3) then newCharacter_cancel(true) triggerServerEvent("accounts:characters:spawn", getLocalPlayer(), statusSubID) triggerServerEvent("updateCharacters", getLocalPlayer()) --selectStartPointGUI(statusSubID) --Turned out this not where we should have started LOL /Max return end dgsSetEnabled(gui["btnCancel"], true) dgsSetEnabled(gui["btnCreateChar"], true) dgsSetEnabled(gui["_root"], true) end addEventHandler("accounts:characters:new", getRootElement(), newCharacter_response) local wSelectStartPoint = nil function selectStartPointGUI(characterName, characterDescription, race, gender, skin, scrollHeight, scrWeight, scrAge, languageselected, selectedMonth, scrDay ) closeSelectStartPoint() -- Make sure the GUI won't get duplicated and stuck on client's screen at any case. showCursor(true) guiSetInputEnabled(true) --config local locations = { -- x, y, z, rot int, dim Location Name ["default"] = { 1922.9072265625, -1760.6982421875, 13.546875, 0, 0, 0, "A bus stop next to IGS"}, ["bus"] = {1749.509765625, -1860.5087890625, 13.578649520874, 359.0744, 0, 0, "Unity Bus Station"}, ["metro"] = {808.88671875, -1354.6513671875, -0.5078125, 139.5092, 0, 0, "Metro Station"}, ["air"] = {1691.6455078125, -2334.001953125, 13.546875, 0.10711, 0, 0, "Los Santos International Airport"}, ["boat"] = {2809.66015625, -2436.7236328125, 13.628322601318, 90.8995, 0, 0, "Santa Maria Dock"}, } wSelectStartPoint = dgsCreateWindow(0,0, 300, 250, "How do you arrive in Los Santos?", false) exports.global:centerWindow(wSelectStartPoint) local busButton = dgsCreateButton(40, 40, 100, 60, "Bus", false, wSelectStartPoint) addEventHandler("onDgsMouseClick", busButton, function () newCharacter_cancel(true) triggerServerEvent("accounts:characters:new", getLocalPlayer(), characterName, characterDescription, race, gender, skin, scrollHeight, scrWeight, scrAge, languageselected, selectedMonth, scrDay, locations.bus) closeSelectStartPoint() end) local metroButton = dgsCreateButton(40, 120, 100, 60, "Metro", false, wSelectStartPoint) addEventHandler("onDgsMouseClick", metroButton, function() newCharacter_cancel(true) triggerServerEvent("accounts:characters:new", getLocalPlayer(), characterName, characterDescription, race, gender, skin, scrollHeight, scrWeight, scrAge, languageselected, selectedMonth, scrDay, locations.metro) closeSelectStartPoint() end) local airButton = dgsCreateButton(160, 40, 100, 60, "Airplane", false, wSelectStartPoint) addEventHandler("onDgsMouseClick", airButton, function() newCharacter_cancel(true) triggerServerEvent("accounts:characters:new", getLocalPlayer(), characterName, characterDescription, race, gender, skin, scrollHeight, scrWeight, scrAge, languageselected, selectedMonth, scrDay, locations.air) closeSelectStartPoint() end) local boatButton = dgsCreateButton(160, 120, 100, 60, "Boat", false, wSelectStartPoint) addEventHandler("onDgsMouseClick", boatButton, function() newCharacter_cancel(true) triggerServerEvent("accounts:characters:new", getLocalPlayer(), characterName, characterDescription, race, gender, skin, scrollHeight, scrWeight, scrAge, languageselected, selectedMonth, scrDay, locations.boat) closeSelectStartPoint() end) --Temporarily disabled new character spawnpoint selector until we set up all the spawnpoint's shops and locations properly. /Maxime triggerServerEvent("accounts:characters:new", getLocalPlayer(), characterName, characterDescription, race, gender, skin, scrollHeight, scrWeight, scrAge, languageselected, selectedMonth, scrDay, locations.default) closeSelectStartPoint() -- end of the disability end function closeSelectStartPoint() if wSelectStartPoint and isElement(wSelectStartPoint) then destroyElement(wSelectStartPoint) showCursor(false) guiSetInputEnabled(false) end end function isThisYearLeap(year) if (tonumber(year)%4) == 0 then return true else return false end end function monthToNumber(monthName) if not monthName then return 1 else if monthName == "Leden" then return 1 elseif monthName == "Únor" then return 2 elseif monthName == "Březen" then return 3 elseif monthName == "Duben" then return 4 elseif monthName == "Květen" then return 5 elseif monthName == "Červen" then return 6 elseif monthName == "Červenec" then return 7 elseif monthName == "Srpen" then return 8 elseif monthName == "Září" then return 9 elseif monthName == "Říjen" then return 10 elseif monthName == "Listopad" then return 11 elseif monthName == "Prosinec" then return 12 else return 1 end end end function monthNumberToName(monthNumber) if not monthNumber or not tonumber(monthNumber) then return "Leden" else monthNumber = tonumber(monthNumber) if monthNumber == 1 then return "Leden" elseif monthNumber == 2 then return "Únor" elseif monthNumber == 3 then return "Březen" elseif monthNumber == 4 then return "Duben" elseif monthNumber == 5 then return "Květen" elseif monthNumber == 6 then return "Červen" elseif monthNumber == 7 then return "Červenec" elseif monthNumber == 8 then return "Srpen" elseif monthNumber == 9 then return "Září" elseif monthNumber == 10 then return "Říjen" elseif monthNumber == 11 then return "Listopad" elseif monthNumber == 12 then return "Prosinec" else return "Leden" end end end function daysInMonth(month, year) if not month or not year or not tonumber(month) or not tonumber(year) then return 31 else month = tonumber(month) year = tonumber(year) end if month == 1 then return 31 elseif month == 2 then if isThisYearLeap(year) then return 29 else return 28 end elseif month == 3 then return 31 elseif month == 4 then return 30 elseif month == 5 then return 31 elseif month == 6 then return 30 elseif month == 7 then return 31 elseif month == 8 then return 31 elseif month == 9 then return 30 elseif month == 10 then return 31 elseif month == 11 then return 30 elseif month == 12 then return 31 else return 31 end end function getBirthday(age) if not age or not tonumber(age) then return 2015 else age = tonumber(age) end local time = getRealTime() time.year = time.year + 1900 return (time.year - age) end function getBetterDay(day) if not day or not tonumber(day) then return "1st" else day = tonumber(day) if day == 1 or day == 21 or day == 31 then return day.."st" elseif day == 2 or day == 22 then return day.."nd" elseif day == 3 or day == 23 then return day.."rd" else return day.."th" end end end local mysql = exports.mysql function newCharacter_create(characterName, characterDescription, race, gender, skin, height, weight, age, languageselected, month, day, location) if not (checkValidCharacterName(characterName)) then triggerClientEvent(client, "accounts:characters:new", client, 1, 1) -- State 1:1: error validating data return end if not (race > -1 and race < 3) then triggerClientEvent(client, "accounts:characters:new", client, 1, 2) -- State 1:2: error validating data return end if not (gender == 0 or gender == 1) then triggerClientEvent(client, "accounts:characters:new", client, 1, 3) -- State 1:3: error validating data return end if not skin then triggerClientEvent(client, "accounts:characters:new", client, 1, 4) -- State 1:4: error validating data return end if not (height < 201 and height > 149) then triggerClientEvent(client, "accounts:characters:new", client, 1, 5) -- State 1:5: error validating data return end if not (weight < 200 and weight > 49) then triggerClientEvent(client, "accounts:characters:new", client, 1, 6) -- State 1:6: error validating data return end if not (age > 15 and age < 101) then triggerClientEvent(client, "accounts:characters:new", client, 1, 7) -- State 1:7: error validating data return end if not tonumber(languageselected) then triggerClientEvent(client, "accounts:characters:new", client, 1, 8) -- State 1:8: error validating data return end characterName = string.gsub(tostring(characterName), " ", "_") --[[if #characterDescription < 50 or #characterDescription > 128 then triggerClientEvent(client, "accounts:characters:new", client, 1, 9) -- State 1:9: error validating data return end characterDescription = mysql:escape_string(characterDescription)]] local mQuery1 = mysql:query("SELECT charactername FROM characters WHERE charactername='" .. mysql:escape_string(characterName) .. "'") if (mysql:num_rows(mQuery1)>0) then mysql:free_result(mQuery1) triggerClientEvent(client, "accounts:characters:new", client, 2, 1) -- State 2:1: Name already in use return end mysql:free_result(mQuery1) local accountID = getElementData(client, "account:id") local accountUsername = getElementData(client, "account:username") local fingerprint = md5(mysql:escape_string(characterName) .. accountID .. race .. gender .. age) if month == "January" then month = 1 end local walkingstyle = 128 if gender == 1 then walkingstyle = 129 end local id = mysql:query_insert_free("INSERT INTO `characters` SET `charactername`='" .. mysql:escape_string(characterName).. "', `x`='"..location[1].."', `y`='"..location[2].."', `z`='"..location[3].."', `rotation`='"..location[4].."', `interior_id`='"..location[5].."', `dimension_id`='"..location[6].."', `lastarea`='"..exports.global:toSQL(location[7]).."', `gender`='" .. mysql:escape_string(gender) .. "', `skincolor`='" .. mysql:escape_string(race) .. "', `weight`='" .. mysql:escape_string(weight) .. "', `height`='" .. mysql:escape_string(height) .. "', `description`='', `account`='" .. mysql:escape_string(accountID) .. "', `skin`='" .. mysql:escape_string(skin) .. "', `age`='" .. mysql:escape_string(age) .. "', `fingerprint`='" .. mysql:escape_string(fingerprint) .. "', `lang1`='" .. mysql:escape_string(languageselected) .. "', `lang1skill`='100', `currLang`='1' , `month`='" .. mysql:escape_string(month or math.random(1,12)) .. "', `day`='" .. mysql:escape_string(day or math.random(1,27)).."', `walkingstyle`='" .. mysql:escape_string(walkingstyle).."' " ) if (id) then -- exports.logs:dbLog("ac"..tostring(accountID), 27, { "ac"..tostring(accountID), "ch" .. id } , "Created" ) exports.anticheat:changeProtectedElementDataEx(client, "dbid", id, false) exports.global:giveItem( client, 16, skin ) exports.global:giveItem( client, 17, 1 ) -- ID CARD exports.global:giveItem( client, 152, characterName..";"..(gender==0 and "Male" or "Female")..";"..exports.global:numberToMonth(month or 1).." "..exports.global:formatDate(day or 1)..", "..exports.global:getBirthYearFromAge(age)..";"..fingerprint) -- Briefcase if exports.global:giveItem( client, 160, 1 ) then triggerEvent("artifacts:toggle", client, client, "briefcase") end --Make a new phone and give it to player / maxime local attempts = 0 local itemValue = 1 while true do -- generate a larger phone number if we're totally out of numbers and/or too lazy to perform more than 20+ checks. attempts = attempts + 1 itemValue = math.random(311111, attempts < 20 and 899999 or 8999999) local mysqlQ = mysql:query("SELECT `phonenumber` FROM `phones` WHERE `phonenumber` = '" .. itemValue .. "'") if mysql:num_rows(mysqlQ) == 0 then mysql:free_result(mysqlQ) break end mysql:free_result(mysqlQ) end --exports.global:giveItem( client, 2, itemValue ) exports.anticheat:changeProtectedElementDataEx(client, "dbid") triggerClientEvent(client, "accounts:characters:new", client, 3, tonumber(id)) -- State 3:<var>: Spic win! else triggerClientEvent(client, "accounts:characters:new", client, 2, 2) -- State 2:2: Failed to update database end end addEventHandler("accounts:characters:new", getRootElement(), newCharacter_create)
  5. That database can not be in first line and more I give you account and FTP and you can repair it
  6. Hello I need really help, I have got script for DB and I don´t know how to connect it with my database dbadmin.sk here is script and how to connect it for database this is script in my server files but for example I go to shop and I bought a new car and in debugscript 3 is ERROR DATABASE and more HELP ME
  7. In game I want drive cars or take skin and system : YOU ARE NOT IN FACTION. But I do not know how to pair database and my factions. How I can add me to faction.
  8. Hello I need help with database mysql. I can not create database for my factions. How I can create a database with factions and join there ?? And how I can upload my file with vehicles to database because I go to garage and there was written your vehicle is not existing. More info or tutorial to my skype : marek.vrabel2521 THANKS !
  9. Hello, Yes I am begineer, please can you repair it ?? Very please and I study it. Thank you a lot.
  10. Hello I need help I have got a duty script where when admin say /duty got 999999blood and text under head Admin is on duty ...... And when I write /off duty, blood will be 12000 but Admin is on duty text is there always. 3d Texts local fonts = { [ "default" ] = true, [ "default-bold" ] = true,[ "clear" ] = true,[ "arial" ] = true,[ "sans" ] = true, [ "pricedown" ] = true, [ "bankgothic" ] = true,[ "diploma" ] = true,[ "beckett" ] = true }; function dxDraw3DText( text, x, y, z, scale, font, r, g, b, maxDistance ) assert( type( text ) == "string", "Bad argument @ dxDraw3DText" ); assert( type( x ) == "number", "Bad argument @ dxDraw3DText" ); assert( type( y ) == "number", "Bad argument @ dxDraw3DText" ); assert( type( z ) == "number", "Bad argument @ dxDraw3DText" ); if not scale or type( scale ) ~= "number" or scale <= 0 then scale = 2 end if not font or type( font ) ~= "string" or not fonts[ font ] then font = "default" end if not r or type( r ) ~= "number" or r < 0 or r > 255 then r = 255 end if not g or type( g ) ~= "number" or g < 0 or g > 255 then g = 255 end if not b or type( b ) ~= "number" or b < 0 or b > 255 then b = 255 end if not maxDistance or type( maxDistance ) ~= "number" or maxDistance <= 1 then maxDistance = 12 end local textElement = createElement( "text" ); if textElement then setElementData( textElement, "text", text ); setElementData( textElement, "x", x ); setElementData( textElement, "y", y ); setElementData( textElement, "z", z ); setElementData( textElement, "scale", scale ); setElementData( textElement, "font", font ); setElementData( textElement, "rgba", { r, g, b, 255 } ); setElementData( textElement, "maxDistance", maxDistance ); return textElement end return false end addEventHandler( "onClientRender", root, function( ) local texts = getElementsByType( "text" ); if #texts > 0 then local pX, pY, pZ = getElementPosition( localPlayer ); for i = 1, #texts do local text = getElementData( texts[i], "text" ); local tX, tY, tZ = getElementData( texts[i], "x" ), getElementData( texts[i], "y" ), getElementData( texts[i], "z" ); local font = getElementData( texts[i], "font" ); local scale = getElementData( texts[i], "scale" ); local color = getElementData( texts[i], "rgba" ); local maxDistance = getElementData( texts[i], "maxDistance" ); if not text or not tX or not tY or not tZ then return end if not font then font = "default" end if not scale then scale = 2 end if not color or type( color ) ~= "table" then color = { 255, 255, 255, 255 }; end if not maxDistance then maxDistance = 12 end local distance = getDistanceBetweenPoints3D( pX, pY, pZ, tX, tY, tZ ); if distance <= maxDistance then local x, y = getScreenFromWorldPosition( tX, tY, tZ ); if x and y then dxDrawText( text, x, y, _, _, tocolor( color[1], color[2], color[3], color[4] ), scale, font, "center", "center" ); end end end end end ); Blood function giveblood (thePlayer) local account = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup("user." .. account, aclGetGroup("Admin,Moderator,Owner")) then end outputChatBox ("#1AFF00 Administrátor "..getPlayerName(thePlayer).."#1AFF00 pracuje - NESMRTELNOST",root,255,255,255,true) setElementData(thePlayer, "blood",999999999) end addCommandHandler("duty", giveblood) function bloodback(thePlayer) local account = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup("user." .. account, aclGetGroup("Admin,Moderator,Owner")) then end outputChatBox ("#FF0000 Administrátor "..getPlayerName(thePlayer).."#FF0000 už nepracuje - SMRTELNOST",root,255,255,255,true) setElementData(thePlayer, "blood",12000) end addCommandHandler("offduty", bloodback) Text addEvent ( "onDuty", true ) function duty() if getElementData(getLocalPlayer( ),"duty") == true then timer = setTimer ( function() setElementData(getLocalPlayer( ),"onDuty",true) local x, y, z = getElementPosition( getLocalPlayer( ) ) local playerName = getPlayerName( getLocalPlayer( ) ) local theText = dxDraw3DText( "×× Admin is OnDuty ××\n[DONT SHOOT]", x, y, z+1,05,"default",255,0,0,200) setTimer ( function() destroyElement(theText) end, 59, 1) end, 60, 0 ) else if isTimer(timer) then killTimer(timer) end setElementData(getLocalPlayer( ),"duty",true) end end addEventHandler ( "onDuty", getRootElement(), duty) addCommandHandler("duty",duty)
  11. Man please I need help I am begineer.
  12. Please finished script , can you give me it ?? I am begineer.
  13. Hello I need help, I download script "Gielda samochodowa" it is vehicle shop of player cars and it is not working local sw,sh = guiGetScreenSize() local gieldaMarker = createMarker( -1892.845703125,-857.79699707031,32.0234375, "cylinder" ,5, 0, 71,255,40 ) local strefa = createColSphere ( -1896.7279052734,-858.39862060547,31.440845489502 , 5, 4.5, 2) local cuboid=createMarker( -1896.7279052734,-858.39862060547,31.440845489502, "cylinder" ,11, 25, 111,25,0) local koniec = createMarker(-1896.7279052734,-858.39862060547,31.440845489502, "cylinder", 0.01, 255, 0, 255, 0) buttonWystaw = guiCreateButton(620/1440*sw, 479/900*sh, 264/1440*sw, 94/900*sh, "Set vehicle price!", false) editWystaw = guiCreateEdit(613/1440*sw, 383/900*sh, 278/1440*sw, 64/900*sh, "", false) guiSetVisible(buttonWystaw, false) guiSetVisible(editWystaw, false) function dxPokaz() dxDrawRectangle(600/1440*sw, 284/900*sh, 306/1440*sw, 310/900*sh, tocolor(0, 0, 0, 198), false) dxDrawRectangle(600/1440*sw, 284/900*sh, 306/1440*sw, 28/900*sh, tocolor(0, 76, 255, 207), false) dxDrawText("RealLife 4.7!", 62/1440*sw, 310/900*sh, 1440/1440*sw, 284/900*sh, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "center", false, false, false, false, false) dxDrawText("Enter the price of the car you're interested in what \n(minimum €500)", 65/1440*sw, 284/900*sh, 1427/1440*sw, 377/900*sh, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "center", false, false, false, true, false) dxDrawText("Enter the price of the car you're interested in what \n(minimum €500)", 70/1440*sw, 282/900*sh, 1427/1440*sw, 375/900*sh, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "center", false, false, false, true, false) dxDrawText("Enter the price of the car you're interested in what \n(minimum €500)", 70/1440*sw, 284/900*sh, 1425/1440*sw, 377/900*sh, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "center", false, false, false, true, false) dxDrawText("Enter the price of the car you're interested in what \n(minimum €500)", 70/1440*sw, 282/900*sh, 1425/1440*sw, 375/900*sh, tocolor(0, 0, 0, 255), 1.00, "default-bold", "center", "center", false, false, false, true, false) dxDrawText("Enter the price of the car you're interested in what \n(minimum €500)", 70/1440*sw, 283/900*sh, 1426/1440*sw, 376/900*sh, tocolor(255, 255, 255, 255), 1.00, "default-bold", "center", "center", false, false, false, true, false) end addEventHandler("onClientMarkerLeave", gieldaMarker, function(el, md) if el ~= localPlayer then return end if guiGetVisible(buttonWystaw) == true then guiSetVisible(buttonWystaw, false) guiSetVisible(editWystaw, false) showCursor(false) removeEventHandler('onClientRender', root, dxPokaz) end end) addEventHandler('onClientMarkerHit', gieldaMarker, function(hitElement, matchingDimension) if hitElement ~= getLocalPlayer() then return end if getPedOccupiedVehicle ( hitElement ) then local pojazdy = getElementsWithinColShape(strefa,"vehicle") if #pojazdy>40 then outputChatBox("The stock market is 40 cars. Wait until it is free place") return end guiSetVisible(buttonWystaw, true) guiSetVisible(editWystaw, true) showCursor(true, false) addEventHandler("onClientRender", root, dxPokaz) end end) function wystaw( ) local cenaPobierz = guiGetText ( editWystaw ) local cena = tonumber(cenaPobierz) local pojazd = getPedOccupiedVehicle(localPlayer) local car = getVehicleName(pojazd) local owner = getElementData(pojazd, "car_owner") local id = getElementData(pojazd, "car_id") if cena >499 then --triggerServerEvent ( "wystawEvent", resourceRoot, pojazd, cena, wlasciciel, id) setElementData(pojazd,"pojazd_opis","------------------\nVehicle: "..car.."\nPrice: "..cena.."$\nOwner: "..owner.."\nID Vehicle: "..id.."\n------------------" ) --"Cena: "..cena.."$\nSprzedający: "..owner.."\nID Pojazdu: "..id.."" ) else --jesli cena to nie 750 outputChatBox("* Minimum price is 500€!") end end addEventHandler ( "onClientGUIClick", buttonWystaw , wystaw ) --33 addEventHandler('onClientMarkerHit', cuboid, function(el,md) if not md or el ~= localPlayer then return end if wstep then return end wstep=true end) addEventHandler("onClientMarkerHit", cuboid, function(el,md) if not md or el ~= localPlayer then return end if not wstep then return end local veh=getPedOccupiedVehicle(el) if not veh then return end setElementData(veh,"pojazd_opis",false) end) And my vehiclesystem with ID "zapisz_aut" --[[ Ten plik zawiera: * tworzenie aut przy uruchomieniu skryptu * laczenie sie z baza SQL Lite * zapis danych aut co 15 min i przy wylaczeniu skryptu * komende dla administratora sluzaca zapisowi aut * funkcje blokujaca wejscie do auta jesli nie jestesmy jego wlascicieleme --]] handler = dbConnect("sqlite", "pojazdy.db") --pojazdy dbExec(handler, "CREATE TABLE IF NOT EXISTS pojazdy (id INTEGER PRIMARY KEY AUTOINCREMENT, wlasciciel TEXT, model INTEGER, x FLOAT, y FLOAT, z FLOAT, rot FLOAT, ca INTEGER, cb INTEGER, cc INTEGER, przebieg FLOAT, paliwo FLOAT)") dbExec(handler, "CREATE UNIQUE INDEX IF NOT EXISTS IDX_id on pojazdy(id)") --tuning dbExec(handler, "CREATE TABLE IF NOT EXISTS tuning (id INTEGER, t0 INTEGER, t1 INTEGER, t2 INTEGER, t3 INTEGER, t4 INTEGER, t5 INTEGER, t6 INTEGER, t7 INTEGER, t8 INTEGER, t9 INTEGER, t10 INTEGER, t11 INTEGER, t12 INTEGER, t13 INTEGER, t14 INTEGER, t15 INTEGER, t16 INTEGER, paintjob INTEGER, hr INTEGER, hg INTEGER, hb INTEGER)") dbExec(handler, "CREATE UNIQUE INDEX IF NOT EXISTS IDX_id on tuning(id)") function onStartLoadVehicles() local query = dbQuery(handler, "SELECT * FROM pojazdy") local result, num_rows, errormsg = dbPoll (query, -1) for i,v in pairs(result) do local veh = createVehicle(v["model"], v["x"], v["y"], v["z"]) setElementRotation(veh, 0, 0, v["rot"]) setVehicleColor(veh, v["ca"], v["cb"], v["cc"]) ustawDanePojazdu(veh, v["id"], v["wlasciciel"]) --ustawiam paliwo i przebieg setElementData(veh, "pojazd_paliwo", v["paliwo"] or 50) setElementData(veh, "pojazd_przebieg", v["przebieg"] or 0) --<< na koncu -->> local query = dbQuery(handler, "SELECT * FROM tuning WHERE id='"..v["id"].."'") local result, num_rows, errormsg = dbPoll (query, -1) setVehiclePaintjob(veh, result[1].paintjob) setVehicleHeadLightColor(veh, result[1].hr, result[1].hg, result[1].hb) for i,v in pairs(result) do for ii, vv in pairs(v) do if (ii ~= "id" and ii ~= "paintjob" and ii ~= "hr" and ii ~= "hg" and ii ~= "hb") then local vv = tonumber(vv) if vv ~= 0 then addVehicleUpgrade(veh, vv) end end end end end end addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), onStartLoadVehicles) function ustawDanePojazdu(veh, id, wlasciciel) --id = INT, wlasciciel = STRING setElementData(veh, "car_id", id) setElementData(veh, "car_owner", wlasciciel) end function onVehicleStartEnter(player, seat, jacked) if seat == 0 then local car_owner = getElementData(source, "car_owner") if car_owner then local account = getPlayerAccount(player) if account then local name = getAccountName(account) if car_owner == name then --mamy prawo wejscia do auta prawo_ = true end end if prawo_ then --wchodzim prawo_ = false else --sio outputChatBox("You haven´t got a keys from this vehicle.", player, 255, 255, 255, true) cancelEvent() end end end end addEventHandler ("onVehicleStartEnter", resourceRoot, onVehicleStartEnter) --<> function zapiszPojazdy() for i,v in pairs(getElementsByType("vehicle")) do local id = getElementData(v, "car_id") if id then local owner = getElementData(v, "car_owner") local x, y, z = getElementPosition(v) local _, _, rot = getElementRotation(v) local color1, color2, color3, color4 = getVehicleColor(v, true) local paliwo = getElementData(v, "pojazd_paliwo") local przebieg = getElementData(v, "pojazd_przebieg") dbExec(handler, "UPDATE pojazdy SET x='"..x.."', y='"..y.."', z='"..z.."', rot='"..rot.."', ca='"..color1.."', cb='"..color2.."', cc='"..color3.."', przebieg='"..przebieg.."', paliwo='"..paliwo.."' WHERE id='"..id.."'") local paintjob = getVehiclePaintjob(v) local r, g, b = getVehicleHeadLightColor(v) sav = {} for i=0, 16 do local upgrade = getVehicleUpgradeOnSlot(v, i) sav[i] = upgrade or 0 end dbExec(handler, "UPDATE tuning SET t0='"..sav[0].."', t1='"..sav[1].."', t2='"..sav[2].."', t3='"..sav[3].."', t4='"..sav[4].."', t5='"..sav[5].."', t6='"..sav[6].."', t7='"..sav[7].."', t8='"..sav[8].."', t9='"..sav[9].."', t10='"..sav[10].."', t11='"..sav[11].."', t12='"..sav[12].."', t13='"..sav[13].."', t14='"..sav[14].."', t15='"..sav[15].."', t16='"..sav[16].."', paintjob='"..paintjob.."', hr='"..r.."', hg='"..g.."', hb='"..b.."' WHERE id="..id.."") sav = nil end end end setTimer(zapiszPojazdy, 900000, 0) function zapiszKomenda(player) local acc = getAccountName (getPlayerAccount(player)) if isObjectInACLGroup ("user."..acc, aclGetGroup ("Admin")) then zapiszPojazdy() outputChatBox("** Vehicles were saved.", player, 255, 255, 255, true) end end addCommandHandler("savecars", zapiszKomenda) -- mapa, f11 addEvent("pobierzPojazdyGracza", true) addEventHandler("pobierzPojazdyGracza", getRootElement(), function() local account = getPlayerAccount(source) if account then local name = getAccountName(account) local vehs = getVehiclesByOwner(name) triggerClientEvent(source, "zwrocPojazdyGracza", root, vehs) end end) -- --zwraca pojazd o danym ID function getVehicleByID(poszukiwane_id) for i,v in pairs(getElementsByType("vehicle")) do local id = getElementData(v, "car_id") if id then local id = tonumber(id) local poszukiwane_id = tonumber(poszukiwane_id) if id == poszukiwane_id then return v end end end return false end --zwraca pojazdy ktore posiada dany login function getVehiclesByOwner(szukany) tab = {} for i,v in pairs(getElementsByType("vehicle")) do local owner = getElementData(v, "car_owner") if owner then if owner == szukany then table.insert(tab, v) end end end return tab end --zwraca liczbe pojazdow jaka ma dany login function getYourVehicleCount(login) local vehs = getVehiclesByOwner(login) return #vehs end
×
×
  • Create New...