Senior Member
Join Date: Jun 2011
Location: C://Windows/Arg/MyHome
|
11-12-2011
, 17:32
[HNS] Crear ronda carnage
|
#1
|
[TUT HNS] CREAR RONDA CARNAGE
• Bueno, me decidi a hacer este tutorial porque en varios servidores vi rondas carnage, tal vez no son iguales a este pero esto es lo mas basico que digamos... Espero que el tutorial alla salido bien se los hire explicando parte a parte
• En este pedazito les muestro que includes usamos, el nombre del plugin, la version, el autor, y un prefijo. Ademas creamos una variable para 32 players, 2 constancias para las CFG's y una variable para remplazar el "get_maxplayers()". En el "plugin_init()" registramos el plugin version & autor, registramos los eventos de INICIO & FIN de ronda.
PHP Code:
#include < amxmodx > #include < amxmisc > #include < cstrike > #include < fun >
new PluginName[ ] = "[TUT] Crear Carnage Round" new PluginVersion[ ] = "1.0" new PluginAutor[ ] = "Chatto'" new szPrefix[ ] = "[CarnageRound]"
new gCarnageCount[33]; new const gCfgCarnage[] = "cstrike/carnage.cfg" new const gCfgNormal[] = "cstrike/publico.cfg" new g_iMaxPlr
public plugin_init() { register_plugin( PluginName, PluginVersion, PluginAutor ) register_logevent("RoundStart", 2, "1=Round_Start") register_logevent("RoundEnd", 2, "1=Round_End") g_iMaxPlr = get_maxplayers(); }
• Continuando, aqui hacemos el public de INICIO de ronda en el que hacemos un loop con todos los players y ponemos que si la variable "gCarnageCount" que si sabemos un poco de ingles sabremos que significaria Contador Cargane, bueno, ponemos que si el Contador no es igual a 5, nos dara un hud mensaje diciendo cuantas rondas van transcurriendo y cuantas son para la ronda cargane, y ejecutaremos la cfg normal pero tambien ponemos que de lo contrario si el contador carnage es igual a 5 nos dara un hud mensaje de anuncio de que estamos por jugar la ronda carnage, creamos la funcion para dar los items a los jugadores, ejecutaremos la cfg carnage solo si el contador esta en 0, y a la variable del contador la pondremos en 0 para que pueda volver a empezar y sumar, ¿Que pasaria si no ponemos en 0 el cotador? Pues simple el contador seguira avanzando 6, 7, 8, 9... y nunca se repetira la ronda carnage ya que pusimos que si el contador es IGUAL a 5, significa que solo cuando el contador equivalga a 5 se ejecutara.
PHP Code:
public RoundStart() { for( new i = 1; i <= g_iMaxPlr; i++ ) { if( gCarnageCount[i] == 0 ) server_cmd( "exec %s", gCfgNormal ) if( gCarnageCount[i] != 5 ) { set_hudmessage(255, 212, 0, 0.18, 0.15, 1, 6.0, 12.0) show_hudmessage( i, "%s^nContador cargane %d/5 rondas ", szPrefix, gCarnageCount[i] ) } else if( gCarnageCount[i] == 5 ) { server_cmd( "exec %s", gCfgCarnage ) set_hudmessage(255, 212, 0, 0.18, 0.15, 1, 6.0, 12.0) show_hudmessage( i, "ESTAS POR JUGAR^n%s", szPrefix ) set_task( 12.0, "give_items", i ) gCarnageCount[i] = 0; } } }
• En el evento de FINALIZACION de ronda es muy simple, haremos un loop con todos los players y sumaremos en 1 la variable del contador.
PHP Code:
public RoundEnd() { for( new i = 1; i <= g_iMaxPlr; i++ ) { gCarnageCount[i]++; } }
• Para finalizar nos falta agregar la funcion que haria "give_items" que definimos en el evento de inicio de ronda. Aqui es muy simple, solo tenemos que darle las armas y setearle a los jugadores la vida o las cosas que quieramos, yo por ej les di Awp, Cuchillo, Granada explosiva y les di 150 de vida & 150 de armor. Pero antes de darles todo como esto es para HNS debemos quitarles las armas a todos por eso use "strip_user_weapons" para quitar las granadas de los terroristas y los cuchillos de los policias y luego le di a todos lo mismo.
PHP Code:
public give_items(id) { strip_user_weapons(id) give_item( id, "weapon_awp" ) give_item( id, "weapon_knife" ) give_item( id, "weapon_hegrenade" ) set_user_health( id, 150 ) set_user_armor( id, 150 ) cs_set_user_bpammo( id, CSW_AWP, 10 ) }
¿Para que son las Cfg's?
Muy simple, en las cfgs como es para un servidor de Hide'n'Seek si tenemos el HNS SHOP o el Parachute instalado en la cfg de cargane los desactivamos para que no puedan usarlos durante esa ronda y luego en la cfg normal volvemos a activarlo. Tambien pueden usarlas para cambiar el tiempo de duracion, gravedad, airaccelerate, accelerate, etc..
Bueno eso fue todo amigos de AlliedModders, espero que este bien explicado y que les guste. Saludos y suerte a todos!
__________________
[LaserMines] - Creador & Porcentaje de vida: Click Me
Last edited by Chaato; 11-12-2011 at 18:28.
|
|