Jump to content

Crear un comando


Recommended Posts

Hola a todos , E estado empezando con esto del scripting y la verdad es que no entiendo mucho de esto y quería saber como crear un comando para darme una arma , por ejemplo , una uzi , por lo que se se usa el addCommandHandler y setElementModel. pero no se que remplazar y e intentado aprender en la wiki pero no me resulta y espero que alguien me ayude , se lo agradeceria mucho

PD : No me traten de n00b , es mi primer script y lo tengo que hacer por el encargo del dueño de mi server

Link to comment
Hola a todos , E estado empezando con esto del scripting y la verdad es que no entiendo mucho de esto y quería saber como crear un comando para darme una arma , por ejemplo , una uzi , por lo que se se usa el addCommandHandler y setElementModel. pero no se que remplazar y e intentado aprender en la wiki pero no me resulta y espero que alguien me ayude , se lo agradeceria mucho

PD : No me traten de n00b , es mi primer script y lo tengo que hacer por el encargo del dueño de mi server

Sos del server Juramento no?

Link to comment
Hola a todos , E estado empezando con esto del scripting y la verdad es que no entiendo mucho de esto y quería saber como crear un comando para darme una arma , por ejemplo , una uzi , por lo que se se usa el addCommandHandler y setElementModel. pero no se que remplazar y e intentado aprender en la wiki pero no me resulta y espero que alguien me ayude , se lo agradeceria mucho

PD : No me traten de n00b , es mi primer script y lo tengo que hacer por el encargo del dueño de mi server

Sos del server Juramento no?

Si , pertenezco al clan Juramento

Link to comment

Podrias hacer algo mas completo.

El mismo codigo de Lucario lo dejas algo como esto

function darArma (thePlayer, command, weapon) 
if (weapon == "uzi") then 
giveWeapon (thePlayer, 28, 1000) 
elseif (weapon == "m4") then 
giveWeapon (thePlayer, ... -- siges con las demas ID's  
end 
end 
addCommandHandler ("dar", darArma) 

Nose si funciona 100% bien

Link to comment
Podrias hacer algo mas completo.

El mismo codigo de Lucario lo dejas algo como esto

function darArma (thePlayer, command, weapon) 
if (weapon == "uzi") then 
giveWeapon (thePlayer, 28, 1000) 
elseif (weapon == "m4") then 
giveWeapon (thePlayer, ... -- siges con las demas ID's  
end 
end 
addCommandHandler ("dar", darArma) 

Nose si funciona 100% bien

local weapons = { 
    manopla = 1, 
    golf = 2, 
    macana = 3, 
    cuchillo = 4, 
    bate = 5, 
    pala = 6, 
    pool = 7, 
    katana = 8, 
    motosierra = 9,  
    glock = 22, 
    silenciada = 23, 
    deagle = 24, 
    escopeta = 25, 
    recortada = 26, 
    spaz = 27, 
    uzi = 28, 
    mp5 = 32, 
    tec9 = 32, 
    ak47 = 30, 
    m4 = 31, 
    rifle = 33, 
    sniper = 34,  
    rocket = 35, 
    rpg = 36, 
    lanzallamas = 37, 
    minigun = 38, 
    granada = 16, 
    gas = 17, 
    molotov = 18, 
    satchel = 39, 
    spray = 41, 
    extinguidor = 42, 
    camara = 43 
} 
     
  
addCommandHandler( "arma",  
    function( thePlayer, _, weapon, ammo ) 
        if weapon and ammo then 
            if weapons[weapon] then 
                giveWeapon( thePlayer, weapons[weapon], tonumber(ammo), true ) 
            end 
        end 
    end 
) 

Link to comment
Podrias hacer algo mas completo.

El mismo codigo de Lucario lo dejas algo como esto

function darArma (thePlayer, command, weapon) 
if (weapon == "uzi") then 
giveWeapon (thePlayer, 28, 1000) 
elseif (weapon == "m4") then 
giveWeapon (thePlayer, ... -- siges con las demas ID's  
end 
end 
addCommandHandler ("dar", darArma) 

Nose si funciona 100% bien

local weapons = { 
    manopla = 1, 
    golf = 2, 
    macana = 3, 
    cuchillo = 4, 
    bate = 5, 
    pala = 6, 
    pool = 7, 
    katana = 8, 
    motosierra = 9,  
    glock = 22, 
    silenciada = 23, 
    deagle = 24, 
    escopeta = 25, 
    recortada = 26, 
    spaz = 27, 
    uzi = 28, 
    mp5 = 32, 
    tec9 = 32, 
    ak47 = 30, 
    m4 = 31, 
    rifle = 33, 
    sniper = 34,  
    rocket = 35, 
    rpg = 36, 
    lanzallamas = 37, 
    minigun = 38, 
    granada = 16, 
    gas = 17, 
    molotov = 18, 
    satchel = 39, 
    spray = 41, 
    extinguidor = 42, 
    camara = 43 
} 
     
  
addCommandHandler( "arma",  
    function( thePlayer, _, weapon, ammo ) 
        if weapon and ammo then 
            if weapons[weapon] then 
                giveWeapon( thePlayer, weapons[weapon], tonumber(ammo), true ) 
            end 
        end 
    end 
) 

Te has motivado haciendo todo ese codigo xD, la verdad quedo bien grande y bueno

Link to comment

No es necesario usar una tabla para un simple código

addCommandHandler( "arma", 
    function( thePlayer, _, weapName, ammo ) 
    local ID = getWeaponIDFromName ( weapName ) 
        if (ID and ammo) then 
            giveWeapon( thePlayer, ID, tonumber( ammo ), true ) 
        end 
    end 
) 

La sintaxis es la misma, ejemplo /arma minigun 5000

Link to comment
No es necesario usar una tabla para un simple código
addCommandHandler( "arma", 
    function( thePlayer, _, weapName, ammo ) 
    local ID = getWeaponIDFromName ( weapName ) 
        if (ID and ammo) then 
            giveWeapon( thePlayer, ID, tonumber( ammo ), true ) 
        end 
    end 
) 

La sintaxis es la misma, ejemplo /arma minigun 5000

No es lo misma, en tu script no puedes dar armas que lleven espacio en su nombre,

es decir:

  • colt 45
    combat shotgun
    rocket launcher
    rocket launcher hs
    fire extinguisher

Sintiacutetulo-3_zpsbc582db6.png

Ademas de que escribir los nombres en español es mas sencillo.

Link to comment
No es necesario usar una tabla para un simple código
addCommandHandler( "arma", 
    function( thePlayer, _, weapName, ammo ) 
    local ID = getWeaponIDFromName ( weapName ) 
        if (ID and ammo) then 
            giveWeapon( thePlayer, ID, tonumber( ammo ), true ) 
        end 
    end 
) 

La sintaxis es la misma, ejemplo /arma minigun 5000

No es lo misma, en tu script no puedes dar armas que lleven espacio en su nombre,

es decir:

  • colt 45
    combat shotgun
    rocket launcher
    rocket launcher hs
    fire extinguisher

Sintiacutetulo-3_zpsbc582db6.png

Ademas de que escribir los nombres en español es mas sencillo.

Ah bueno, no me fijé en eso, él solo pedía arma asi que se podría suprimir el argumento de la cantidad de arma y ponerle un número o también usar esto:

addCommandHandler( "arma", 
    function( thePlayer, _, ammo, weapName, arg1, arg2 ) 
    if ( arg1 and arg2 ) then  
        weapName = tostring( weapName.." "..arg1.." "..arg2 ) 
    elseif ( arg1 ) then 
        weapName = tostring( weapName.." "..arg1 ) 
    end 
    local ID = getWeaponIDFromName ( weapName ) 
        if (ID and ammo) then 
            giveWeapon( thePlayer, ID, tonumber( ammo ), true ) 
        end 
    end 
) 

ahora sería:

/arma 50000 rocket launcher hs

/arma 400 m4

:lol:

Edited by Guest
Link to comment
addCommandHandler ( "arma", 
    function ( thePlayer, _, ammo, ... ) 
        local weapName = table.concat ( { ... }, " " ) 
        local ID = getWeaponIDFromName ( weapName ) 
        if ( ID and ammo ) then 
            giveWeapon ( thePlayer, ID, tonumber ( ammo ), true ) 
        end 
    end 
) 

Link to comment
addCommandHandler ( "arma", 
    function ( thePlayer, _, ammo, ... ) 
        local weapName = table.concat ( { ... }, " " ) 
        local ID = getWeaponIDFromName ( weapName ) 
        if ( ID and ammo ) then 
            giveWeapon ( thePlayer, ID, tonumber ( ammo ), true ) 
        end 
    end 
) 

Ese me gusta, pero aun así y todo, prefiero escribir los nombres en español.

Link to comment
Si te vas a complicar haciendo algo así, mejor deja el mio.

me olvidé el table.concat, pero igual, no usaría el tuyo, prefiero "complicarme" y que sean menos líneas.

Simple, pon todo el contenido de la tabla en una linea hacia el lado.

Link to comment
Si te vas a complicar haciendo algo así, mejor deja el mio.

me olvidé el table.concat, pero igual, no usaría el tuyo, prefiero "complicarme" y que sean menos líneas.

Simple, pon todo el contenido de la tabla en una linea hacia el lado.

En programación se prefiere optimizar el código, más líneas y carácteres en una sola línea, más kb, se que la diferencia es mínima en este ejemplo pero esa es la idea en cualquier lenguaje.

Link to comment
En programación se prefiere optimizar el código, más líneas y carácteres en una sola línea, más kb, se que la diferencia es mínima en este ejemplo pero esa es la idea en cualquier lenguaje.

La idea de optimizar un recurso no se refiere solo a su peso físico, va mucho mas allá, ten en cuenta eso.

-Ya que el problema ya fue resuelto varios post's atrás, dejo esta 'discusión' hasta acá, si quieren aumentar su contador de Post's vayan a OffTopic.

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...