Jump to content

diesel974

Members
  • Posts

    53
  • Joined

  • Last visited

About diesel974

  • Birthday 11/03/1994

Details

  • Gang
    Free Yourself
  • Location
    Mauritius

Recent Profile Visitors

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

diesel974's Achievements

Snitch

Snitch (10/54)

0

Reputation

  1. I read it, but since i am learning how to make car mods, i dont understand a lot Can i have some more explanations plz?? Or if there is any tutorial to show how to do it then i will be very pleased to see it. Thank you.
  2. But lets say i want to make a new infernus, and i want it to have additional parts like spoiler,bumpers etc... but not attached to it by default. I want it to be same like the elegy, where you can add these additional parts via a modshop. So how can i do it??? Again, thank you!
  3. Hello! Oka, like wiki says : So my question is, we can only make 5 variants?? And lets say each variants are different to each other(spoiler,bumber,hood ....) can we add all the 5 variants to the vehicle or only 1 allowed?? Thank you for your replies!
  4. Thank you #Ivan7. Yes, maybe i will release more scripts later.
  5. Yes, Saml1er is right. I was just like you when i started to script 7 months ago. But i never quit. I read the tutorials again and again, and try to make simple scripts. Here are some links, open and read them : https://wiki.multitheftauto.com/wiki/In ... ng_the_GUI https://wiki.multitheftauto.com/wiki/Sc ... troduction And also, this forum has a tutorial section There are so many tutorials that can make you from newbie to pro scripter. All you got to do is to keep reading them and never abandon. And if you dont understand something and need helps, then you can come here and ask for it : viewforum.php?f=148
  6. Well, i modified the code and it works now. I tested it and it works great. When a vehicle is destroyed, if it doesnt have any owner, the vehicle is respawn in 5 seconds, but if it has an owner, it wont be respawn. To respawn it, only the owner can type /respawn for the vehicle to be respawned. Also, for you to use the /acarcreate command, bear in mind that you need to be admin to do that. Also the /acarpark works just fine. Heres the codes: severside: local cars={} local buycarpickup={} local maxcars = 0 local destroyedV = {} function spawnVehicles() local root = xmlLoadFile ("cars.xml") if not root then root = xmlCreateFile("cars.xml","root") local cars = xmlCreateChild(root,"car") xmlSaveFile(root) end local houseroot = xmlFindChild (root,"car",0) if (houseroot) then for i,v in ipairs (xmlNodeGetChildren(houseroot)) do local carmodel = xmlNodeGetAttribute (v,"model") local x = xmlNodeGetAttribute (v,"x") local y = xmlNodeGetAttribute (v,"y") local z = xmlNodeGetAttribute (v,"z") local color1 = xmlNodeGetAttribute (v,"color1") local color2 = xmlNodeGetAttribute (v,"color2") local owner = xmlNodeGetAttribute (v,"owner") local price = xmlNodeGetAttribute (v,"price") local lock = xmlNodeGetAttribute (v,"lock") local a = xmlNodeGetAttribute (v,"a") cars[i] = createVehicle ( tonumber(carmodel),tonumber(x),tonumber(y),tonumber(z), 0, 0, tonumber(a) ) setElementInterior ( cars[i], 0 ) setElementData (cars[i],"xpos",tonumber(x)) setElementData (cars[i],"ypos",tonumber(y)) setElementData (cars[i],"zpos",tonumber(z)) setElementData (cars[i],"angle",tonumber(a)) setElementData (cars[i],"owner",owner) setElementData (cars[i],"price",tonumber(price)) setElementData (cars[i],"lock",tonumber(lock)) setElementData (cars[i], "num", i ) setVehicleColor ( cars[i], tonumber(color1), tonumber(color2), 0, 0 ) if(lock == 1) then setVehicleLocked ( car, true ) end if getElementData ( cars[i], "owner" ) == "Nobody" then buycarpickup[i] = createPickup ( x, y, z, 3, 1274 ) attachElements ( buycarpickup[i], cars[i], 0, 0, 1.9 ) end maxcars = maxcars+1 end outputDebugString ("Cars loaded!") end end addEventHandler ( "onResourceStart", getResourceRootElement(),spawnVehicles) function respawnVehicle(thePlayer,command) local name = getPlayerName(thePlayer) if destroyedV[name] ~= nil then local model = destroyedV[name]["model"] local x = destroyedV[name]["x"] local y = destroyedV[name]["y"] local z = destroyedV[name]["z"] local a = destroyedV[name]["a"] local owner = destroyedV[name]["owner"] local price = destroyedV[name]["price"] local lock = destroyedV[name]["lock"] local num = destroyedV[name]["num"] local col1 = destroyedV[name]["col1"] local col2 = destroyedV[name]["col2"] local col3 = destroyedV[name]["col3"] local col4 = destroyedV[name]["model"] cars[num] = createVehicle ( tonumber(model),tonumber(x),tonumber(y),tonumber(z), 0, 0, tonumber(a) ) setElementInterior (cars[num], 0 ) setElementData (cars[num],"xpos",tonumber(x)) setElementData (cars[num],"ypos",tonumber(y)) setElementData (cars[num],"zpos",tonumber(z)) setElementData (cars[num],"angle",tonumber(a)) setElementData (cars[num],"owner",owner) setElementData (cars[num],"price",tonumber(price)) setElementData (cars[num],"lock",tonumber(lock)) setElementData (cars[num], "num",num) setVehicleColor (cars[num], tonumber(col1), tonumber(col2), tonumber(col3), tonumber(col4)) destroyedV[name] = nil end end addCommandHandler("respawn",respawnVehicle) function saveCars () --outputChatBox("okaa triggered !!") local root = xmlLoadFile ("cars.xml") local houseroot = xmlFindChild (root,"car",0) if (houseroot) then for i,v in ipairs (xmlNodeGetChildren(houseroot)) do local color1, color2, color3, color4 = getVehicleColor ( cars[i] ) xmlNodeSetAttribute ( v, "model", getElementModel(cars[i]) ) xmlNodeSetAttribute ( v, "x", getElementData(cars[i], "xpos") ) xmlNodeSetAttribute ( v, "y", getElementData(cars[i], "ypos") ) xmlNodeSetAttribute ( v, "z", getElementData(cars[i], "zpos") ) xmlNodeSetAttribute ( v, "a", getElementData(cars[i], "angle") ) xmlNodeSetAttribute ( v, "color1", color1 ) xmlNodeSetAttribute ( v, "color2", color2 ) xmlNodeSetAttribute ( v, "owner", getElementData(cars[i], "owner") ) xmlNodeSetAttribute ( v, "price", getElementData(cars[i], "price") ) xmlNodeSetAttribute ( v, "lock", getElementData(cars[i], "lock") ) end xmlSaveFile(root) end end function adminCreateVehicle ( source, cmd ) local accName = getAccountName ( getPlayerAccount ( source ) ) if isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "Admin" ) ) then local root = xmlLoadFile ("cars.xml") local houseroot = xmlFindChild (root,"car",0) local createdcar = xmlCreateChild ( houseroot, "vehicle" ) local carmodel = xmlNodeSetAttribute ( createdcar, "model", "451" ) local x, y, z = getElementPosition ( source ) local xa,ya,a = getElementRotation ( source ) xmlNodeSetAttribute ( createdcar, "x", x ) xmlNodeSetAttribute ( createdcar, "y", y ) xmlNodeSetAttribute ( createdcar, "z", z ) xmlNodeSetAttribute ( createdcar, "a", a ) xmlNodeSetAttribute ( createdcar, "color1", "0" ) xmlNodeSetAttribute ( createdcar, "color2", "0" ) xmlNodeSetAttribute ( createdcar, "owner", "Nobody" ) xmlNodeSetAttribute ( createdcar, "price", "0" ) xmlNodeSetAttribute ( createdcar, "lock", "0" ) cars[maxcars+1] = createVehicle ( 451,x,y,z,0,0,a ) buycarpickup[maxcars+1] = createPickup ( x, y, z, 3, 1274 ) attachElements ( buycarpickup[maxcars+1], cars[maxcars+1], 0, 0, 1.9 ) setElementData (cars[maxcars+1],"xpos",x) setElementData (cars[maxcars+1],"ypos",y) setElementData (cars[maxcars+1],"zpos",z) setElementData (cars[maxcars+1],"angle", a) setElementData (cars[maxcars+1],"owner","Nobody") setElementData (cars[maxcars+1],"price",0) setElementData (cars[maxcars+1],"lock",0) setElementData(cars[maxcars+1],"num",maxcars+1) xmlSaveFile(root) maxcars = maxcars+1 else outputChatBox ("Error: You can't use this command",source, 255,255,127 ) end end addCommandHandler ("acarcreate", adminCreateVehicle) addCommandHandler ("acarsave", saveCars) function getCar ( car ) return cars[car] end function enterVehicle ( source, seat, jacked ) local playercar = getPedOccupiedVehicle ( source ) if(seat == 0) then if (getElementData ( playercar, "owner" )) then if(getElementData ( playercar, "owner" ) ~= "Nobody" ) then if(getElementData ( playercar, "owner" ) == getPlayerName ( source )) then outputChatBox ("It is your car!",source, 255,255,127 ) else outputChatBox ("This vehicle owner: "..getElementData ( playercar, "owner" ).."",source, 255,255,127 ) end else local price = getElementData ( playercar, "price" ) triggerClientEvent ( source, "showBuyCar", source, price) toggleAllControls ( source, false, true, false ) return true end end end end addEventHandler ( "onVehicleEnter", getRootElement(), enterVehicle ) function AcceptToBuyCar ( ) local playercar = getPedOccupiedVehicle ( source ) if(getElementData ( playercar, "owner" ) == "Nobody") then if(getPlayerMoney ( source ) > tonumber(getElementData ( playercar, "price"))) then setElementData ( playercar, "owner", getPlayerName ( source )) takePlayerMoney ( source, tonumber(getElementData ( playercar, "price" ))) toggleAllControls ( source, true ) outputChatBox ("You buy this car!", source, 243,149,72 ) destroyElement(buycarpickup[getElementData(playercar,"num")]) saveCars () else outputChatBox ("Error: You don't have enought money", source, 243,149,72 ) setControlState ( source, "enter_exit", true ) end end end addEvent("acceptBuyCar",true) addEventHandler("acceptBuyCar",root,AcceptToBuyCar) function playerCarLock ( source, cmd) for i,v in ipairs (cars) do if(getElementData ( cars[i], "owner" ) == getPlayerName ( source )) then setVehicleLocked ( cars[i], true ) setElementData (cars[i],"lock", 1) outputChatBox ("You closed your car",source, 243,149,72 ) saveCars() end end end addCommandHandler ("lockmycar",playerCarLock) function playerCarUnLock ( source, cmd) for i,v in ipairs (cars) do if(getElementData ( cars[i], "owner" ) == getPlayerName ( source )) then setVehicleLocked ( cars[i], false ) setElementData (cars[i],"lock", 0) outputChatBox ("You opened your car",source, 243,149,72 ) saveCars() end end end addCommandHandler ("unlockmycar",playerCarUnLock) addEventHandler("onVehicleExplode",getRootElement(), function () local x = getElementData (source,"xpos") local y = getElementData (source,"ypos") local z = getElementData (source,"zpos") local a = getElementData (source,"angle") local owner = getElementData (source,"owner") local price = getElementData (source,"price") local lock = getElementData (source,"lock") local num = getElementData(source,"num") local model = getElementModel(source) local col1, col2, col3, col4 = getVehicleColor(source) destroyElement(source) destroyElement(buycarpickup[num]) if num then if owner == "Nobody" then setTimer(function() cars[num] = createVehicle ( tonumber(model),tonumber(x),tonumber(y),tonumber(z), 0, 0, tonumber(a) ) setElementInterior (cars[num], 0 ) setElementData (cars[num],"xpos",tonumber(x)) setElementData (cars[num],"ypos",tonumber(y)) setElementData (cars[num],"zpos",tonumber(z)) setElementData (cars[num],"angle",tonumber(a)) setElementData (cars[num],"owner",owner) setElementData (cars[num],"price",tonumber(price)) setElementData (cars[num],"lock",tonumber(lock)) setElementData (cars[num], "num",num) buycarpickup[num] = createPickup ( x, y, z, 3, 1274 ) attachElements ( buycarpickup[num], cars[num], 0, 0, 1.9 ) setVehicleColor (cars[num], tonumber(col1), tonumber(col2), tonumber(col3), tonumber(col4)) end,5000,1) else destroyedV[owner] = {x = x, y = y, z = z, a = a, owner = owner, price = price, lock = lock, num = num, model = model, col1 = col1, col2 = col2, col3 = col3, col4 = col4} end
  7. Oka, i had some free time and i read your codes. Apparently when a vehicle is destroyed, it is not respawned. Theres no function for that in this resource, so therefore i dont see why you want to create a function that when a vehicle is destroyed, it should not be respawned ! Unless its the contrary that you want. If you want that the vehicle is respawn, then yes, this will require a function to do that. And for your second question: 2.How can I make it so when I do /respawn it respawns the cars at the peoples houses who bought them. Here, you mean all the cars or a specific vehicle?? I asked this question because what you are asking here is something that can easily be done. All you need to do is firstly changed the masked or unnamed function that triggers when the resource is started to a name function. Serverside, line 5 to 44. Rewrite it like this : function spawnVehicles() local root = xmlLoadFile ("cars.xml") local houseroot = xmlFindChild (root,"cars",0) if (houseroot) then for i,v in ipairs (xmlNodeGetChildren(houseroot)) do local carmodel = xmlNodeGetAttribute (v,"model") local x = xmlNodeGetAttribute (v,"x") local y = xmlNodeGetAttribute (v,"y") local z = xmlNodeGetAttribute (v,"z") local color1 = xmlNodeGetAttribute (v,"color1") local color2 = xmlNodeGetAttribute (v,"color2") local owner = xmlNodeGetAttribute (v,"owner") local price = xmlNodeGetAttribute (v,"price") local lock = xmlNodeGetAttribute (v,"lock") local a = xmlNodeGetAttribute (v,"a") cars[i] = createVehicle ( tonumber(carmodel),tonumber(x),tonumber(y),tonumber(z), 0, 0, tonumber(a) ) setElementInterior ( cars[i], 0 ) setElementData (cars[i],"xpos",tonumber(x)) setElementData (cars[i],"ypos",tonumber(y)) setElementData (cars[i],"zpos",tonumber(z)) setElementData (cars[i],"angle",tonumber(a)) setElementData (cars[i],"owner",owner) setElementData (cars[i],"price",tonumber(price)) setElementData (cars[i],"lock",tonumber(lock)) setElementData (cars[i], "num", i ) setVehicleColor ( cars[i], tonumber(color1), tonumber(color2), 0, 0 ) if(lock == 1) then setVehicleLocked ( car, true ) end if getElementData ( cars[i], "owner" ) == "Nobody" then buycarpickup[i] = createPickup ( x, y, z, 3, 1274 ) attachElements ( buycarpickup[i], cars[i], 0, 0, 1.9 ) end maxcars = maxcars+1 end outputDebugString ("Cars loaded!") end end addEventHandler ( "onResourceStart", getResourceRootElement(),spawnVehicles) All i did was changing the masked function to a named function. Now, if you want to respawn all the vehicle when you type the command /respawn , all you will have to do is create a function that will call the spawnVehicle function.. and all this should happen when you type in the command. Here it is : function respawnVehicle(thePlayer,command) spawnVehicles() end addCommandHandler("respawn",respawnVehicle) When you type the /respawn command, it will trigger the respawnVehicle function, which in turn will call the spawnVehicles function to recreate all the vehicles. However, if im not wrong, there will be one issue. When you will type this command, the vehicles that were created when the resource had started will not be destroyed, and will be at the same place. This means when you will type the command /respawn, there will be more probably 2 vehicles with the same location coordinates, same owner, price ..... etc.. If you want to fix this, you will have to destroy all the vehicles that were created before by this resource so that there should not be 2 vehicles of the same data. This can easily be done by a loop. Also, if something is not working, type /debugscript 3 in the chat, and see if there are any errors that appears below on your screen. If yes, post them here. I hoped i helped you the way you wanted. And next time, dont be sad or angry if nobody is helping you, because time is something that most of us dont really have much. All you need is to wait. Have a nice day!
  8. Hello cody. no need to be sad or angry. If nobody is helping you is either because they dont have much time, or they dont know how to help u. Not all of us have a lot of free time I will try to help you, but i also dont really have much time. TO start, i saw your command and you are savin the data in xml file. So tell me, when you open the cars.xml file, do you see the data you wanted to save??
  9. Hello guys. Today, im here to give away all the scripts i made till now without any regrets or sadness. I made all these scripts for a server.. some months ago, but due to some problems the staff and i had.., i quit the server, and im here to give the resources away, so that anybody can use it. My only requests are make good use of them, and, to all staff, please be nice and kind to players. Stop ill-treating them Before i proceed with the scripts, i would like to take some times to thank some people who helped me a lot here. I had other accounts, but i always forgot the passwords of my email accounts Special thanks to xXMADEXx, who taught me some things when i did my first script Thanks to Citizen, who helped me very much in the french section. Thanks to Castillo or SolidSnake, you helped me like you always do with others. Oka, time for the resources now: 1)simple login panel 2)carsystem 3)otto shop 4)postman job 5)busdriver job 6) simple hospital script 7)Skin & clothes shop -- For the carsystem i made, i also used 50p modshop to save the modifications made to the vehicle, and heres the link to download the modshop: Btw, thank you 50p https://community.multitheftauto.com/in ... ls&id=9686 These are all the scripts i made till now. I also thanks the people who i did not mention here, and have ever helped me. Thank you. Found any bugs in it, contact me and i will try to fix it. YOU CAN EDIT THEM, AS LONG AS YOU DONT GIVE CREDITS TO YOURSELF Have fun guys. Be kind! Hare Rama Hare Krishna
  10. A small typo : all Peds are Players. Not all Peds are Players I believe it should have been : all Peds are Elements Thank you for the tutorial gentleman. Have a nice day!
  11. If im not wrong, you want to set the element data "zsaksz" with 0 as data to players who join your server?? If thats the case then use onPlayerLogin and then instead of using thePlayer, you can use source .
×
×
  • Create New...