Jump to content

Dewen

Members
  • Posts

    24
  • Joined

  • Last visited

Everything posted by Dewen

  1. Bonjour, j'ai un petit problème, en effet j'ai fait quelques mapping pour mon serveur mais malheureusement lorsque je les met sur le serveur, la nuit j'ai les lumières des fenêtres des bâtiments de bases. Si quelqu'un peut me donner un coup de pouce sur se point ^^
  2. Bonjour à tous, Je suis à la recherche d'une personne qui a assez de connaissance pour traduire des scripts. Je possède un bon GM traduit à 70% mais il reste 30% à traduire malheureusement je n'ai pas le temps étant donné que je suis en plein période d'examen Merci de me MP si jamais vous êtes interessez
  3. Merhaba arkadaşlar, Gördünüz gibi bir scripter arıyorum çünkü Fransızca bir server açmak için bir scripter arıyorum. Scripter işini iyi yaparsa para veriyorum (euro olarak) Discordum : Krugman#1929
  4. Merci pour ton aide, je vais essayer de faire tous c'que tu m'as dit. Si jamais j'ai des difficultés je reviendrai vers vous ! function zombieKilled (killer,headshot) if killer then setElementData(killer,"zombieskilled",getElementData(killer,"zombieskilled")+1) setElementData(killer,"experience",getElementData(killer,"experience")+115) end local skin = getElementModel(source) local x,y,z = getElementPosition(source) local ped = createPed(skin,x,y,z) local pedCol = createColSphere(x,y,z,1.5) killPed(ped) setTimer(destroyDeadZombie,360000 ,1,ped,pedCol) attachElements (pedCol,ped,0,0,0) setElementData(pedCol,"parent",ped) setElementData(pedCol,"playername","Zombie") setElementData(pedCol,"deadman",true) setElementData(ped,"deadzombie",true) setElementData(pedCol,"deadman",true) local time = getRealTime() local hours = time.hour local minutes = time.minute setElementData(pedCol,"deadreason","Zombie mort. Quelqu'un est passe par ici, heure estimee de la mort: "..hours..":"..minutes..".") for i, item in ipairs(itemTableZombies) do local value = math.percentChance (item[5]/2.5,1) setElementData(pedCol,item[1],value) local ammoData,weapID = getWeaponAmmoType (item[1],true) if ammoData and value > 0 then setElementData(pedCol,ammoData,1) end end local zombieCreator = getElementData(source,"owner") if zombieCreator then setElementData(zombieCreator,"spawnedzombies",getElementData(zombieCreator,"spawnedzombies")-1) destroyElement(source) if headshot == true then setElementData(killer,"headshots",getElementData(killer,"headshots")+1) setElementData(killer,"experience",getElementData(killer,"experience")+63) end end addEvent("onZombieGetsKilled",true) addEventHandler("onZombieGetsKilled",getRootElement(),zombieKilled) Dans se fichier j'ai une erreur voici l'erreur : [2019-12-06 20:50:08] SCRIPT ERROR: [DayZ]\DayZ\zombies.Lua:232: 'end' expected (to close 'function' at line 193) near '<eof>' [2019-12-06 20:50:08] ERROR: Loading script failed: [DayZ]\DayZ\zombies.Lua:232: 'end' expected (to close 'function' at line 193) near '<eof>'
  5. En effet je n'ai plus ma console qui est spam par se problème mais j'ai d'autres erreurs ================================================================== = Multi Theft Auto: San Andreas v1.5.7 ================================================================== = Server name : Dayz [Test] = Server IP address: auto = Server port : 22003 = = Log file : .. 1.5/server/mods/deathmatch/logs/server.log = Maximum players : 32 = HTTP port : 22005 = Voice Chat : Disabled = Bandwidth saving : Medium ================================================================== [2019-12-05 13:01:42] Resource 'Mods' requests some acl rights. Use the command 'aclrequest list Mods' [2019-12-05 13:02:22] Resource 'mapmanager' requests some acl rights. Use the command 'aclrequest list mapmanager' [2019-12-05 13:03:09] Resources: 251 loaded, 0 failed [2019-12-05 13:03:09] Starting resources... [2019-12-05 13:03:10] Server minclientversion is now 1.5.7-9.18957.0 [2019-12-05 13:03:11] INFO: MAPMANAGER: Some important ACL permissions are missing. To ensure the correct functioning of Mapmanager, please write: aclrequest allow mapmanager all [2019-12-05 13:03:13] WARNING: File 'items/backpack_Rucksack.txd' in resource 'DayZ' contains errors. [2019-12-05 13:03:17] WARNING: [DayZ]\DayZ\survivorSystem.Lua:2339: Bad argument @ 'addEventHandler' [Expected element at argument 2, got nil] [2019-12-05 13:03:17] WARNING: [DayZ]\DayZ\survivorSystem.Lua:2340: Bad argument @ 'addEventHandler' [Expected element at argument 2, got nil] [2019-12-05 13:03:18] Gamemode 'DayZ' started. [2019-12-05 13:03:34] ERROR: [Ressources]\SytemeDeTeam\gang_server.Lua:4: exports: Call to non-running server resource (scoreboard) [string "?"] [2019-12-05 13:03:34] Creating new DB table gangs [2019-12-05 13:03:34] Creating new DB table gang_members [2019-12-05 13:03:34] Creating new DB table level_system [2019-12-05 13:03:46] Querying MTA master server... success! (Auto detected IP:**.**.**.**) [2019-12-05 13:03:46] Authorized serial account protection is enabled for the ACL group(s): `Admin` See http://mtasa.com/authserial [2019-12-05 13:03:46] WARNING: <owner_email_address> not set [2019-12-05 13:03:46] Server started and is ready to accept connections! [2019-12-05 13:03:46] To stop the server, type 'shutdown' or press Ctrl-C [2019-12-05 13:03:46] Type 'help' for a list of commands. [2019-12-05 13:03:48] Starting addon_tentfull [2019-12-05 13:03:48] startResource: Resource 'addon_tentfull' started [2019-12-05 13:05:33] CONNECT: Dewen connected (IP: ***.**.*.** Serial: ********************************* Version: 1.5.7-9.20348.0) [2019-12-05 13:05:38] JOIN: Dewen joined the game (IP: ***.**.**.**) [2019-12-05 13:06:39] WARNING: [Ressources]\CreadorLogeo\silvers.Lua:65: Bad argument @ 'isObjectInACLGroup' [Expected acl-group at argument 2, got boolean] [2019-12-05 13:06:39] LOGIN: (Everyone, Admin, Console, PanelAdmin) Dewen successfully logged in as 'Dewen' (IP: ***.***.*.*** Serial: *******************************) [2019-12-05 13:06:46] ERROR: Client (Dewen) triggered serverside event onZombieLostPlayer, but event is not added serverside [2019-12-05 13:06:52] ERROR: Client (Dewen) triggered serverside event onZombieLostPlayer, but event is not added serverside [2019-12-05 13:07:31] WARNING: [DayZ]\DayZ\survivorSystem.Lua:769: Bad argument @ 'destroyElement' [Expected element at argument 1, got nil] [2019-12-05 13:07:35] WARNING: [DayZ]\DayZ\zombies.Lua:223: Bad argument @ 'getElementData' [Expected element at argument 1, got boolean] [2019-12-05 13:07:35] ERROR: [DayZ]\DayZ\zombies.Lua:223: attempt to perform arithmetic on a boolean value [2019-12-05 13:07:35] WARNING: [DayZ]\DayZ\zombies.Lua:223: Bad argument @ 'getElementData' [Expected element at argument 1, got boolean] [2019-12-05 13:07:35] ERROR: [DayZ]\DayZ\zombies.Lua:223: attempt to perform arithmetic on a boolean value : Mon SurvivorSytsem.Lua (pour l'erreur ligne 769. Dans mon fichier la ligne 769 = l'avant dernière) elementWeaponBack2 = {} function weaponSwitchBack2 ( previousWeaponID, currentWeaponID ) local weapon2 = getElementData(source,"currentweapon_2") if not weapon2 then return end local ammoData2,weapID2 = getWeaponAmmoType(weapon2) local x,y,z = getElementPosition(source) local rx,ry,rz = getElementRotation(source) triggerClientEvent(source, "MultiArmasSkins2", source) if previousWeaponID == weapID2 then if elementWeaponBack2[source] then detachElementFromBone(elementWeaponBack2[source]) destroyElement(elementWeaponBack2[source]) elementWeaponBack2[source] = false end if weapon2 == "MP5A5" then elementWeaponBack2[source] = createObject(353,x,y,z) setObjectScale(elementWeaponBack2[source],0.875) elseif weapon2 == "MP5A5 SD" then elementWeaponBack2[source] = createObject(353,x,y,z) setObjectScale(elementWeaponBack2[source],0.875) elseif weapon2 == "M16 Christmas Edition" then elementWeaponBack2[source] = createObject(353,x,y,z) setObjectScale(elementWeaponBack2[source],0.875) elseif weapon2 == "Bizon PP-19 SD" then elementWeaponBack2[source] = createObject(353,x,y,z) setObjectScale(elementWeaponBack2[source],0.875) elseif weapon2 == "Pelle" then elementWeaponBack2[source] = createObject(337,x,y,z) setObjectScale(elementWeaponBack2[source],0.0) elseif weapon2 == "Bate" then elementWeaponBack2[source] = createObject(336,x,y,z) setObjectScale(elementWeaponBack2[source],0.0) elseif weapon2 == "Hache" then elementWeaponBack2[source] = createObject(339,x,y,z) setObjectScale(elementWeaponBack2[source],0.0) elseif weapon2 == "Fusil de Chasse " then elementWeaponBack2[source] = createObject(350,x,y,z) setObjectScale(elementWeaponBack2[source],0.875) elseif weapon2 == "M9" then elementWeaponBack2[source] = createObject(346,x,y,z) setObjectScale(elementWeaponBack2[source],0.0) elseif weapon2 == "Micro UZI SD" then elementWeaponBack2[source] = createObject(352,x,y,z) setObjectScale(elementWeaponBack2[source],0.0) elseif weapon2 == "Micro UZI" then elementWeaponBack2[source] = createObject(352,x,y,z) setObjectScale(elementWeaponBack2[source],0.0) elseif weapon2 == "M9 SD" then elementWeaponBack2[source] = createObject(339,x,y,z) setObjectScale(elementWeaponBack2[source],0.0) elseif weapon2 == "Revolver" then elementWeaponBack2[source] = createObject(348,x,y,z) setObjectScale(elementWeaponBack2[source],0.0) elseif weapon2 == "Couteau" then elementWeaponBack2[source] = createObject(335,x,y,z) setObjectScale(elementWeaponBack2[source],0.0) elseif weapon2 == "Couteau PointBlack" then elementWeaponBack2[source] = createObject(335,x,y,z) setObjectScale(elementWeaponBack2[source],0.0) elseif weapon2 == "Marteau" then elementWeaponBack2[source] = createObject(333,x,y,z) setObjectScale(elementWeaponBack2[source],0.0) else elementWeaponBack2[source] = createObject(getWeaponObjectID(weapID2),x,y,z) setObjectScale(elementWeaponBack2[source],0.875) end --[[if elementWeaponBack2[source] then attachElementToBone(elementWeaponBack2[source],source,3,-0.18,-0.05,-0.1,-0.1,0,260) else attachElementToBone(elementWeaponBack2[source],source,3,-0.18,-0.05,-0.1,-0.1,0,260) end ]] --3,-0.18,-0.05,-0.1,-0.1,0,260) if elementWeaponBack2[source] then --3,-0.18,-0.31,-0.1,0,270,-90) esta es pocison buena attachElementToBone(elementWeaponBack2[source],source,3,-0.20,-0.31,-0.1,0,270,-90) else attachElementToBone(elementWeaponBack2[source],source,3,-0.20,-0.31,-0.1,0,270,-90) end elseif currentWeaponID == weapID2 then detachElementFromBone(elementWeaponBack2[source]) destroyElement(elementWeaponBack2[source]) elementWeaponBack2[source] = false L'erreur ligne 2339 : ----function = ligne 2324 function Player ( thePlayer, dim ) local nivel = getElementData(thePlayer, "level") if dim == true and nivel > 10 then setElementData ( thePlayer, "blood", 20000 ) setElementData( thePlayer,"food",100) setElementData( thePlayer,"thirst",100) setElementData( thePlayer,"brokenbone",false) setElementData( thePlayer,"bleeding",0) setElementData( thePlayer,"pain",false) setElementData( thePlayer,"infection",false) triggerClientEvent("onRollMessageStart", thePlayer, " #FFFFFFVous avez guéri et nourri!", 255, 255, 255) else triggerClientEvent("onRollMessageStart", thePlayer, " #FFFFFFVous avez besoin du niveau 10!", 255, 5, 0) end end addEventHandler ( "onMarkerHit", Blood, Player ) addEventHandler ( "onMarkerHit", Blood2, Player ) le fichier Zombies.Lua pour l'erreur l.223 ----function = ligne 193 function zombieKilled (killer,headshot) if killer then setElementData(killer,"zombieskilled",getElementData(killer,"zombieskilled")+1) setElementData(killer,"experience",getElementData(killer,"experience")+115) end local skin = getElementModel(source) local x,y,z = getElementPosition(source) local ped = createPed(skin,x,y,z) local pedCol = createColSphere(x,y,z,1.5) killPed(ped) setTimer(destroyDeadZombie,360000 ,1,ped,pedCol) attachElements (pedCol,ped,0,0,0) setElementData(pedCol,"parent",ped) setElementData(pedCol,"playername","Zombie") setElementData(pedCol,"deadman",true) setElementData(ped,"deadzombie",true) setElementData(pedCol,"deadman",true) local time = getRealTime() local hours = time.hour local minutes = time.minute setElementData(pedCol,"deadreason","Zombie mort. Quelqu'un est passe par ici, heure estimee de la mort: "..hours..":"..minutes..".") for i, item in ipairs(itemTableZombies) do local value = math.percentChance (item[5]/2.5,1) setElementData(pedCol,item[1],value) local ammoData,weapID = getWeaponAmmoType (item[1],true) if ammoData and value > 0 then setElementData(pedCol,ammoData,1) end end local zombieCreator = getElementData(source,"owner") setElementData(zombieCreator,"spawnedzombies",getElementData(zombieCreator,"spawnedzombies")-1) destroyElement(source) if headshot == true then setElementData(killer,"headshots",getElementData(killer,"headshots")+1) setElementData(killer,"experience",getElementData(killer,"experience")+63) end end
  6. Je tiens à te remercier pour la réponse qui a été très rapide ! Je vais d'abord essayer la 2ème solution et si sa persiste je vais devoir surement revenir vers vous ^^
  7. Salut à tous ! J'aurai besoin de vos aide en effet je "travaille" sur un serveur DayZ et j'aurai quelques soucis. Dès que les zombies meurent ou spawn j'ai souvent des messages d'erreur ! Voici les messages : [2019-12-04 20:15:15] WARNING: slothbot\sbserver.Lua:877: Bad argument @ 'getElementPosition' [Expected element at argument 1, got boolean] [2019-12-04 20:15:15] WARNING: slothbot\sbserver.Lua:879: Bad argument @ 'getDistanceBetweenPoints3D' [Expected vector3 at argument 4, got boolean] [2019-12-04 20:15:15] ERROR: slothbot\sbserver.Lua:880: attempt to compare number with boolean [2019-12-04 20:15:15] WARNING: slothbot\sbserver.Lua:877: Bad argument @ 'getElementPosition' [Expected element at argument 1, got boolean] [2019-12-04 20:15:21] WARNING: slothbot\sbserver.Lua:879: Bad argument @ 'getDistanceBetweenPoints3D' [Expected vector3 at argument 4, got boolean] [2019-12-04 20:15:21] ERROR: slothbot\sbserver.Lua:880: attempt to compare number with boolean [2019-12-04 20:15:21] WARNING: slothbot\sbserver.Lua:877: Bad argument @ 'getElementPosition' [Expected element at argument 1, got boolean] [2019-12-04 20:15:21] WARNING: slothbot\sbserver.Lua:879: Bad argument @ 'getDistanceBetweenPoints3D' [Expected vector3 at argument 4, got boolean] [2019-12-04 20:15:21] ERROR: slothbot\sbserver.Lua:880: attempt to compare number with boolean [2019-12-04 20:15:58] WARNING: slothbot\sbserver.Lua:877: Bad argument @ 'getElementPosition' [Expected element at argument 1, got boolean] [2019-12-04 20:15:58] WARNING: slothbot\sbserver.Lua:879: Bad argument @ 'getDistanceBetweenPoints3D' [Expected vector3 at argument 4, got boolean] [2019-12-04 20:15:58] ERROR: slothbot\sbserver.Lua:880: attempt to compare number with boolean [2019-12-04 20:16:42] WARNING: slothbot\sbserver.Lua:877: Bad argument @ 'getElementPosition' [Expected element at argument 1, got boolean] [2019-12-04 20:16:42] WARNING: slothbot\sbserver.Lua:879: Bad argument @ 'getDistanceBetweenPoints3D' [Expected vector3 at argument 4, got boolean] [2019-12-04 20:16:42] ERROR: slothbot\sbserver.Lua:880: attempt to compare number with boolean Voici le fichier en question : function guard_move (ped, oldpx, oldpy, oldpz) if (isElement(ped)) then if (getElementData ( ped, "status" ) == "guarding" ) and (getElementData (ped, "slothbot") == true) then local guardcol = getElementData ( ped, "guardcol" ) local pedhp = getElementHealth ( ped ) if pedhp > 0 then local tx,ty,tz = getElementPosition( guardcol ) local px,py,pz = getElementPosition( ped ) local fdist = (getDistanceBetweenPoints3D (px, py, pz, tx, ty, tz)) if fdist > 4 then triggerClientEvent ( "bot_Forwards", ped ) local pdistance = (getDistanceBetweenPoints3D (oldpx, oldpy, oldpz, px, py, pz)) if (pdistance < 1 ) then local decide = math.random( 1, 7 ) -- randomly decide to if decide == 1 then -- do nothing setTimer ( guard_move, 600, 1, ped, px, py, pz) elseif decide <4 then -- jump local weap = getPedWeaponSlot(ped) if (weap == 1) or (weap == 7) then setPedWeaponSlot(ped, 0 ) triggerClientEvent ( "bot_Jump", ped ) setTimer ( setPedWeaponSlot, 850, 1, ped, weap) else triggerClientEvent ( "bot_Jump", ped ) end setTimer ( guard_move, 600, 1, ped, px, py, pz) else -- randomly turn a new direction, walk a bit, then resume local randomangle = math.random( 1, 360 ) setPedRotation( ped, randomangle ) setTimer ( guard_move, 1200, 1, ped, px, py, pz) end else -- if the ped isnt stuck setTimer ( guard_move, 700, 1, ped, px, py, pz) end else triggerClientEvent ( "bot_Stop", ped ) --already arrived at place to guard if (getElementData ( ped, "forcedmoving" ) == true ) then setElementData ( ped, "forcedmoving", false ) end setTimer ( guard_move, 1500, 1, ped, px, py, pz) -- keep looping in case ped gets moved some other way end end end end end Je tiens juste à dire la première ligne = la 871 sur mon fichier Merci d'avance pour votre aide !
  8. Très beau script ! Franchement simple !
  9. Salut avec plaisir je te laisse mon discord aussi si jamais tu voudra me contacter : Yasar#1929
  10. Merci , pour ton soutiens Citizen , Effectivement nous avons du mal à trouver un scripteur MTA , malheureusement il ne reste plus beaucoup de scripteur MTA . Mais bon nous allons pas abandonner le projet , c'est qu'une question de temps !
  11. Salut à tous , Aujourd'hui je poste se Topic afin de trouver un scripteur (même débutant) pour épauler le serveur Perfect Life , vous allez vous dire :" Mais c'est quoi Perfect-Life". Perfect Life est un projet de serveur RolePlay qui a faillit ouvrir mais hélas l'hébergeur avait fait une mise à jour et il arriva un malheur et tous les fichiers se font supprimer ! Donc afin de relancer le projet le plus vite possible nous cherchons des scripteurs MTA ! Un projet sérieux , avec une communauté qui est derrière le projet et qui attends impatiemment l'ouverture de se projet. Nous disposons d'un UCP et d'un Forum complet ! Donc il nous reste plus que les scripts IG ! Notre discord : https://discord.gg/j8GWJJd
  12. Salut , je suis un ancien joueur de DayZ cela fait plus de 2 ans que je ne joue plus sur des serveurs DayZ mais sur des serveurs RolePlay dont UMVRP qui a fermé. Vous pouvez joindre l'ip du serveur en question histoire que je puisse le tester et voir si il me plait.
  13. Merci ^^ Le flag sert à quoi au juste ?
  14. Bonjour , j'ai besoin d'un script afin de pouvoir de se déplacée en visant avec des armes de type AK47 et M4 , mais je ne trouve aps de script permettant de faire sa.
  15. C'est bon je n'ai plus de soucis avec se script.
  16. Tu veux que je fous sa sur le client ou server?
  17. Pas de soucis de collision sur la map enfaite avec le panel je spawn sur la map pas de soucis
  18. Effectivement c'est le cas sur certaine zone il spawn sur la map et d'autre zpne sous la map....
  19. Mhh.... je vois , pour régler se soucis tu me conseille quoi ?
  20. Voila ce que j'ai côté server (juste la partie ou spawn_placement internvient) addEvent( "onZombieSpawn", true ) function RanSpawn_Z ( gx, gy, gz, rot) local safezone = 0 local allradars = getElementsByType("radararea") for theKey,theradar in ipairs(allradars) do if getElementData(theradar, "zombieProof") == true then if isInsideRadarArea ( theradar, gx, gy ) then safezone = 1 end end end if safezone == 0 then if table.getn ( everyZombie ) < newZombieLimit then if not rot then rot = math.random (1,359) end randomZskin = math.random ( 1, table.getn ( ZombiePedSkins ) ) local zomb = createPed( tonumber( ZombiePedSkins[randomZskin] ), gx, gy, gz ) if zomb ~= false then setElementData ( zomb, "zombie", true ) table.insert( everyZombie, zomb ) setTimer ( function (zomb, rot) if ( isElement ( zomb ) ) then setPedRotation ( zomb, rot ) end end, 500, 1, zomb, rot ) setTimer ( function (zomb) if ( isElement ( zomb ) ) then setPedAnimation ( zomb, "ped", chaseanim, -1, true, true, true ) end end, 1000, 1, zomb ) setTimer ( function (zomb) if ( isElement ( zomb ) ) then setElementData ( zomb, "status", "idle" ) end end, 2000, 1, zomb ) triggerClientEvent ( "Zomb_STFU", getRootElement(), zomb ) end end end end addEventHandler( "onZombieSpawn", getRootElement(), RanSpawn_Z ) --SPAWNS ZOMBIES RANDOMLY NEAR PLAYERS function SpawnZombie () local pacecount = 0 while pacecount < 5 do --4 ZOMBIES AT A TIME TO PREVENT FPS DROP if (table.getn( everyZombie )+pacecount < newZombieLimit ) and (ZombieStreaming == 1) then local xcoord = 0 local ycoord = 0 local xdirection = math.random(1,2) if xdirection == 1 then xcoord = math.random(15,40) else xcoord = math.random(-40,-15) end local ydirection = math.random(1,2) if ydirection == 1 then ycoord = math.random(30,80) else ycoord = math.random(-80,-30) end local liveplayers = getAlivePlayers () if (table.getn( liveplayers ) > 0 ) then local lowestcount = 99999 local lowestguy = nil for PKey,thePlayer in ipairs(liveplayers) do if isElement(thePlayer) then if (getElementData (thePlayer, "dangercount")) and (getElementData(thePlayer, "zombieProof") ~= true) and (getElementData(thePlayer, "alreadyspawned" ) == true) then if (getElementData (thePlayer, "dangercount") < lowestcount) then local safezone = 0 local gx, gy, gz = getElementPosition( thePlayer ) local allradars = getElementsByType("radararea") for theKey,theradar in ipairs(allradars) do if getElementData(theradar, "zombieProof") == true then if isInsideRadarArea ( theradar, gx, gy ) then safezone = 1 end end end if safezone == 0 then lowestguy = thePlayer lowestcount = getElementData (thePlayer, "dangercount") end end end end end pacecount = pacecount+1 if isElement(lowestguy) then triggerClientEvent ( "Spawn_Placement", lowestguy, ycoord, xcoord ) else pacecount = pacecount+1 end else pacecount = pacecount+1 end else pacecount = pacecount+1 end end end
  21. Bonjour , je suis en train de développée un serveur DayZ sur la map de Vice city avec des amis mais j'ai un soucis les zombies spawn sous la Map..... Je voudrai qu'ils spawns à côté mais je trouve pas comment faire..... Voici le code : myZombies = { } helmetzombies = { 27, 51, 52, 99, 27, 137, 153, 167, 205, 260, 277, 278, 279, 284, 285 } resourceRoot = getResourceRootElement() --FORCES ZOMBIES TO MOVE ALONG AFTER THEIR TARGET PLAYER DIES function playerdead () setTimer ( Zomb_release, 40000, 1 ) end addEventHandler ( "onClientPlayerWasted", getLocalPlayer(), playerdead ) function Zomb_release () for k, ped in pairs( myZombies ) do if (isElement(ped)) then if (getElementData (ped, "zombie") == true) then setElementData ( ped, "target", nil ) setElementData ( ped, "status", "idle" ) table.remove(myZombies,k) end end end end --REMOVES A ZOMBIE FROM INFLUENCE AFTER ITS KILLED function pedkilled ( killer, weapon, bodypart ) if (getElementData (source, "zombie") == true) and (getElementData (source, "status") ~= "dead" ) then setElementData ( source, "target", nil ) setElementData ( source, "status", "dead" ) end end addEventHandler ( "onClientPedWasted", getRootElement(), pedkilled ) --THIS CHECKS ALL ZOMBIES EVERY SECOND TO SEE IF THEY ARE IN SIGHT function zombie_check () if (getElementData (getLocalPlayer (), "zombie") ~= true) and ( isPlayerDead ( getLocalPlayer () ) == false ) then local zombies = getElementsByType ( "ped",getRootElement(),true ) local Px,Py,Pz = getElementPosition( getLocalPlayer () ) if isPedDucked ( getLocalPlayer ()) then local Pz = Pz-1 end for theKey,theZomb in ipairs(zombies) do if (isElement(theZomb)) then local Zx,Zy,Zz = getElementPosition( theZomb ) if (getDistanceBetweenPoints3D(Px, Py, Pz, Zx, Zy, Zz) < 45 ) then if (getElementData (theZomb, "zombie") == true) then if ( getElementData ( theZomb, "status" ) == "idle" ) then --CHECKS IF AN IDLE ZOMBIE IS IN SIGHT local isclear = isLineOfSightClear (Px, Py, Pz+1, Zx, Zy, Zz +1, true, false, false, true, false, false, false) if (isclear == true) then setElementData ( theZomb, "status", "chasing" ) setElementData ( theZomb, "target", getLocalPlayer() ) table.insert( myZombies, theZomb ) --ADDS ZOMBIE TO PLAYERS COLLECTION table.remove( zombies, theKey) zombieradiusalert (theZomb) end elseif (getElementData(theZomb,"status") == "chasing") and (getElementData(theZomb,"target") == nil) then --CHECKS IF AN AGGRESSIVE LOST ZOMBIE IS IN SIGHT local isclear = isLineOfSightClear (Px, Py, Pz+1, Zx, Zy, Zz +1, true, false, false, true, false, false, false) if (isclear == true) then setElementData ( theZomb, "target", getLocalPlayer() ) isthere = "no" for k, ped in pairs( myZombies ) do if ped == theZomb then isthere = "yes" end end if isthere == "no" then table.insert( myZombies, theZomb ) --ADDS THE WAYWARD ZOMBIE TO THE PLAYERS COLLECTION table.remove( zombies, theKey) end end elseif ( getElementData ( theZomb, "target" ) == getLocalPlayer() ) then --CHECKS IF AN ALREADY AGGRESSIVE ZOMBIE IS IN SIGHT local isclear = isLineOfSightClear (Px, Py, Pz+1, Zx, Zy, Zz +1, true, false, false, true, false, false, false) if (isclear == false) then --IF YOUR ZOMBIE LOST YOU, MAKES IT REMEMBER YOUR LAST COORDS setElementData ( theZomb, "target", nil ) triggerServerEvent ("onZombieLostPlayer", theZomb, oldPx, oldPy, oldPz) end end end end end end --this second half is for checking peds and zombies local nonzombies = getElementsByType ( "ped",getRootElement(),true ) for theKey,theZomb in ipairs(zombies) do if (isElement(theZomb)) then if (getElementData (theZomb, "zombie") == true) then local Zx,Zy,Zz = getElementPosition( theZomb ) for theKey,theNonZomb in ipairs(nonzombies) do if (getElementData (theNonZomb, "zombie") ~= true) then -- if the ped isnt a zombie local Px,Py,Pz = getElementPosition( theNonZomb ) if (getDistanceBetweenPoints3D(Px, Py, Pz, Zx, Zy, Zz) < 45 ) then local isclear = isLineOfSightClear (Px, Py, Pz+1, Zx, Zy, Zz +1, true, false, false, true, false, false, false ) if (isclear == true) and ( getElementHealth ( theNonZomb ) > 0) then if ( getElementData ( theZomb, "status" ) == "idle" ) then --CHECKS IF AN IDLE ZOMBIE IS IN SIGHT triggerServerEvent ("onZombieLostPlayer", theZomb, Px, Py, Pz) setElementData ( theZomb, "status", "chasing" ) setElementData ( theZomb, "target", theNonZomb ) zombieradiusalert (theZomb) elseif ( getElementData ( theZomb, "status" ) == "chasing" ) and ( getElementData ( theZomb, "target" ) == nil) then triggerServerEvent ("onZombieLostPlayer", theZomb, Px, Py, Pz) setElementData ( theZomb, "target", theNonZomb ) end end end if ( getElementData ( theZomb, "target" ) == theNonZomb ) then --CHECKS IF AN ALREADY AGGRESSIVE ZOMBIE IS IN SIGHT OF THE PED local Px,Py,Pz = getElementPosition( theNonZomb ) if (getDistanceBetweenPoints3D(Px, Py, Pz, Zx, Zy, Zz) < 45 ) then local isclear = isLineOfSightClear (Px, Py, Pz+1, Zx, Zy, Zz+1, true, false, false, true, false, false, false) if (isclear == false) then --IF YOUR ZOMBIE LOST THE PED, MAKES IT REMEMBER the peds LAST COORDS triggerServerEvent ("onZombieLostPlayer", theZomb, Px, Py, Pz) setElementData ( theZomb, "target", nil ) end end end end end end end end end for k, ped in pairs( myZombies ) do if (isElement(ped) == false) then table.remove( myZombies, k) end end oldPx,oldPy,oldPz = getElementPosition( getLocalPlayer () ) end --INITAL SETUP function clientsetupstarter(startedresource) if startedresource == getThisResource() then setTimer ( clientsetup, 1234, 1) MainClientTimer1 = setTimer ( zombie_check, 1000, 0) --STARTS THE TIMER TO CHECK FOR ZOMBIES end end addEventHandler("onClientResourceStart", getRootElement(), clientsetupstarter) function clientsetup() oldPx,oldPy,oldPz = getElementPosition( getLocalPlayer () ) throatcol = createColSphere ( 0, 0, 0, .3) woodpic = guiCreateStaticImage( .65, .06, .1, .12, "zombiewood.png", true ) guiSetVisible ( woodpic, false ) --ALL ZOMBIES STFU local zombies = getElementsByType ( "ped" ) for theKey,theZomb in ipairs(zombies) do if (isElement(theZomb)) then if (getElementData (theZomb, "zombie") == true) then setPedVoice(theZomb, "PED_TYPE_DISABLED") end end end --SKIN REPLACEMENTS local skin = engineLoadTXD ( "skins/13.txd" ) --bleedin eyes 31 by Slothman engineImportTXD ( skin, 13 ) local skin = engineLoadTXD ( "skins/22.txd" ) -- slashed 12 by Wall-E engineImportTXD ( skin, 22 ) local skin = engineLoadTXD ( "skins/56.txd" ) --young and blue by Slothman engineImportTXD ( skin, 56 ) local skin = engineLoadTXD ( "skins/67.txd" ) -- slit r* employee engineImportTXD ( skin, 67 ) local skin = engineLoadTXD ( "skins/68.txd" ) -- shredded preist by Deixell engineImportTXD ( skin, 68 ) local skin = engineLoadTXD ( "skins/69.txd" ) --bleedin eyes in denim by Capitanazop engineImportTXD ( skin, 69 ) local skin = engineLoadTXD ( "skins/70.txd" ) --ultra gory scientist by 50p engineImportTXD ( skin, 70 ) local skin = engineLoadTXD ( "skins/84.txd" ) --guitar wolf (nonzombie) by Slothman engineImportTXD ( skin, 84 ) local skin = engineLoadTXD ( "skins/92.txd" ) -- peeled flesh by xbost engineImportTXD ( skin, 92 ) local skin = engineLoadTXD ( "skins/97.txd" ) -- easterboy by Slothman engineImportTXD ( skin, 97 ) local skin = engineLoadTXD ( "skins/105.txd" ) --Scarred Grove Gangster by Wall-E engineImportTXD ( skin, 105 ) local skin = engineLoadTXD ( "skins/107.txd" ) --ripped and slashed grove by Wall-E engineImportTXD ( skin, 107 ) local skin = engineLoadTXD ( "skins/108.txd" ) -- skeleton thug by Deixell engineImportTXD ( skin, 108 ) local skin = engineLoadTXD ( "skins/111.txd" ) --Frank West from dead rising (nonzombie) by Slothman engineImportTXD ( skin, 111 ) local skin = engineLoadTXD ( "skins/126.txd" ) -- bullet ridden wiseguy by Slothman engineImportTXD ( skin, 126 ) local skin = engineLoadTXD ( "skins/127.txd" ) --flyboy from dawn of the dead by Slothman engineImportTXD ( skin, 127 ) local skin = engineLoadTXD ( "skins/128.txd" ) --holy native by Slothman engineImportTXD ( skin, 128 ) local skin = engineLoadTXD ( "skins/152.txd" ) --bitten schoolgirl by Slothman engineImportTXD ( skin, 152 ) local skin = engineLoadTXD ( "skins/162.txd" ) --shirtless redneck by Slothman engineImportTXD ( skin, 162 ) local skin = engineLoadTXD ( "skins/167.txd" ) --dead chickenman by 50p engineImportTXD ( skin, 167 ) local skin = engineLoadTXD ( "skins/188.txd" ) --burnt greenshirt by Slothman engineImportTXD ( skin, 188 ) local skin = engineLoadTXD ( "skins/192.txd" ) --Alice from resident evil (nonzombie) by Slothman engineImportTXD ( skin, 192 ) local skin = engineLoadTXD ( "skins/195.txd" ) --bloody ex by Slothman engineImportTXD ( skin, 195 ) local skin = engineLoadTXD ( "skins/206.txd" ) -- faceless zombie by Slothman engineImportTXD ( skin, 206 ) local skin = engineLoadTXD ( "skins/209.txd" ) --Noodle vendor by 50p engineImportTXD ( skin, 209 ) local skin = engineLoadTXD ( "skins/212.txd" ) --brainy hobo by Slothman engineImportTXD ( skin, 212 ) local skin = engineLoadTXD ( "skins/229.txd" ) --infected tourist by Slothman engineImportTXD ( skin, 229 ) local skin = engineLoadTXD ( "skins/230.txd" ) --will work for brains hobo by Slothman engineImportTXD ( skin, 230 ) local skin = engineLoadTXD ( "skins/258.txd" ) --bloody sided suburbanite by Slothman engineImportTXD ( skin, 258 ) local skin = engineLoadTXD ( "skins/264.txd" ) --scary clown by 50p engineImportTXD ( skin, 264 ) local skin = engineLoadTXD ( "skins/274.txd" ) --Ash Williams (nonzombie) by Slothman engineImportTXD ( skin, 274 ) local skin = engineLoadTXD ( "skins/277.txd" ) -- gutted firefighter by Wall-E engineImportTXD ( skin, 277 ) local skin = engineLoadTXD ( "skins/280.txd" ) --infected cop by Lordy engineImportTXD ( skin, 280 ) local skin = engineLoadTXD ( "skins/287.txd" ) --torn army by Deixell engineImportTXD ( skin, 287 ) end --UPDATES PLAYERS COUNT OF AGGRESIVE ZOMBIES addEventHandler ( "onClientElementDataChange", getRootElement(), function ( dataName ) if getElementType ( source ) == "ped" and dataName == "status" then local thestatus = (getElementData ( source, "status" )) if (thestatus == "idle") or (thestatus == "dead") then for k, ped in pairs( myZombies ) do if ped == source and (getElementData (ped, "zombie") == true) then setElementData ( ped, "target", nil ) table.remove( myZombies, k) setElementData ( getLocalPlayer(), "dangercount", tonumber(table.getn( myZombies )) ) end end end end end ) --MAKES A ZOMBIE JUMP addEvent( "Zomb_Jump", true ) function Zjump ( ped ) if (isElement(ped)) then setPedControlState( ped, "jump", true ) setTimer ( function (ped) if ( isElement ( ped ) ) then setPedControlState ( ped, "jump", false) end end, 800, 1, ped ) end end addEventHandler( "Zomb_Jump", getRootElement(), Zjump ) --MAKES A ZOMBIE PUNCH addEvent( "Zomb_Punch", true ) function Zpunch ( ped ) if (isElement(ped)) then setPedControlState( ped, "fire", true ) setTimer ( function (ped) if ( isElement ( ped ) ) then setPedControlState ( ped, "fire", false) end end, 800, 1, ped ) end end addEventHandler( "Zomb_Punch", getRootElement(), Zpunch ) --MAKES A ZOMBIE STFU addEvent( "Zomb_STFU", true ) function Zstfu ( ped ) if (isElement(ped)) then setPedVoice(ped, "PED_TYPE_DISABLED") end end addEventHandler( "Zomb_STFU", getRootElement(), Zstfu ) --MAKES A ZOMBIE MOAN addEvent( "Zomb_Moan", true ) function Zmoan ( ped, randnum ) if (isElement(ped)) then local Zx,Zy,Zz = getElementPosition( ped ) local sound = playSound3D("sounds/mgroan"..randnum..".ogg", Zx, Zy, Zz, false) setSoundMaxDistance(sound, 20) end end addEventHandler( "Zomb_Moan", getRootElement(), Zmoan ) --ZOMBIE HEADSHOTS TO ALL BUT HELMETED ZOMBIES function zombiedamaged ( attacker, weapon, bodypart ) if getElementType ( source ) == "ped" then if (getElementData (source, "zombie") == true) then if ( bodypart == 9 ) then helmeted = "no" local zskin = getElementModel ( source ) for k, skin in pairs( helmetzombies ) do if skin == zskin then helmeted = "yes" end end if helmeted == "no" then triggerServerEvent ("headboom", source, source, attacker, weapon, bodypart ) end end end end end addEventHandler ( "onClientPedDamage", getRootElement(), zombiedamaged ) function zombiedkilled(killer, weapon, bodypart) if getElementType ( source ) == "ped" then if (getElementData (source, "zombie") == true) then setElementCollisionsEnabled(source, false) end end end addEventHandler ( "onClientPedWasted", getRootElement(), zombiedkilled ) --CAUSES MORE DAMAGE TO PLAYER WHEN ATTACKED BY A ZOMBIE function zombieattack ( attacker, weapon, bodypart ) if (attacker) then if getElementType ( attacker ) == "ped" then if (getElementData (attacker, "zombie") == true) then local playerHealth = getElementHealth ( getLocalPlayer() ) if playerHealth > 15 then setElementHealth ( source, playerHealth - 15 ) else triggerServerEvent ("playereaten", source, source, attacker, weapon, bodypart ) end end end end end addEventHandler ( "onClientPlayerDamage", getLocalPlayer(), zombieattack ) --WOOD GUI function showwoodpic ( theElement, matchingDimension ) if ( theElement == getLocalPlayer() ) and (getElementData ( source, "purpose" ) == "zombiewood" ) then guiSetVisible ( woodpic, true ) end end addEventHandler ( "onClientColShapeHit", getRootElement(), showwoodpic ) function hidewoodpic ( theElement, matchingDimension ) if ( theElement == getLocalPlayer() ) and (getElementData ( source, "purpose" ) == "zombiewood" ) then guiSetVisible ( woodpic, false ) end end addEventHandler ( "onClientColShapeLeave", getRootElement(), hidewoodpic ) --ZOMBIES ATTACK FROM BEHIND AND GUI STUFF function movethroatcol () local screenWidth, screenHeight = guiGetScreenSize() local dcount = tostring(table.getn( myZombies )) dxDrawText( dcount, screenWidth-40, screenHeight -50, screenWidth, screenHeight, tocolor ( 0, 0, 0, 255 ), 1.44, "pricedown" ) dxDrawText( dcount, screenWidth-42, screenHeight -52, screenWidth, screenHeight, tocolor ( 255, 255, 255, 255 ), 1.4, "pricedown" ) if isElement(throatcol) then local playerrot = getPedRotation ( getLocalPlayer () ) local radRot = math.rad ( playerrot ) local radius = 1 local px,py,pz = getElementPosition( getLocalPlayer () ) local tx = px + radius * math.sin(radRot) local ty = py + -(radius) * math.cos(radRot) local tz = pz setElementPosition ( throatcol, tx, ty, tz ) end end addEventHandler ( "onClientRender", getRootElement(), movethroatcol ) function choketheplayer ( theElement, matchingDimension ) if getElementType ( theElement ) == "ped" and ( isPlayerDead ( getLocalPlayer () ) == false ) then if ( getElementData ( theElement, "target" ) == getLocalPlayer () ) and (getElementData (theElement, "zombie") == true) then local px,py,pz = getElementPosition( getLocalPlayer () ) setTimer ( checkplayermoved, 6000, 1, theElement, px, py, pz) end end end addEventHandler ( "onClientColShapeHit", getRootElement(), choketheplayer ) function checkplayermoved (zomb, px, py, pz) if (isElement(zomb)) then local nx,ny,nz = getElementPosition( getLocalPlayer () ) local distance = (getDistanceBetweenPoints3D (px, py, pz, nx, ny, nz)) if (distance < .7) and ( isPlayerDead ( getLocalPlayer () ) == false ) then setElementData ( zomb, "status", "throatslashing" ) end end end --ALERTS ANY IDLE ZOMBIES WITHIN A RADIUS OF 10 WHEN GUNSHOTS OCCUR OR OTHER ZOMBIES GET ALERTED function zombieradiusalert (theElement) local Px,Py,Pz = getElementPosition( theElement ) local zombies = getElementsByType ( "ped" ) for theKey,theZomb in ipairs(zombies) do if (isElement(theZomb)) then if (getElementData (theZomb, "zombie") == true) then if ( getElementData ( theZomb, "status" ) == "idle" ) then local Zx,Zy,Zz = getElementPosition( theZomb ) local distance = (getDistanceBetweenPoints3D (Px, Py, Pz, Zx, Zy, Zz)) if (distance < 10) and ( isPlayerDead ( getLocalPlayer () ) == false ) then isthere = "no" for k, ped in pairs( myZombies ) do if ped == theZomb then isthere = "yes" end end if isthere == "no" and (getElementData (getLocalPlayer (), "zombie") ~= true) then if (getElementType ( theElement ) == "ped") then local isclear = isLineOfSightClear (Px, Py, Pz, Zx, Zy, Zz, true, false, false, true, false, false, false) if (isclear == true) then setElementData ( theZomb, "status", "chasing" ) setElementData ( theZomb, "target", getLocalPlayer () ) table.insert( myZombies, theZomb ) --ADDS ZOMBIE TO PLAYERS COLLECTION end else setElementData ( theZomb, "status", "chasing" ) setElementData ( theZomb, "target", getLocalPlayer () ) table.insert( myZombies, theZomb ) --ADDS ZOMBIE TO PLAYERS COLLECTION end end end end end end end end function shootingnoise ( weapon, ammo, ammoInClip, hitX, hitY, hitZ, hitElement) if alertspacer ~= 1 then if (weapon == 9) then alertspacer = 1 setTimer ( resetalertspacer, 5000, 1 ) zombieradiusalert(getLocalPlayer ()) elseif (weapon > 21) and (weapon ~= 23) then alertspacer = 1 setTimer ( resetalertspacer, 5000, 1 ) zombieradiusalert(getLocalPlayer ()) end end if hitElement then if (getElementType ( hitElement ) == "ped") then if (getElementData (hitElement, "zombie") == true) then isthere = "no" for k, ped in pairs( myZombies ) do if ped == hitElement then isthere = "yes" end end if isthere == "no" and (getElementData (getLocalPlayer (), "zombie") ~= true) then setElementData ( hitElement, "status", "chasing" ) setElementData ( hitElement, "target", getLocalPlayer () ) table.insert( myZombies, hitElement ) --ADDS ZOMBIE TO PLAYERS COLLECTION zombieradiusalert (hitElement) end end end end end addEventHandler ( "onClientPlayerWeaponFire", getLocalPlayer (), shootingnoise ) function resetalertspacer () alertspacer = nil end function choketheplayer ( theElement, matchingDimension ) if getElementType ( theElement ) == "ped" and ( isPlayerDead ( getLocalPlayer () ) == false ) and (getElementData (theElement , "zombie") == true) then if ( getElementData ( theElement, "target" ) == getLocalPlayer () ) then local px,py,pz = getElementPosition( getLocalPlayer () ) setTimer ( checkplayermoved, 6000, 1, theElement, px, py, pz) end end end addEvent( "Spawn_Placement", true ) function Spawn_Place(xcoord, ycoord) local x,y,z = getElementPosition( getLocalPlayer() ) local posx = x+xcoord local posy = y+ycoord local gz = getGroundPosition ( posx, posy, z+100 ) triggerServerEvent ("onZombieSpawn", getLocalPlayer(), posx, posy, gz+10 ) end addEventHandler("Spawn_Placement", getRootElement(), Spawn_Place) Merci d'avance
×
×
  • Create New...