19/05/2020, 11:37 AM
Este es un carnage round que yo mismo hice... Es simple y capaz tenga uno que otro bug, porque este lo hice también los primeros días de mi baneo... Pues estaba aprendiendo como hacer las cosas esas de que si enums y eso, en fin. Si encuentran un bug o algo que ven al pedo me avisan y lo fixeo de una
Saludos.
Código PHP:
#include <amxmodx>
#include <hamsandwich>
#include <dhudmessage>
#include <fun>
#include <cstrike>
#define TASK_C 1234
#define TASK_D 1235
#define ID_TASK (taskid - TASK_C)
#define ID_TASKD (taskid - TASK_D)
#define PLUGIN "Mi Primer Carnage!"
#define VERSION "1.0"
#define AUTHOR "Nazy.-"
/*
- QUIERO ACLARAR QUE ESTOS SON MIS PRIMERAS VECES, POR LO TANTO
- PUEDE ESTAR MUY INCOMPLETO, LLENO DE BUG SY LO QUE USTEDES QUIERAN
- PERO ME SIENTO ORGULLOSO DE MI MISMO POR HACER ALGO ASI DE COMPLEJO
- Y SE QUE SI PUEDO CON ESTO VOY A PODER CON MUCHOS DESAFIOS MAS!
- MUCHAS GRACIAS A ANDRES POR AYUDARME Y ZOOLK POR APOYARME! <3
*/
new g_iRoundCarnage, g_iHudMsg, g_iHudMsg2, g_isCarnage, g_maxplayers
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_logevent("logevent_round_end", 2, "1=Round_End")
/** FUNCIONES BLOQUEADAS **/
register_clcmd("buy", "block")
register_clcmd("buyammo1", "block")
register_clcmd("buyammo2", "block")
register_clcmd("buyequip", "block")
register_clcmd("cl_autobuy", "block")
register_clcmd("cl_rebuy", "block")
register_clcmd("cl_setautobuy", "block")
register_clcmd("cl_setrebuy", "block")
/** FUNCIONES BLOQUEADAS **/
g_maxplayers = get_maxplayers();
g_iHudMsg = CreateHudSyncObj()
g_iHudMsg2 = CreateHudSyncObj()
g_iRoundCarnage = 2 // Definimos cuantas rondas queremos para el Carnage
}
public event_round_start(id) {
set_task(0.50, "iCarnage", id+TASK_C, _, _, "b")
--g_iRoundCarnage
}
public iCarnage(taskid, id) {
if(g_iRoundCarnage >= 1) {
new g_iRoundCounter[] = "s" // Ronda, Rondas
new g_iRoundString[] = "n" // Falta, Faltan
if(g_iRoundCarnage <= 1)
g_iRoundCounter = ""
g_iRoundString = ""
set_hudmessage(10, 255, 10, -1.0, 0.80, 1, 6.0, 1.0 )
ShowSyncHudMsg(ID_TASK, g_iHudMsg, "[ Falta%s %d ronda%s para el Carnage ]", g_iRoundString, g_iRoundCarnage, g_iRoundCounter)
}
if(g_iRoundCarnage < 1) {
start_carnage_round();
}
return PLUGIN_HANDLED;
}
public start_carnage_round() {
g_iRoundCarnage = 2
g_isCarnage = 1
remove_task(1234);
for(new i = 1; i <= g_maxplayers; i++) {
if(is_user_connected(i) && is_user_alive(i)) {
strip_user_weapons(i)
}
}
/** ARMAS DEL JUGADOR **/
for(new i = 1; i <= g_maxplayers; i++) {
switch(random_num(0, 4)) {
case 0: {
give_item(i, "weapon_deagle")
cs_set_user_bpammo(i, CSW_DEAGLE, 100)
}
case 1: {
give_item(i, "weapon_ak47")
cs_set_user_bpammo(i, CSW_AK47, 150)
}
case 2: {
give_item(i, "weapon_awp")
give_item(i, "weapon_knife")
cs_set_user_bpammo(i, CSW_AWP, 70)
}
case 3: {
give_item(i, "weapon_mp5")
cs_set_user_bpammo(i, CSW_MP5NAVY, 180)
}
case 4: {
give_item(i, "weapon_m3")
give_item(i, "weapon_knife")
cs_set_user_bpammo(i, CSW_M3, 130)
}
}
}
ShowDHUD_Message(0, { 255, 70, 70 }, -1.0, 0.30, 1.0, "EL MODO CARNAGE A COMENZADO!!!")
set_task(1.0, "iCarnageInfo", 1235, _, _, "b")
return PLUGIN_HANDLED;
}
public iCarnageInfo(taskid) {
set_hudmessage(50, 150, 200, -1.0, 0.70, 1, 6.0, 1.0)
ShowSyncHudMsg(ID_TASKD, g_iHudMsg2, "Estas en el Modo Carnage!")
}
public logevent_round_end() {
if(g_isCarnage == 1) {
g_isCarnage = 0
for(new i = 0; i <= g_maxplayers; i++) {
strip_user_weapons(i)
give_item(i, "weapon_knife")
}
remove_task(1235);
}
return PLUGIN_HANDLED;
}
public block(id) {
if(g_isCarnage == 1) {
return PLUGIN_HANDLED;
}
// Si el jugador intenta: Comprar, AutoComprar, ReComprar, Dropear, se lo va a negar si es la ronda carnage.
return PLUGIN_CONTINUE;
}
/** STOCK: Gracias CsAxel **/
stock ShowDHUD_Message(id, iColors[3] = { 255, 255, 255 }, Float:fPosX = -1.0, Float:fPosY = -1.0, Float:fTime = 0.0, szMessage[])
{
set_dhudmessage(0, 0, 0, -1.00, -1.00, 0, 0.00, 0.00, 0.00, 0.00, false);
for (new i = 0; i < 8; i++) show_dhudmessage(id, "");
set_dhudmessage(iColors[0], iColors[1], iColors[2], fPosX, fPosY, 0, 0.0, fTime, 1.0, 2.0, false);
show_dhudmessage(id, szMessage);
}
Saludos.