Code
vio\clicksys\playerclick\self_click.lua:78 attemp to call global 'showAdminMenue' (a nil value)
Lua
guiObjectModels = { [2942]=true, [2190]=true, [2754]=true, [2886]=true }secondClickTypes = { ["ped"] = true, ["player"] = true, ["vehicle"] = true }clickSpecialPeds = { [rathausped]=true }
function player_click ( button, state, clickedElement, x, y, z )
if state == "down" and not getElementData ( source, "ElementClicked" ) then local x1, y1, z1 = getElementPosition ( source ) local veh = getPedOccupiedVehicle ( source ) -- Spezial -- if not clickedElement then if vioGetElementData ( source, "objectToPlace" ) or vioGetElementData ( source, "airstrike" ) or vioGetElementData ( source, "wanzen" ) then if vioGetElementData ( source, "wanzen" ) then createWanze ( source, clickedElement, x, y, z ) elseif vioGetElementData ( source, "airstrike" ) then vioSetElementData ( source, "airstrike", false ) createAirstrike ( source, x, y, z ) showCursor ( source, false ) setElementData ( source, "ElementClicked", false ) end return true end end
-- Special Elements - Objekte -- if clickedElement and not secondClickTypes[getElementType(clickedElement)] then local x2, y2, z2 = getElementPosition ( clickedElement ) if getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) <= 10 then local model = getElementModel ( clickedElement ) local count = getElementData ( clickedElement, "count" ) if guiObjectModels[model] then if model == 2942 then playerbankmoney = getElementData(source, "bankmoney") triggerClientEvent ( source, "showCashPoint", getRootElement(), playerbankmoney ) setElementData ( source, "ElementClicked", true ) elseif model == 2190 then if isOnDuty ( source ) then triggerClientEvent ( source, "ShowPoliceComputerGui", getRootElement() ) setElementData ( source, "ElementClicked", true ) else outputChatBox("Du bist nicht im Dienst", player, 255, 0, 0) end elseif model == 2754 then triggerClientEvent ( source, "showChipBuy", source ) elseif model == 2886 then -- Materialtruck local fraktion = vioGetElementData ( source, "fraktion" ) local fname = fraktionNames[tonumber(fraktion)] if tonumber ( fraktion ) > 1 then setElementData ( source, "ElementClicked", true ) triggerClientEvent ( source, "showFrakMats", getRootElement (), _G[fname.."Money"] ) end end elseif vioGetElementData ( clickedElement, "placeableObject" ) then if vioGetElementData ( source, "adminlvl" ) then if not vioGetElementData ( source, "objectDelete" ) then outputChatBox ( "Du kannst dieses Objekt loeschen; Klicke es dazu erneut an!", source, 0, 125, 0 ) vioSetElementData ( source, "objectDelete", true ) setTimer ( vioSetElementData, 60000, 1, source, "objectDelete", nil ) else destroyElement ( clickedElement ) end end elseif count then local x1, y1, z1 = getElementPosition ( source ) local x2, y2, z2 = getElementPosition ( clickedElement ) if getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) <= 3 then local x3, y3, z3 = getElementPosition ( _G["weedPlant"..count] ) destroyElement ( _G["weedPlant"..count] ) destroyElement ( _G["weedBox1"..count] ) destroyElement ( _G["weedBox2"..count] ) local gTime = getRealTime() if _G["weedHour"..count] > tonumber ( gTime.hour ) then htime = 24 - _G["weedHour"..count] + gTime.hour else htime = gTime.hour - _G["weedHour"..count] end local drugs = math.floor ( htime * 2 ) + 1 if drugs > 15 then drugs = 15 end weedDelMySQL ( _G["weedPlantid"..count], _G["weedPlantX"..count], _G["weedPlantY"..count], _G["weedPlantZ"..count], _G["weedHour"..count], _G["weedMin"..count] ) outputChatBox ( "Du hast "..drugs.." Gramm Drogen geerntet!", source, 0, 125, 0 ) vioSetElementData ( source, "drugs", vioGetElementData ( source, "drugs" ) + drugs ) end elseif gunBoxes[clickedElement] then triggerClientEvent ( source,"gunCrateMenue", getRootElement() ) setElementData ( source, "ElementClicked", true ) elseif depots[clickedElement] then if isInDepotFaction ( source ) then setElementData ( source, "ElementClicked", true ) if vioGetElementData ( source, "fraktion" ) == 2 then triggerClientEvent ( source, "showFDepot", getRootElement(), MafiaMoney, MafiaMats, MafiaDrugs ) elseif vioGetElementData ( source, "fraktion" ) == 3 then triggerClientEvent ( source, "showFDepot", getRootElement(), TriadenMoney, TriadenMats, TriadenDrugs ) elseif vioGetElementData ( source, "fraktion" ) == 4 then triggerClientEvent ( source, "showFDepot", getRootElement(), TerroristenMoney, TerroristenMats, TerroristenDrugs ) elseif vioGetElementData ( source, "fraktion" ) == 5 then triggerClientEvent ( source, "showFDepot", getRootElement(), ReporterMoney, ReporterMats, ReporterDrugs ) elseif vioGetElementData ( source, "fraktion" ) == 7 then triggerClientEvent ( source, "showFDepot", getRootElement(), AztecasMoney, AztecasMats, AztecasDrugs ) elseif vioGetElementData ( source, "fraktion" ) == 9 then triggerClientEvent ( source, "showFDepot", getRootElement(), GroveMoney, GroveMats, GroveDrugs ) elseif vioGetElementData ( source, "fraktion" ) == 10 then triggerClientEvent ( source, "showFDepot", getRootElement(), BallasMoney, BallasMats, BallasDrugs ) elseif vioGetElementData ( source, "fraktion" ) == 11 then triggerClientEvent ( source, "showFDepot", getRootElement(), VagosMoney, VagosMats, VagosDrugs ) else setElementData ( source, "ElementClicked", false ) end else outputChatBox ( "Du bist in einer ungueltigen Fraktion!", source, 125, 0, 0 ) end end return true end end -- Special Elements - Player -- if clickedElement then if secondClickTypes[getElementType(clickedElement)] then if getElementModel ( clickedElement ) == 283 and not getElementType ( clickedElement ) == "player" then if not vioGetElementData ( source, "ticketOffered" ) then vioSetElementData ( source, "ticketOffered", true ) outputChatBox ( "Hier kannst du ein Strafzettel loesen, um ein Wanted zu loeschen.", source, 200, 200, 0 ) outputChatBox ( "Kosten: 2.000 $", source, 200, 200, 0 ) setTimer ( vioSetElementData, 30000, 1, source, "ticketOffered", false ) else if vioGetElementData ( source, "wanteds" ) == 1 then if vioGetElementData ( source, "money" ) >= 2000 then vioSetElementData ( source, "ticketOffered", false ) outputChatBox ( "Strafzettel bezahlt!", source, 0, 125, 0 ) setPlayerWantedLevel ( source, 0 ) vioSetElementData ( source, "wanteds", 0 ) takePlayerSaveMoney ( source, 2000 ) else outputChatBox ( "Ein Strafzettel kostet 2.000 $", source, 125, 0, 0 ) end else outputChatBox ( "Nur moeglich, wenn du ein Wanted hast!", source, 125, 0, 0 ) end end elseif clickedElement == source then triggerClientEvent ( source, "ShowSelfClickMenue", getRootElement() ) showCursor ( source, true ) setElementData ( source, "ElementClicked", true ) elseif clickSpecialPeds[clickedElement] then if clickedElement == rathausped then triggerClientEvent ( source, "ShowRathausMenue", getRootElement() ) showCursor ( source, true ) setElementData ( source, "ElementClicked", true ) elseif clickedElement == vincenzo then triggerClientEvent ( source, "showVincenzosGunshop", getRootElement() ) showCursor ( source, true ) setElementData ( source, "ElementClicked", true ) end elseif getElementType ( clickedElement ) == "vehicle" then local veh = clickedElement local vehname = getVehicleName( veh ) --[[ if (vehname == sportveh) or (vehname == gebrauchtveh) or (vehname == planeveh) or (vehname == bootveh) then local besitzer = getElementData ( veh, "owner" ) if besitzer or not besitzer == "console" then if getVehicleTrunkState ( veh ) then local data = MySQL_GetString( "vehicles", "Kofferraum", "Besitzer LIKE '"..vioGetElementData ( veh, "owner" ).."' AND Slot LIKE '"..vioGetElementData ( veh, "carslotnr_owner" ).."'" ) local drugs = tonumber ( gettok ( data, 1, string.byte ( '|' ) ) ) local mats = tonumber ( gettok ( data, 2, string.byte ( '|' ) ) ) local gun = tonumber ( gettok ( data, 3, string.byte ( '|' ) ) ) local ammo = tonumber ( gettok ( data, 4, string.byte ( '|' ) ) ) triggerClientEvent ( source, "showTrunkGui", getRootElement(), drugs, mats, gun, ammo ) vioSetElementData ( source, "clickedVehicle", clickedElement ) showCursor ( source, true ) setElementData ( source, "ElementClicked", true ) else triggerClientEvent ( source, "_createCarmenue", getRootElement(), clickedElement ) setElementData ( source, "clickedVehicle", clickedElement ) showCursor ( source, true ) setElementData ( source, "ElementClicked", true ) end end else ]] if getVehicleTrunkState ( veh ) then local data = MySQL_GetString( "vehicles", "Kofferraum", "Besitzer LIKE '"..vioGetElementData ( veh, "owner" ).."' AND Slot LIKE '"..vioGetElementData ( veh, "carslotnr_owner" ).."'" ) local drugs = tonumber ( gettok ( data, 1, string.byte ( '|' ) ) ) local mats = tonumber ( gettok ( data, 2, string.byte ( '|' ) ) ) local gun = tonumber ( gettok ( data, 3, string.byte ( '|' ) ) ) local ammo = tonumber ( gettok ( data, 4, string.byte ( '|' ) ) ) triggerClientEvent ( source, "showTrunkGui", getRootElement(), drugs, mats, gun, ammo ) vioSetElementData ( source, "clickedVehicle", clickedElement ) showCursor ( source, true ) setElementData ( source, "ElementClicked", true ) else triggerClientEvent ( source, "_createCarmenue", getRootElement(), clickedElement ) if vioGetElementData ( source, "adminlvl" ) >= 4 then triggerClientEvent ( source, "aktname_ver", getRootElement(), vioGetElementData ( clickedElement, "owner" ) ) end setElementData ( source, "clickedVehicle", clickedElement ) showCursor ( source, true ) setElementData ( source, "ElementClicked", true ) end --end elseif getElementData ( clickedElement, "clickPed" ) then local typ = vioGetElementData ( clickedElement, "typ" ) local item, price if typ == "bum" then item = "100 $?!" price = "Burger" elseif typ == "gunbuyer" then if vioGetElementData ( clickedElement, "item" ) == 4 then price = "Messer" elseif vioGetElementData ( clickedElement, "item" ) == 22 then price = "9mm Pistole" else price = "AK-47" end item = tostring ( vioGetElementData ( clickedElement, "price" ) ).." $" else price = tostring ( vioGetElementData ( clickedElement, "price" ) ).." $" end if typ == "wdealer" then item = aiGunNames[vioGetElementData ( clickedElement, "item" )] elseif typ == "dealer" then item = tostring ( vioGetElementData ( clickedElement, "item" ) ).." g, \nDrogen" elseif typ == "sdealer" then item = tostring ( vioGetElementData ( clickedElement, "item" ) ).." Stk.,\nHanfsamen" elseif typ == "car" then local i = vioGetElementData ( clickedElement, "id" ) local car = curAiCarSpots[i]["car"] item = vioGetElementData ( car, "name" ) price = vioGetElementData ( car, "price" ) end vioSetElementData ( source, "curclicked", clickedElement ) setElementData ( source, "ElementClicked", true ) triggerClientEvent ( source, "showPedInteraction", getRootElement(), typ, item, price ) elseif getElementType ( clickedElement ) == "player" then if vioGetElementData ( clickedElement, "tazered" ) and isOnStateDuty ( source ) then grab_func ( source, "grab", getPlayerName ( clickedElement ) ) else local pname = getPlayerName ( clickedElement ) vioSetElementData ( source, "curclicked", pname ) setElementData ( source, "ElementClicked", true ) triggerClientEvent ( source,"ShowInteraktionsguiGui", getRootElement() ) end end end end endendaddEventHandler ( "onPlayerClick", getRootElement (), player_click )
function removeRemoteExplosive ( clickedElement )
destroyElement ( clickedElement ) setElementFrozen ( source, false )end
function cancel_gui_server_func ( player )
if player then source = player end setElementData ( source, "ElementClicked", false ) if not vioGetElementData ( source, "tazered" ) then toggleAllControls ( source, true ) end toggleControl ( source, "fire", true ) toggleControl ( source, "enter_exit", true ) if getElementData(source,"sprint") == 1 then toggleControl ( source, "sprint", false ) endendaddEvent ("cancel_gui_server", true )addEventHandler ( "cancel_gui_server", getRootElement (), cancel_gui_server_func )
function open_gui_server_func ( player )
if player then source = player end setElementData ( source, "ElementClicked", true ) if not vioGetElementData ( source, "tazered" ) then toggleAllControls ( source, false ) end toggleControl ( source, "fire", false ) toggleControl ( source, "enter_exit", false ) if getElementData(source,"sprint") == 1 then toggleControl ( source, "sprint", false ) endendaddEvent ("open_gui_server", true )addEventHandler ( "open_gui_server", getRootElement (), open_gui_server_func )
function showcurser ( player )
if tonumber(getElementData ( player, "loggedin" )) == 1 and not getElementData ( player, "isInRace" ) then if isCursorShowing ( player ) then if not getElementData ( player, "ElementClicked" ) then showCursor ( player, false ) end else showCursor ( player, true ) setElementData ( player, "ElementClicked", false ) end endendaddCommandHandler ( "click", showcurser )
function showhmenue ( player )
if tonumber(getElementData ( player, "loggedin" )) == 1 then if getElementData ( player, "ElementClicked" ) == false then setElementData ( player, "ElementClicked", true ) triggerClientEvent ( player, "ShowHelpmenueGui", getRootElement() ) showCursor ( player, true ) elseif getElementData ( player, "ElementClicked" ) == true then triggerClientEvent ( player, "ShowHelpmenueGui", getRootElement() ) end endend
function self_func ( player ) if not vioGetElementData ( player, "growing" ) then if vioGetElementData ( player, "tied", boolean) then triggerClientEvent ( player, "ShowSelfClickMenue", getRootElement() ) showCursor ( player, true ) setElementData ( player, "ElementClicked", true ) toggleAllControls ( player, false ) end endendaddCommandHandler ( "self", self_func )
function findRotation(x1,y1,x2,y2) local t = -math.deg(math.atan2(x2-x1,y2-y1)) if t < 0 then t = t + 360 end return tend
Alles anzeigen