-
Posts
297 -
Joined
-
Last visited
Everything posted by Xperia
-
Ah, de acuerdo.
-
Esto es la seccion "Spanish/Español", te equivocas tu.
-
Xperia , eso solo crea un Ped . El quiere que sea con el 'slothbot'. Amigo, Yo te deje un ejemplo.Usalo Si, es verdad, no me di cuenta.
-
Prueba eso: function bot() slothbot = createPed(285,0,0,0) team = createTeam("MiEquipo",0,255,0) setBotTeam(slothbot,team) end addEventHandler("onBotSpawned",getRootElement(),bot)
-
Mira podrias seguirte de este ejemplo, lo que hace es defender un lugar: function bot() slothbot = createPed(285,0,0,0) --el id del skin y las coordenadas x,y,z setBotGuard(slothbot,2645.64,785,498765.12354) --el ped definido y las coordenadas x,y,z end addEventHandler("onBotSpawned",getRootElement(),bot) PD: Puede que tenga algun error, pero puedes guiarte con esto.
-
No es que sepa mucho sobre los bots, no he tocado mucho ese tema todavia, pero podrias probar con: setBotFollow onBotFollow setBotTeam
-
Una pena la verdad, porque eras de gran ayuda en esta comunidad.
-
Matt, si quieres intentar copiar el Resident Evil de Xlatino, te va a costar mucho.
-
Si no me equivoco, ve a la carpeta "Utils" y abre "textlib", en la linea 272 tendras el "DxDrawText " y en la linea 16 podras cambiar el tipo de letra. dxText = {} dxText_mt = { __index = dxText } local idAssign,idPrefix = 0,"c" local g_screenX,g_screenY = guiGetScreenSize() local visibleText = {} ------ local defaults = { fX = 0.5, fY = 0.5, bRelativePosition = true, strText = "", bVerticalAlign = "center", bHorizontalAlign = "center", tColor = {255,255,255,255}, fScale = 1, strFont = "default", strType = "normal", tAttributes = {}, bPostGUI = false, bClip = false, bWordWrap = true, bVisible = true, tBoundingBox = false, --If a bounding box is not set, it will not be used. bRelativeBoundingBox = true, } local validFonts = { default = true, ["default-bold"] = true, clear = true, arial = true, pricedown = true, bankgothic = true, diploma = true, beckett = true, } local validTypes = { normal = true, shadow = true, border = true, stroke = true, --Clone of border } local validAlignTypes = { center = true, left = true, right = true, } function dxText:create( text, x, y, relative ) assert(not self.fX, "attempt to call method 'create' (a nil value)") if ( type(text) ~= "string" ) or ( not tonumber(x) ) or ( not tonumber(y) ) then outputDebugString ( "dxText:create - Bad argument", 0, 112, 112, 112 ) return false end local new = {} setmetatable( new, dxText_mt ) --Add default settings for i,v in pairs(defaults) do new[i] = v end idAssign = idAssign + 1 new.id = idPrefix..idAssign new.strText = text or new.strText new.fX = x or new.fX new.fY = y or new.fY if type(relative) == "boolean" then new.bRelativePosition = relative end visibleText[new] = true return new end function dxText:text(text) if type(text) ~= "string" then return self.strText end self.strText = text return true end function dxText:position(x,y,relative) if not tonumber(x) then return self.fX, self.fY end self.fX = x self.fY = y if type(relative) == "boolean" then self.bRelativePosition = relative else self.bRelativePosition = true end return true end function dxText:color(r,g,b,a) if not tonumber(r) then return unpack(self.tColor) end g = g or self.tColor[2] b = b or self.tColor[3] a = a or self.tColor[4] self.tColor = { r,g,b,a } return true end function dxText:scale(scale) if not tonumber(scale) then return self.fScale end self.fScale = scale return true end function dxText:visible(bool) if type(bool) ~= "boolean" then return self.bVisible end self.bVisible = bool if bool then visibleText[self] = true else visibleText[self] = nil end return true end function dxText:destroy() self.bDestroyed = true setmetatable( self, self ) return true end function dxText:extent() local extent = dxGetTextWidth ( self.strText, self.fScale, self.strFont ) if self.strType == "stroke" or self.strType == "border" then extent = extent + self.tAttributes[1] end return extent end function dxText:height() local height = dxGetFontHeight ( self.fScale, self.strFont ) if self.strType == "stroke" or self.strType == "border" then height = height + self.tAttributes[1] end return height end function dxText:font(font) if not validFonts[font] then return self.strFont end self.strFont = font return true end function dxText:postGUI(bool) if type(bool) ~= "boolean" then return self.bPostGUI end self.bPostGUI = bool return true end function dxText:clip(bool) if type(bool) ~= "boolean" then return self.bClip end self.bClip = bool return true end function dxText:wordWrap(bool) if type(bool) ~= "boolean" then return self.bWordWrap end self.bWordWrap = bool return true end function dxText:type(type,...) if not validTypes[type] then return self.strType, unpack(self.tAttributes) end self.strType = type self.tAttributes = {...} return true end function dxText:align(horzA, vertA) if not validAlignTypes[horzA] then return self.bHorizontalAlign, self.bVerticalAlign end vertA = vertA or self.bVerticalAlign self.bHorizontalAlign, self.bVerticalAlign = horzA, vertA return true end function dxText:boundingBox(left,top,right,bottom,relative) if left == nil then if self.tBoundingBox then return unpack(boundingBox) else return false end elseif tonumber(left) and tonumber(right) and tonumber(top) and tonumber(bottom) then self.tBoundingBox = {left,top,right,bottom} if type(relative) == "boolean" then self.bRelativeBoundingBox = relative else self.bRelativeBoundingBox = true end else self.tBoundingBox = false end return true end addEventHandler ( "onClientRender", getRootElement(), function() for self,_ in pairs(visibleText) do while true do if self.bDestroyed then visibleText[self] = nil break end local l,t,r,b --If we arent using a bounding box if not self.tBoundingBox then --Decide if we use relative or absolute local p_screenX,p_screenY = 1,1 if self.bRelativePosition then p_screenX,p_screenY = g_screenX,g_screenY end local fX,fY = (self.fX)*p_screenX,(self.fY)*p_screenY if self.bHorizontalAlign == "left" then l = fX r = fX + g_screenX elseif self.bHorizontalAlign == "right" then l = fX - g_screenX r = fX else l = fX - g_screenX r = fX + g_screenX end if self.bVerticalAlign == "top" then t = fY b = fY + g_screenY elseif self.bVerticalAlign == "bottom" then t = fY - g_screenY b = fY else t = fY - g_screenY b = fY + g_screenY end elseif type(self.tBoundingBox) == "table" then local b_screenX,b_screenY = 1,1 if self.bRelativeBoundingBox then b_screenX,b_screenY = g_screenX,g_screenY end l,t,r,b = self.tBoundingBox[1],self.tBoundingBox[2],self.tBoundingBox[3],self.tBoundingBox[4] l = l*b_screenX t = t*b_screenY r = r*b_screenX b = b*b_screenY end local type,att1,att2,att3,att4,att5 = self:type() if type == "border" or type == "stroke" then att2 = att2 or 0 att3 = att3 or 0 att4 = att4 or 0 att5 = att5
-
setElementDimension
-
Una pregunta, ¿que tienen que comer?
-
¿Que funciones debo usar para hacer un team privado, que puedas entrar con un comando y ser expulsado por otro comando?
-
Asi va bien function cmd (thePlayer) outputChatBox ( "#002EB8**---Comandos #FF0000Disponibles---**", thePlayer, 255, 255, 255, true) outputChatBox ( "#002EB8*Piloto#C2C2C2 /drift[1-7] /salto /recta /estacionamiento", thePlayer, 255, 255, 255, true) end addCommandHandler("comandos",cmd)
-
A mi tambien me interesaria, y tal vez en futuras versiones se pueda, y tambien que al caminar con un skin mas grande los pasos sean proporcionales a los del skin, por decirlo de alguna forma.
-
Prueba con Adobe Audition CS6.
-
¿No seria asi? createVehicle createPed setPedControlState
-
function skin_panel() PANEL = guiCreateWindow(337,130,333,338,"Skin panel",false) guiSetAlpha(PANEL,1) guiWindowSetMovable(PANEL,true) guiWindowSetSizable(PANEL,false) ON285 = guiCreateButton(160,35,154,26,"ON",false,PANEL) INFO = guiCreateMemo(9,233,315,96,"New skin panel load.\n\n---------------------------\n\nBy SrXperia^",false,PANEL) guiMemoSetReadOnly(INFO,true) OFF285 = guiCreateButton(160,71,154,26,"OFF",false,PANEL) ON287 = guiCreateButton(160,146,154,26,"ON",false,PANEL) OFF287 = guiCreateButton(160,182,154,26,"OFF",false,PANEL) SKIN285 = guiCreateLabel(43,56,123,24,"Skin 285",false,PANEL) guiSetFont(SKIN285,"default-bold-small") SKIN287 = guiCreateLabel(43,167,123,24,"Skin 287",false,PANEL) guiSetFont(SKIN287,"default-bold-small") showCursor(true) addEventHandler( "onClientGUIClick", ON285, skinOn285, false ) addEventHandler( "onClientGUIClick", ON287, skinOn287, false ) addEventHandler( "onClientGUIClick", OFF285, skinOff285, false ) end addEventHandler("onClientResourceStart",getRootElement(),skin_panel) --PONER SKIN HOMER function skinOn285 (button,state) if button == "left" and state == "up" then txd = engineLoadTXD ( "swat.txd", 285 ) engineImportTXD ( txd, 285 ) dff = engineLoadDFF ( "swat.dff", 285 ) engineReplaceModel ( dff, 285 ) end end addEvent("onSkinOn285",true) addEventHandler("onSkinOn285",getRootElement(),skinOn285) --PONER SKIN WINNIEH function skinOn287 (button,state) if button == "left" and state == "up" then txd = engineLoadTXD ( "army.txd", 287 ) engineImportTXD ( txd, 287 ) dff = engineLoadDFF ( "army.dff", 287 ) engineReplaceModel ( dff, 287 ) end end addEvent("onSkinOn287",true) addEventHandler("onSkinOn287",getRootElement(),skinOn287) --ENCENDER/APAGAR PANEL function toggle() if (guiGetVisible(PANEL)) then showCursor(false) guiSetVisible(PANEL,false) else showCursor(true) guiSetVisible(PANEL,true) end end bindKey("F2","down",toggle) function skinOff285 (button,state) if button == "left" and state == "up" then txd = engineLoadTXD ( "army.txd", 287 ) engineImportTXD ( txd, 287 ) dff = engineLoadDFF ( "army.dff", 287 ) engineReplaceModel ( dff, 287 ) end end addEvent("onSkinOff285",false) addEventHandler("onSkinOff285",getRootElement(),skinOff285) ¿Que hago para que al apretar OFF285, se desactive el skin?
-
Ya va bien, ahora, ¿como puedo quitar el skin? He intentado con cancelEvent pero no se si lo pongo bien.
-
El error esta en que no encuentra el archivo "swat.txd". function skin_panel() PANEL = guiCreateWindow(337,130,333,338,"Skin panel",false) guiSetAlpha(PANEL,1) guiWindowSetMovable(PANEL,true) guiWindowSetSizable(PANEL,false) ON285 = guiCreateButton(160,35,154,26,"ON",false,PANEL) INFO = guiCreateMemo(9,233,315,96,"New skin panel load.\n\n---------------------------\n\nBy SrXperia^",false,PANEL) guiMemoSetReadOnly(INFO,true) OFF285 = guiCreateButton(160,71,154,26,"OFF",false,PANEL) ON287 = guiCreateButton(160,146,154,26,"ON",false,PANEL) OFF287 = guiCreateButton(160,182,154,26,"OFF",false,PANEL) SKIN285 = guiCreateLabel(43,56,123,24,"Skin 285",false,PANEL) guiSetFont(SKIN285,"default-bold-small") SKIN287 = guiCreateLabel(43,167,123,24,"Skin 287",false,PANEL) guiSetFont(SKIN287,"default-bold-small") showCursor(true) end addEventHandler("onClientResourceStart",getRootElement(),skin_panel) function skinOn285 (button,state) if button == "left" and state == "up" then txd = engineLoadTXD ( "swat.txd" ) engineImportTXD ( txd, 285 ) dff = engineLoadDFF ( "swat.dff", 285 ) engineReplaceModel ( dff, 285 ) end end addEventHandler("onClientGUIClick",ON285,skinOn285,false) addEvent("onSkinOn285",true) addEventHandler("onSkinOn285",getRootElement(),skinOn285) PD: Este script no esta terminado.
-
Usare isLineOfSightClear. EDIT: Ya me crea la explosion en el laser, pero repetidamente.Intento ponerle checkPlayers pero nada, me dice "unexpected symbol near [". function laser() dxDrawLine3D ( 226.80000305176, 1874, 13.39999961853, 226.80000305176, 1870.8000488281, 13.39999961853, tocolor(250,0,0,150) ) detector = processLineOfSight( 226.80000305176, 1874, 13.39999961853, 226.80000305176, 1870.8000488281, 13.39999961853, [checkPlayers = true] ) if detector then createExplosion( 226.80000305176, 1874, 13.39999961853, 6 ) end end addEventHandler("onClientRender",getRootElement(),laser)
-
Tengo este dxline: function laser() dxDrawLine3D ( 226.80000305176, 1874, 13.39999961853, 226.80000305176, 1870.8000488281, 13.39999961853, tocolor(250,0,0,150) ) end addEventHandler("onClientRender",getRootElement(),laser) Y quisiera que al tocarlo haga un createExplosion.Que debo usar: isLineOfSightClear o processLineOfSight ¿Y como?No entiendo muy bien estas 2 funciones.
-
Mi intencion es hacer una serie, con episodios, que no duren los episodios mas de 5 minutos,grabaremos en mi server, un server local, yo sere el camara y necesitaria a algunos interesados como actores.Yo tengo unas cuantas ideas, pero podeis aportar las vuestras.Dadme vuestro skype y hablamos.