SniperWolf Posted May 28, 2013 Share Posted May 28, 2013 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
Plate Posted May 28, 2013 Share Posted May 28, 2013 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
Lucario Posted May 28, 2013 Share Posted May 28, 2013 function darArma (thePlayer) giveWeapon (thePlayer, 28, 1000) end addCommandHandler ("uzi", darArma) Reemplaza el modelo que quieras, y el comando a cual quieras Link to comment
SniperWolf Posted May 28, 2013 Author Share Posted May 28, 2013 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
BorderLine Posted May 29, 2013 Share Posted May 29, 2013 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
Alexs Posted May 29, 2013 Share Posted May 29, 2013 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
Lucario Posted May 29, 2013 Share Posted May 29, 2013 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 , la verdad quedo bien grande y bueno Link to comment
Alexs Posted May 29, 2013 Share Posted May 29, 2013 Te has motivado haciendo todo ese codigo , la verdad quedo bien grande y bueno El script fue rápido y la tabla ya la tenia hace tiempo hecha. Link to comment
Sensacion Posted May 30, 2013 Share Posted May 30, 2013 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
Alexs Posted May 30, 2013 Share Posted May 30, 2013 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 45combat shotgunrocket launcherrocket launcher hsfire extinguisher Ademas de que escribir los nombres en español es mas sencillo. Link to comment
Sensacion Posted May 30, 2013 Share Posted May 30, 2013 (edited) 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 45combat shotgunrocket launcherrocket launcher hsfire extinguisher 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 Edited May 30, 2013 by Guest Link to comment
Alexs Posted May 30, 2013 Share Posted May 30, 2013 Si te vas a complicar haciendo algo así, mejor deja el mio. Link to comment
Castillo Posted May 30, 2013 Share Posted May 30, 2013 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
Alexs Posted May 30, 2013 Share Posted May 30, 2013 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
Sensacion Posted May 30, 2013 Share Posted May 30, 2013 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. Link to comment
Alexs Posted May 30, 2013 Share Posted May 30, 2013 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
Sensacion Posted May 30, 2013 Share Posted May 30, 2013 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
Alexs Posted May 30, 2013 Share Posted May 30, 2013 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
Recommended Posts