@XendomRayden mir ist aufgefallen wenn man im PD Offduty geht hat man noch die Waffen + PD Skin.
Beiträge von FroF
-
-
-
Ich habe einen Vserver und benutzte die phpmyadmin Oberfläche
-
Ich habe das Problem mit der Datenbank das wenn ich im Spiel einen User für z.B. 1 Minute banne der Bann nicht abläuft weil der Server sich aus irgendeiner weise nicht mit der
Datenbank synchronisiert. Die Datenbank synchronisiert sich erst wenn ich den Server komplett neustarte.Script: Ultimate @Bonus
Script werde ich auf Anfrage senden.MfG
Frof -
-
Okay werde ich machen.
-
Ich habe meine Map geladen und wollte Mappen dann habe ich diesen Fehler (siehe Bild) gefunden wie kann ich dies beheben.
Bild
Externer Inhalt abload.deInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt. -
@fs626 welche Einträge genau?
Edit: Ich habe jetzt mal ein bisschen mehr nachgeschaut und es geht NACH einem Serverrestart sowas sollte eigentlich nicht sein kann man es irgendwie mit einem Autoupdater machen?
-
Okay neues Problem wenn das mit dem Namen ändern klappt (eigentlich) also im Control Panel kann man sich mit den neuen Login Daten einloggen aber ingame bekommt man nur den Fehler "Der Spieler existiert nicht!"
MfG.
Ich habe in verdacht das die Datenbank mit dem Server kein Auto Update von dem Name macht.
-
Wie kannst du das Problem mit einem s mehr gelöst haben?
Die Tabelle heißt players, nicht playerssOder du hast es irgendwie selber verändert gehabt.
Edit:
Sehe gerade, das ist nicht die Ultimate Version.
Diese Version sollte eigentlich nicht mit Ultimate Script gehen, da Ultimate einige Änderungen in der Datenbank hatte.
Oder hat es CobraDE irgendwann aktualisiert? O.OKeine Ahnung es geht jetzt aber
-
-
Ich auch nicht
-
Ich benutzte die Ultimate Version von dem CP und bekomme immer den Fehler "MySQL-Error: Table 'Sky.Players' doesn't exist"
-
-
Wenn ich den Drogenjob starte geht am Anfang alles gut aber sobald ich in den Marker laufe um die Drogen abzuholen passiert nicht es kommt kein Error im Debugscript einfach nichts.
Wie kann ich das Problem lösen. PS: Fange gerade erst mit dem Scripten an.drugs_server.lua
Lua
Alles anzeigendrugjobicon = createPickup ( -1868.9344482422, -144.03060913086, 11.665347099304, 3, 1239, 1000, 0 ) drugfarmicon = createPickup ( -1096.7784423828, -1614.6346435547, 76.240158081055, 3, 1239, 1000, 0 ) local drugblip = createBlip ( -1868.9344482422, -144.03060913086, 11.665347099304, 58, 2, 255, 255, 0, 255, 0, 200 ) --[[local drugcar1 = createVehicle ( 422, -1854.0776367188, -1678.4970703125, 21.836410522461, 0, 0, 0, "COLORS!" ) toggleVehicleRespawn ( drugcar1, true ) setVehicleRespawnDelay ( drugcar1, 1000*10 ) setVehicleIdleRespawnDelay ( drugcar1, 1000*60 ) setVehicleLocked ( drugcar1, true ) setElementFrozen ( drugcar1, true ) setVehicleDamageProof ( drugcar1, true )]] function usedrugs_func ( player ) if vioGetElementData ( player, "drugs" ) >= 3 then if isControlEnabled ( player, "enter_exit" ) then vioSetElementData ( player, "lastcrime", "drogen" ) vioSetElementData ( player, "drugs", vioGetElementData ( player, "drugs" ) - 3 ) takeDrugs ( player ) end else triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu hast nicht\ngenug Drogen\ndabei ( mind. 3 g)!", 7500, 200, 0, 0 ) end end addCommandHandler ( "usedrugs", usedrugs_func ) function jobicon_dealer ( player ) triggerClientEvent ( player, "infobox_start", getRootElement(), "Tippe /job, um\nDealer zu werden -\ndazu brauchst du\nnichts, aber es\nist illegal!", 7500, 200, 200, 0 ) end addEventHandler ( "onPickupHit", drugjobicon, jobicon_dealer ) function jobicon_drugs ( player ) triggerClientEvent ( player, "infobox_start", getRootElement(), "Tippe /buydrugs\n[Summe], um hier\nDrogen fuer "..drugprice.."$\nje Gramm zu\nerwerben.", 7500, 200, 200, 0 ) end addEventHandler ( "onPickupHit", drugfarmicon, jobicon_drugs ) function buydrugs_func ( player, cmd, zahl ) if tonumber ( zahl ) then local zahl = math.floor ( math.abs ( tonumber ( zahl ) ) ) if vioGetElementData ( player, "job" ) == "dealer" then if zahl <= 30 then if vioGetElementData ( player, "money" ) >= zahl*drugprice then local jobtime = tonumber ( vioGetElementData ( player, "jobtime" ) ) if jobtime == 0 then vioSetElementData ( player, "drugs", vioGetElementData ( player, "drugs" ) + zahl ) vioSetElementData ( player, "lastcrime", "drugdealing" ) vioSetElementData ( player, "jobtime", tonumber ( vioGetElementData ( player, "jobtime" ) ) + 20 ) vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) - zahl*drugprice ) playSoundFrontEnd ( player, 40 ) triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu hast nun\n"..vioGetElementData ( player, "drugs" ).." Gramm Drogen\ndabei!", 7500, 125, 0, 0 ) else triggerClientEvent ( player, "infobox_start", getRootElement(), "Du musst noch\n"..jobtime.." Minuten warten,\nbis du wieder\nDrogen kaufen\nkannst.", 7500, 125, 0, 0 ) end else triggerClientEvent ( player, "infobox_start", getRootElement(), "Du hast nicht\ngenug Geld!\n"..zahl.." Gramm Drogen\nkosten "..drugprice*zahl.." $!", 7500, 125, 0, 0 ) end else triggerClientEvent ( player, "infobox_start", getRootElement(), "Du kannst max.\n30 Gramm pro\n20 Minuten er-\nwerben!", 7500, 125, 0, 0 ) end else triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu bist kein\nDealer!", 7500, 125, 0, 0 ) end else triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nUngueltige Zahl!", 7500, 125, 0, 0 ) end end addCommandHandler ( "buydrugs", buydrugs_func ) function drugRecieve_func ( drugs ) if source == client then if drugs == "boom" then setTimer ( Boomplane, 3000, 1 ) setTimer ( Boomplane2, 3500, 1 ) elseif drugs == "cops" then if vioGetElementData ( source, "wanteds" ) >= 5 then vioSetElementData ( source, "wanteds", 6 ) else vioSetElementData ( source, "wanteds", vioGetElementData ( source, "wanteds" ) + 2 ) end setPlayerWantedLevel ( source, vioGetElementData ( source, "wanteds" ) ) else vioSetElementData ( source, "drugs", vioGetElementData ( source, "drugs" ) + drugs ) end vioSetElementData ( source, "jobtime", tonumber ( vioGetElementData ( source, "jobtime" ) ) + 20 ) end end addEvent ( "drugRecieve", true ) addEventHandler ( "drugRecieve", getRootElement(), drugRecieve_func ) function Boomplane () createExplosion ( -2301.7600097656+math.random ( -1, 1 ), -2804.5095214844+math.random ( -1, 1 ), 14+math.random ( -.3, .3 ), math.random ( 4, 7 ) ) end function Boomplane2 () setTimer ( Boomplane, 400, 4 ) end function givedrugs_func ( player, cmd, target, summe ) if player == client or not client then if vioGetElementData ( player, "job" ) == "dealer" then local target = getPlayerFromName ( target ) local summe = math.abs(math.floor(tonumber(summe))) if vioGetElementData ( player, "drugs" ) >= summe then playSoundFrontEnd ( player, 40 ) vioSetElementData ( player, "lastcrime", drugdealing ) playSoundFrontEnd ( target, 40 ) vioSetElementData ( player, "drugs", vioGetElementData ( player, "drugs" ) - summe ) vioSetElementData ( target, "drugs", vioGetElementData ( target, "drugs" ) + summe ) outputChatBox ( "Du hast "..getPlayerName(target).." "..summe.." Gramm Drogen gegeben!", player, 0, 125, 0 ) outputChatBox ( "Du hast von "..getPlayerName(player).." "..summe.." Gramm Drogen bekommen!", target, 0, 125, 0 ) else triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu hast nicht\ngenug Drogen dabei!", 7000, 125, 0, 0 ) end else triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu bist kein\nDrogendealer!", 7000, 125, 0, 0 ) end end end addEvent ( "givedrugs", true ) addEventHandler ( "givedrugs", getRootElement(), givedrugs_func ) addCommandHandler ( "givedrugs", givedrugs_func )
drugs_client.lua
Lua
Alles anzeigen------------------------- ------- (c) 2010 -------- ------- by Zipper ------- -- and Vio MTA:RL Crew -- ------------------------- function boatfix () --setElementCollisionsEnabled ( drugboat, false ) end addEventHandler ( "onClientResourceStart", getResourceRootElement(getThisResource()), boatfix ) function createDrugJobMarker_func() drugJobMarker = createMarker ( -1862.1405029297, -144.07493591309, 10.876323699951, "cylinder", 3, getColorFromString ( "#FF000099" ) ) addEventHandler ( "onClientMarkerHit", drugJobMarker, hitDrugJobMarker_func ) end addEvent ( "createDrugJobMarker", true ) addEventHandler ( "createDrugJobMarker", getRootElement(), createDrugJobMarker_func ) function destroyDrugJobMarker_func() if isElement(drugJobMarker) then destroyElement ( drugJobMarker ) end if isElement(drugJobPlaneMarker) then destroyElement ( drugJobPlaneMarker ) end if isElement(drugSFPDBlip) then destroyElement ( drugSFPDBlip ) end if isElement(drugSFPDMarker) then destroyElement ( drugSFPDMarker ) end if isElement(drugPlaneMarker) then destroyElement ( drugPlaneMarker ) end end addEvent ( "destroyDrugJobMarker", true ) addEventHandler ( "destroyDrugJobMarker", getRootElement(), destroyDrugJobMarker_func ) function hitDrugJobMarker_func ( player ) if getPedOccupiedVehicle ( player ) == false then if player == localPlayer then if tonumber ( vioClientGetElementData ( "jobtime" ) ) == 0 then destroyDrugJobMarker_func() rnd = math.random( 1, 2 ) -- 1 = Flugzeug, 2 = Bootcheckpoints, 3 = SFPD, 4 = Autos, 5 = Tauchen if rnd == 1 then planeDrugRoute() drugJobPlaneMarker = createBlip ( -2301.7600097656, -2804.5095214844, 14.660495758057, 0, 2, 255, 0, 0, 255, 0, 99999.0, getLocalPlayer() ) elseif rnd == 2 then sfpdDrugRoute() curjob = "sfpd" elseif rnd == 3 then outputChatBox ( "Route 3 - Coming soon!" ) elseif rnd == 4 then outputChatBox ( "Route 4 - Coming soon!" ) else outputChatBox ( "Route 5 - Coming soon!" ) end else infobox_start_func("Du musst noch\n"..vioClientGetElementData("jobtime").." Minuten\nwarten, bevor du\ndie naechste Tour\nmachen kannst!", 7500, 125, 0, 0 ) end end if source == drugPlaneMarker and player == localPlayer then setTimer ( drugsFoundClient, 3000, 1 ) toggleAllControls ( false, true, false ) end if source == drugSFPDMarker and player == localPlayer then setTimer ( SFPDdrugsFoundClient, 3000, 1 ) toggleAllControls ( false, true, false ) end end end function sfpdDrugRoute() infobox_start_func("Einem Informanten zu\nfolge wurde vom\nSFPD eine große\nMenge Drogen\nbeschlagnahmt.", 7500, 125, 0, 0 ) drugSFPDBlip = createBlip ( -1605.7623291016, 711.326171875, 14, 0, 2, 255, 0, 0, 255, 0, 99999.0, getLocalPlayer() ) drugSFPDMarker = createMarker ( 223.98358154297, 127.49185180664, 1009.2152099609, "cylinder", 1, getColorFromString ( "#00ff0099" ) ) setElementInterior ( drugSFPDMarker, 10 ) end function drugsFoundClient () rnd = math.random ( 1, 6 ) destroyDrugJobMarker_func() if rnd == 1 or rnd == 2 or rnd == 3 then drugsfound = math.random ( 10, 30 ) infobox_start_func("\nDu hast soeben\n"..drugsfound.." Gramm Drogen\ngefunden!", 7500, 0, 125, 0 ) elseif rnd == 4 then drugsfound = math.random ( 3, 12 ) infobox_start_func("Der Beutel ist\nvoellig zerfetzt -\nDu hast nur \nnoch "..drugsfound.." Gramm Drogen\nretten koennen!", 7500, 200, 200, 0 ) elseif rnd == 5 then infobox_start_func("Es ist eine\nFalle - Die Cops\nhaben dich\nbeobachtet!", 7500, 125, 0, 0 ) drugsfound = "cops" else infobox_start_func("Der Tank des\nFlugzeugs ist in\nFlammen aufgegangen\n- RENN!!!", 7500, 125, 0, 0 ) createFire ( -2301.7600097656, -2804.5095214844, 14.660495758057, 3 ) drugsfound = "boom" end toggleAllControls ( true ) createDrugJobMarker_func() triggerServerEvent ( "drugRecieve", getLocalPlayer(), drugsfound ) end function SFPDdrugsFoundClient () rnd = math.random ( 1, 5 ) destroyDrugJobMarker_func() if rnd == 1 or rnd == 2 then drugsfound = math.random ( 10, 30 ) infobox_start_func("\nDu hast soeben\n"..drugsfound.." Gramm Drogen\ngefunden!", 7500, 0, 125, 0 ) elseif rnd == 3 then drugsfound = math.random ( 3, 12 ) infobox_start_func("Der Beutel ist\nvoellig zerfetzt -\nDu hast nur \nnoch "..drugsfound.." Gramm Drogen\nretten koennen!", 7500, 200, 200, 0 ) elseif rnd == 4 then infobox_start_func("Es ist eine\nFalle - Die Cops\nhaben dich\nbeobachtet!", 7500, 125, 0, 0 ) drugsfound = "cops" else infobox_start_func("\nOffenbar war jemand\nvor dir da -\nalle Drogen sind\nschon weg!", 7500, 125, 0, 0 ) createFire ( -2301.7600097656, -2804.5095214844, 14.660495758057, 3 ) drugsfound = "nil" end toggleAllControls ( true ) createDrugJobMarker_func() triggerServerEvent ( "drugRecieve", getLocalPlayer(), drugsfound ) end function planeDrugRoute () infobox_start_func("Einem Informanten zu\nfolge ist im\nCounty ein Flug-\nzeug abestuertzt.\nBerge die Drogen!", 7500, 125, 0, 0 ) drugPlaneMarker = createMarker ( -2311.2800292969, -2804.0612792969, 11.192306518555, "cylinder", 2, getColorFromString ( "#00ff0099" ) ) end function SFPDEnterClient_func () if drugSFPDBlip then infobox_start_func("\nDie Drogen befinden\nsich im oberen\nStockwerk!", 7500, 125, 0, 0 ) destroyElement ( drugSFPDBlip ) end end addEvent ( "SFPDEnterClient", true ) addEventHandler ( "SFPDEnterClient", getRootElement(), SFPDEnterClient_func )
-
Hat geklappt lag an der UID
-
Die Zeile gibt es nicht.
Foto
Externer Inhalt abload.deInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt. -
-
Danke @Bonus
Jetzt habe ich noch was im Biz gefunden das kommt die selbe Fehlermeldung mit attempt to concatenate besitzer
outputChatBox ( bizname..", gehört: "..besitzer.." - Preis: "..bizprice.." $ und 50 Stunden Mindestspielzeit!", hit, 125, 0, 0 )
Lua
Alles anzeigenbizArray = {} function setBizData () pnsDohertyIcon = createPickup ( -1908.7257080078, 276.80416870117, 40.696102142334, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", pnsDohertyIcon, onBizPickupHit ) pnsJuniperIcon = createPickup ( -2431.1665039063, 1028.9090576172, 50.039852142334, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", pnsJuniperIcon, onBizPickupHit ) pnsLVIcon = createPickup ( 1967.053, 2166.98, 10.82, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", pnsLVIcon, onBizPickupHit ) pnsLSIcon = createPickup ( 2072.669, -1834.77, 13.555, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", pnsLSIcon, onBizPickupHit ) pizzaStackIcon = createPickup ( -1720.0610351563, 1356.5998535156, 6.8367257118225, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", pizzaStackIcon, onBizPickupHit ) mystiesBarIcon = createPickup ( -2242.4169921875, -89.888648986816, 34.969539642334, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", mystiesBarIcon, onBizPickupHit ) sprunkIcon = createPickup ( -1752.3122558594, -144.58361816406, 3.2039132118225, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", sprunkIcon, onBizPickupHit ) visageHotelIcon = createPickup ( 2110.69, 1870.49, 10.47, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", visageHotelIcon, onBizPickupHit ) vankHoffIcon = createPickup ( -2405.16, 325.73, 34.82, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", vankHoffIcon, onBizPickupHit ) ------------------------------------------------------ tankstelleNordIcon = createPickup ( -2420.09765625, 969.890625, 45.296875, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", tankstelleNordIcon, onBizPickupHit ) tankstelleSuedIcon = createPickup ( -1675.880859375, 431.7705078125, 7.1796875, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", tankstelleSuedIcon, onBizPickupHit ) tankstellePineIcon = createPickup ( -2231.6591796875, -2558.095703125, 31.921875, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", tankstellePineIcon, onBizPickupHit ) --------------------------------------------- bizIcons = { [pnsDohertyIcon]="PaynSprayWangcars", [pnsJuniperIcon]="PaynSprayJuniper", [pnsLVIcon]="PaynSprayLV", [pnsLSIcon]="PaynSprayLS", [pizzaStackIcon]="WellStackedPizza", [mystiesBarIcon]="MistysBar", [sprunkIcon]="Sprunk", [visageHotelIcon]="Visage", [vankHoffIcon]="VankHoff", [tankstelleNordIcon]="TankstelleNord", [tankstelleSuedIcon]="TankstelleSued", [tankstellePineIcon]="TankstellePine" } OttosAutosIcon = createPickup ( -1639.7821044922, 1202.6267089844, 6.879873752594, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", OttosAutosIcon, onBizPickupHit ) TraeumeUndHoffnungen = createPickup ( -127.10718536377, 2258.1259765625, 28.063650131226, 3, 1239, 1, 0 ) addEventHandler ( "onPickupHit", TraeumeUndHoffnungen, onBizPickupHit ) setBizDataSQL ( ) bizkeys = { [1]="PaynSprayWangcars", [2]="PaynSprayJuniper", [3]="Sprunk", [4]="WellStackedPizza", [5]="MistysBar", [6]="Visage", [7]="VankHoff", [8]="TankstelleNord", [9]="TankstelleSued", [10]="TankstellePine", [11]="PaynSprayLV", [12]="PaynSprayLS" } end setTimer ( setBizData, 1000, 1 ) function updateBizKasse () for i=1, #bizkeys do if bizkeys[i] ~= "WellStackedPizza" then dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "biz", "Kasse", bizArray[bizkeys[i]]["kasse"], "ID", i ) end end outputDebugString ( "Bizkassen wurden gespeichert!" ) end setTimer ( updateBizKasse, 20*60*1000, 0 ) function onBizPickupHit ( hit ) if source == TraeumeUndHoffnungen then outputChatBox ( "Es gibt wichtigeres als Geld ...", hit, 125, 125, 200 ) elseif bizIcons[source] then local biz = bizIcons[source] local besitzer = bizArray[biz]["inhaber"] if besitzer == "none" then besitzer = "Niemandem" end local bizname = bizArray[biz]["name"] local bizprice = bizArray[biz]["preis"] outputChatBox ( bizname..", gehört: "..besitzer.." - Preis: "..bizprice.." $ und 50 Stunden Mindestspielzeit!", hit, 125, 0, 0 ) if besitzer == "Niemandem" then triggerClientEvent ( hit, "infobox_start", getRootElement(), "Tippe /buybiz\n[bar/bank], um\ndas Geschäft zu\nkaufen! Bei\nbank fallen 2 %\nmehr Kosten an!", 7500, 0, 125, 0 ) end elseif OttosAutosIcon == source then outputChatBox ( "Tippe /givecar [Name] [Eigener Slot] [Slot beim neuen Besitzer], um das Auto an jemanden zu geben.", hit, 200, 200, 0 ) end end function buybiz_func ( player, cmd, typ ) local hatgeld = false local cash = 0 if typ == "bar" then cash = vioGetElementData ( player, "money" ) hatgeld = true elseif typ == "bank" then cash = vioGetElementData ( player, "bankmoney" ) hatgeld = true if not cash then hatgeld = false end end if hatgeld then local biz, bizkey = getNearestBiz ( player ) if biz then local bizprice = false if typ == "bar" then bizprice = bizArray[biz]["preis"] else bizprice = bizArray[biz]["preis"] * 1.02 end if not bizprice then return end if bizprice > cash then return end if bizprice <= cash then if bizArray[biz]["inhaber"] == "none" then if vioGetElementData ( player, "bizkey" ) == 0 then triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGeschäft gekauft!\nTippe /bizhelp\nfür mehr\nInformationen!", 7500, 0, 125, 0 ) vioSetElementData ( player, "bizkey", bizkey ) local pname = getPlayerName ( player ) dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "Bizschluessel", bizkey, "UID", playerUID[pname] ) dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "biz", "UID", playerUID[pname], "ID", bizkey ) bizArray[biz]["inhaber"] = pname if typ == "bar" then vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) - bizprice ) else vioSetElementData ( player, "bankmoney", vioGetElementData ( player, "bankmoney" ) - bizprice ) end local x, y, z = getElementPosition ( player ) setCameraMatrix ( player, x+10, y+10, z+10, x, y, z ) setTimer ( fixBizBuyCam, 5000, 1, player ) triggerClientEvent ( player, "achievsound", getRootElement() ) else outputChatBox ( "Du hast bereits ein Geschäft - tippe zuerst /sellbiz ein, um dein altes Geschäft zu verkaufen.", player, 125, 0, 0 ) end else triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDas Geschäft\ngehört bereits\njemandem!!", 7500, 125, 0, 0 ) end else triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu hast nicht\ngenug Geld!", 7500, 125, 0, 0 ) end else triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu bist bei\nkeinem Geschaeft!", 7500, 125, 0, 0 ) end else triggerClientEvent ( player, "infobox_start", getRootElement(), "\nTippe /buybiz\n[bar/bank], um\ndas Geschäft zu\nkaufen!", 7500, 0, 125, 0 ) end end addCommandHandler ( "buybiz", buybiz_func ) function sellbiz_func ( player ) if vioGetElementData ( player, "bizkey" ) == 0 then outputChatBox ( "Du hast kein Geschäft!", player, 125, 0, 0 ) else local key = vioGetElementData ( player, "bizkey" ) local biz = bizkeys[key] bizArray[biz]["inhaber"] = "none" local bizprice = bizArray[biz]["preis"] local pname = getPlayerName ( player ) outputDebugString ( "Spieler "..pname.." hat sein Geschäft verkauft." ) outputChatBox ( "Du hast dein Geschäft verkauft und erhaelst "..bizprice.." $!", player, 0, 125, 0 ) vioSetElementData ( player, "bizkey", 0 ) vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) + bizprice ) dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "Bizschluessel", 0, "UID", playerUID[pname] ) dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "biz", "UID", 0, "ID", key ) datasave_remote ( player ) end end addCommandHandler ( "sellbiz", sellbiz_func ) function fixBizBuyCam ( player ) setCameraTarget ( player, player ) end function getNearestBiz ( player ) local x1, y1, z1 = getElementPosition ( player ) for icon, biz in pairs ( bizIcons ) do local x2, y2, z2 = getElementPosition ( icon ) if getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) <= 3 then for i=1, #bizkeys do if bizkeys[i] == biz then return biz, i end end end end return false, false end function bizhelp_func ( player ) local bizkey = tonumber ( vioGetElementData ( player, "bizkey" ) ) if bizkey == 0 then outputChatBox ( "Du besitzt kein Geschaeft!", player, 125, 0, 0 ) else local biz = bizkeys[bizkey] local bizname = bizArray[biz]["name"] outputChatBox ( "Dein Geschäft: "..bizname..", Kasse: "..bizArray[biz]["kasse"].." $.", player, 200, 200, 15 ) outputChatBox ( "/sellbiz - Geschäft verkaufen, /bizhelp - Diese Hilfe, /bizdraw - Geld abheben, /bizstore - Geld einlagern.", player, 125, 125, 200 ) end end addCommandHandler ( "bizhelp", bizhelp_func ) function bizdraw_func ( player, cmd, amount ) if vioGetElementData ( player, "bizkey" ) > 0 then if amount then local amount = tonumber ( amount ) and math.abs ( tonumber ( amount ) ) or false if amount then local key = vioGetElementData ( player, "bizkey" ) local biz = bizkeys[key] local curmoney = bizArray[biz]["kasse"] if curmoney >= amount then bizArray[biz]["kasse"] = curmoney - amount vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) + amount ) infobox ( player, amount.."$\nrausgenommen", 4000, 0, 200, 0 ) else outputChatBox ( "Du hast nicht so viel Geld in deinem Geschäft!", player, 125, 0, 0 ) end else outputChatBox ( "Bitte gib eine gültige Summe an!", player, 125, 0, 0 ) end else outputChatBox ( "Bitte gib eine gültige Summe an!", player, 125, 0, 0 ) end else outputChatBox ( "Du besitzt kein Geschäft!", player, 125, 0, 0 ) end end addCommandHandler ( "bizdraw", bizdraw_func ) function bizstore_func ( player, cmd, amount ) local key = vioGetElementData ( player, "bizkey" ) if key and key > 0 then if amount and tonumber ( amount ) then local amount = math.abs ( tonumber ( amount ) ) if amount then local biz = bizkeys[key] if vioGetElementData ( player, "money" ) >= amount then bizArray[biz]["kasse"] = bizArray[biz]["kasse"] + amount vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) - amount ) infobox ( player, amount.."$\nreingetan", 4000, 0, 200, 0 ) else outputChatBox ( "Du hast nicht genug Geld bei dir!", player, 125, 0, 0 ) end else outputChatBox ( "Bitte gib eine gültige Summe an!", player, 125, 0, 0 ) end else outputChatBox ( "Bitte gib eine gültige Summe an!", player, 125, 0, 0 ) end else outputChatBox ( "Du besitzt kein Geschäft!", player, 125, 0, 0 ) end end addCommandHandler ( "bizstore", bizstore_func ) function addMoneyToBiz ( id, amount ) local biz = bizkeys[id] bizArray[biz]["kasse"] = bizArray[biz]["kasse"] + amount end
-
Ich habe das Problem wenn ich im Ultimate Script ohne Geld in den Terroristen Equip Marker gehe müsste ja eigentlich ein Fehler mit nicht genügend Geld kommen. Es kommt aber immer: 'attempt to concatenate 'skinpreis'.
Ein bisschen habe ich dann mal Gegooglet und eine Sache gefunden zum lösen des Problemes "for index, skinpreis_var in pairs ( skinpreis ) do" meine Frage ist jetzt ist so korrekt und in welche Zeile muss ich das einfügen.Code
Alles anzeigenterrorpackage_price = 250 local terror_marker = createMarker ( -1959.8393554688, -1623.1590576172, 85.096748352051, "cylinder", 3 ) local vehWithBomb = {} function finishTerrorBomb ( veh, player ) if isElement(veh) and isElement(player) then outputChatBox ( "Bombe ist fertig eingebaut!", player, 0, 125, 0 ) outputChatBox ( "Benutze /detonate, um sie zu zuenden!", player, 0, 125, 0 ) setElementFrozen ( veh, false ) vehWithBomb[veh] = true addEventHandler ( "onVehicleRespawn", veh, function () vehWithBomb[source] = nil end ) end end addEventHandler( "onMarkerHit", terror_marker, function ( element, dim ) if getElementType( element ) == "vehicle" then local player = getVehicleOccupant ( element ) if player then if isTerror ( player ) then setElementFrozen ( element, true ) outputChatBox ( "Bombe wird eingebaut ...", player, 125, 125, 0 ) setTimer ( finishTerrorBomb, 20000, 1, element, player ) end end end end ) function terrorExplodeCar ( car, pl ) local x, y, z = getElementPosition ( car ) createExplosion ( x, y, z, 0, pl ) createExplosion ( x, y, z, 10, pl ) createExplosion ( x, y, z, 8, pl ) createExplosion ( x, y, z, 4, pl ) createExplosion ( x, y, z, 2, pl ) createExplosion ( x, y, z, 1, pl ) vehWithBomb[car] = nil blowVehicle ( car, true ) end addCommandHandler ( "detonate", function ( player ) local veh = getPedOccupiedVehicle ( player ) if isTerror(player) and veh then local pcheck = getVehicleOccupant ( veh ) if pcheck == player and vehWithBomb[veh] then outputChatBox ( "Bombe geht in 10 Sekunden hoch ...", player, 125, 125, 0 ) setTimer ( terrorExplodeCar, 10000, 1, veh, player ) end end end, false, false ) ----------------------------------------------------------------------------------------------------------------------------------------------------------- local terrorICON = createPickup ( -1998.0441162109, -1539.6043603516, 84.67, 3, 1239, 50 ) function terrorICONHit ( player ) outputChatBox ( "Tippe /equip um dich auszurüsten!", player, 125, 0, 0 ) end addEventHandler ( "onPickupHit", terrorICON, terrorICONHit ) function equip_func ( player ) local money = tonumber ( vioGetElementData ( player, "money" ) ) if money >= terrorpackage_price then local x, y, z = getElementPosition ( player ) if getDistanceBetweenPoints3D ( x, y, z, -1998.3441162109, -1537.8443603516, 84.67 ) <= 5 then if isTerror ( player ) then if vioGetElementData ( player, "rang" ) >= 2 then vioSetElementData ( player, "money", money - terrorpackage_price ) playSoundFrontEnd ( player, 40 ) vioSetElementData ( player, "hasBomb", true ) local weapon = 30 local ammo = 90 giveWeapon ( player, weapon, ammo, true ) local weapon = 24 local ammo = 28 giveWeapon ( player, weapon, ammo, true ) local weapon = 39 local ammo = 1 giveWeapon ( player, weapon, ammo, true ) local weapon = 35 local ammo = 3 giveWeapon ( player, weapon, ammo, true ) local weapon = 32 local ammo = 300 giveWeapon ( player, weapon, ammo, true ) end else outputChatBox ( "Du bist kein Terrorist!", player, 125, 0, 0 ) end else outputChatBox ( "Du bist nicht beim Lager!", player, 125, 0, 0 ) end else triggerClientEvent ( player, "infobox_start", getRootElement(), "Du hast zu\nwenig Geld!\nDer Equip kostet\n"..skinpreis.." $!", 5000, 125, 0, 0 ) end end addCommandHandler ( "equip", equip_func ) function arm_func ( player ) if isTerror ( player ) then if isKeyBound ( player, "mouse3", "up", explodeTerror ) then outputChatBox ( "Bombe entschaerft!", player, 0, 125, 0 ) vioSetElementData ( player, "hasBomb", true ) setPlayerNametagColor ( player, 200, 200, 200 ) unbindKey ( player, "mouse3", "up", explodeTerror ) elseif vioGetElementData ( player, "armingBomb" ) then outputChatBox ( "Du machst die Bombe bereits scharf!", player, 125, 0, 0 ) elseif vioGetElementData ( player, "hasBomb" ) then setTimer ( arm_bomb, 7500, 1, player ) outputChatBox ( "Bombe wird scharfgemacht...", player, 125, 125, 0 ) vioSetElementData ( player, "armingBomb", true ) else outputChatBox ( "Du hast keine Bombe!", player, 125, 0, 0 ) end end end addCommandHandler ( "arm", arm_func ) function arm_bomb ( player ) if not isPedDead ( player ) and vioGetElementData ( player, "hasBomb" ) then bindKey ( player, "mouse3", "up", explodeTerror, player ) outputChatBox ( "Bombe ist scharf!", player, 0, 125, 0 ) setPlayerNametagColor ( player, 200, 0, 0 ) vioSetElementData ( player, "hasBomb", false ) else outputChatBox ( "Du hast keine Bombe/bist Tod!", player, 125, 0, 0 ) end vioSetElementData ( player, "armingBomb", false ) end function explodeTerror ( keyPresser ) local x, y, z = getElementPosition ( keyPresser ) local rnd = math.random ( 7, 12 ) createExplosion ( x, y, z, rnd, keyPresser ) setTimer ( reExplode, 100, 1, keyPresser ) setPlayerNametagColor ( keyPresser, 200, 200, 200 ) unbindKey ( keyPresser, "mouse3", "up", explodeTerror ) end function reExplode ( player ) setTimer ( reReExplode, math.floor(math.random(200,1000)), 1, player ) setTimer ( reReExplode, math.floor(math.random(200,1000)), 1, player ) setTimer ( reReExplode, math.floor(math.random(200,1000)), 1, player ) setTimer ( reReExplode, math.floor(math.random(200,1000)), 1, player ) setTimer ( reReExplode, math.floor(math.random(200,1000)), 1, player ) end function reReExplode ( player ) local veh = getPedOccupiedVehicle ( player ) local x, y, z = getElementPosition ( player ) if veh then local x, y, z = getElementPosition ( veh ) end local rnd = math.random ( 7, 12 ) createExplosion ( x, y, z, rnd, player ) end