Okumura Posted December 18, 2011 Share Posted December 18, 2011 (edited) Bueno asta ahora tengo esto. function onZombieSpawn (burn, theSize) if (getElementModel (source) == 87) then local (x, z, y, 5 , source) createFire (x, z, y, 5 , source) end end addEvent ("onZombieSpawn" , true) addEventHandler ("onZombieSpawn", root, onZombieSpawn) Pero los zombies no aparecen >.< me podrian ayudar? esto lo puse en el zombie_client.lua porq la funcion createFire es para el client Edited December 18, 2011 by Guest Link to comment
DefearT Posted December 18, 2011 Share Posted December 18, 2011 Tratas de hacer Gamemode de Zombie? Me puedes ayudar? por PM! Link to comment
Castillo Posted December 18, 2011 Share Posted December 18, 2011 @Okumura: Por favor intenta usar un solo topic para todas las preguntas que tengas con el tema relacionado. Link to comment
Serginix Posted December 18, 2011 Share Posted December 18, 2011 @Okumura: Por favor intenta usar un solo topic para todas las preguntas que tengas con el tema relacionado. Creo que cojen esto para que les Agan Scripts Link to comment
Arsilex Posted December 18, 2011 Share Posted December 18, 2011 si es lo que intententan queren que les agais scripts para su server vamos es como que seais sus scripters Link to comment
Okumura Posted December 18, 2011 Author Share Posted December 18, 2011 si es lo que intententan queren que les agais scripts para su server vamos es como que seais sus scripters Nah ya lo solucione Era solo q me faltaba una " perdon por molestarlos Link to comment
Serginix Posted December 18, 2011 Share Posted December 18, 2011 No nos molesta, solo: @Okumura: Por favor intenta usar un solo topic para todas las preguntas que tengas con el tema relacionado. Link to comment
Castillo Posted December 18, 2011 Share Posted December 18, 2011 onZombieSpawn no tiene a source como el zombie que aparecio, no te va a funcionar. P.S: createFire es client side. Link to comment
Okumura Posted December 18, 2011 Author Share Posted December 18, 2011 onZombieSpawn no tiene a source como el zombie que aparecio, no te va a funcionar.P.S: createFire es client side. Si gracias, create fire ya se q es client side por eso lo puse en el zombie_client edit: Entonces si no tiene source tendria a un ped.? Link to comment
Castillo Posted December 18, 2011 Share Posted December 18, 2011 'source' seria lo mas comun de que fuese el zombie, pero slothman al parecer no penso igual, no hay ningun evento para cuando un zombie spawnea. Link to comment
Serginix Posted December 18, 2011 Share Posted December 18, 2011 Bueno, tendrias que empezar a mirar todo el script, el cual no es corto porsierto. Link to comment
Okumura Posted December 18, 2011 Author Share Posted December 18, 2011 'source' seria lo mas comun de que fuese el zombie, pero slothman al parecer no penso igual, no hay ningun evento para cuando un zombie spawnea. unction Spawn_Place(xcoord, ycoord) local x,y,z = getElementPosition( getLocalPlayer() ) local posx = x+xcoord local posy = y+ycoord local gz = getGroundPosition ( posx, posy, z+500 ) triggerServerEvent ("onZombieSpawn", getLocalPlayer(), posx, posy, gz+1 ) end addEventHandler("Spawn_Placement", getRootElement(), Spawn_Place) Alli mismo en esa script dice "onZombieSpawn Link to comment
Castillo Posted December 18, 2011 Share Posted December 18, 2011 Podrias crear tu propio evento cuando un zombie se crea, busca donde diga "createPed" y pone debajo: triggerEvent("onZombieCreated",zomb) -- Esto iria en zombies_server.lua zomb = el zombie que se creo. Luego puedes hacer esto: addEvent("onZombieCreated",true) addEventHandler("onZombieCreated",root, function () if (getElementModel (source) == 87) then setPedOnFire(source, true) end end) Link to comment
Okumura Posted December 18, 2011 Author Share Posted December 18, 2011 (edited) Gracias man EDIT: Los zombies no aparecen ! Edited December 18, 2011 by Guest Link to comment
Castillo Posted December 18, 2011 Share Posted December 18, 2011 Funciono? si es asi puedo cerrar el tema? Link to comment
Okumura Posted December 18, 2011 Author Share Posted December 18, 2011 Los zombies no aparecen Link to comment
Castillo Posted December 18, 2011 Share Posted December 18, 2011 Editaste el script mal y ahora no aparecen? Link to comment
Okumura Posted December 18, 2011 Author Share Posted December 18, 2011 Editaste el script mal y ahora no aparecen? Se.. Link to comment
Castillo Posted December 18, 2011 Share Posted December 18, 2011 Postea zombies_server.lua. Link to comment
Okumura Posted December 18, 2011 Author Share Posted December 18, 2011 Postea zombies_server.lua. 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, 4000, 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 Link to comment
Castillo Posted December 18, 2011 Share Posted December 18, 2011 No has posteado nada, pone el codigo con las tags de Lua. Link to comment
Okumura Posted December 18, 2011 Author Share Posted December 18, 2011 No has posteado nada, pone el codigo con las tags de Lua. function onZombieWasted (killer) if (getElementModel( source) == 264) then local pX, pY, pZ = getElementPosition ( source ) createExplosion ( pX, pY, pZ, 0, source ) end end addEvent("onZombieWasted",true) addEventHandler ("onZombieWasted", root, onZombieWasted) function onZombieWasted (killer) if (getElementModel( source) == 127) then local pX, pY, pZ = getElementPosition ( source ) createExplosion ( pX, pY, pZ, 0, source ) end end addEvent("onZombieWasted",true) addEventHandler ("onZombieWasted", root, onZombieWasted) function onZombieWasted (killer) if (getElementModel( source) == 105) then local pX, pY, pZ = getElementPosition ( source ) createExplosion ( pX, pY, pZ, 0, source ) end end addEvent("onZombieWasted",true) addEventHandler ("onZombieWasted", root, onZombieWasted) function onZombieWasted (killer) if (getElementModel( source) == 258) then local pX, pY, pZ = getElementPosition ( source ) createExplosion ( pX, pY, pZ, 0, source ) end end addEvent("onZombieWasted",true) addEventHandler ("onZombieWasted", root, onZombieWasted) function onZombieWasted (killer) if (getElementModel( source) == 264) then local pX, pY, pZ = getElementPosition ( source ) createExplosion ( pX, pY, pZ, 0, source ) end end addEvent("onZombieWasted",true) addEventHandler ("onZombieWasted", root, onZombieWasted) function onZombieWasted (killer) if (getElementModel( source) == 277) then local pX, pY, pZ = getElementPosition ( source ) createExplosion ( pX, pY, pZ, 0, source ) end end addEvent("onZombieWasted",true) addEventHandler ("onZombieWasted", root, onZombieWasted) eso es todo lo que e agregado y con eso me aparecen los zombies Link to comment
Castillo Posted December 18, 2011 Share Posted December 18, 2011 Yo habia entendido que habias puesto eso de triggerEvent("onZombieCreated",zomb) y luego no te aparecian los zombies, me estas haciendo un lio. Link to comment
Okumura Posted December 18, 2011 Author Share Posted December 18, 2011 Yo habia entendido que habias puesto eso de triggerEvent("onZombieCreated",zomb) y luego no te aparecian los zombies, me estas haciendo un lio. Sorry me equivoque abia puesto eso en el client y ahora si aparecen de fuego Link to comment
BorderLine Posted December 19, 2011 Share Posted December 19, 2011 Una pregunta referente al tema, en vez de setpedonfire, se puede cambiar para que anden sin cabeza? no recuerdo como era la funcion. pero en el caso, seria lo mismo? nada mas cambiar el setpedonfire? Link to comment
Recommended Posts