[Guia] L4D mod para zp Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Zplague

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Seu portal de Zombie Plague no Brasil

Zumbis Online

Últimos assuntos

» [ANÚNCIO] Alguem vivo ai?
por [Dk]Serial-Killer Ontem à(s) 12:46 am

» The Fen1xS CLan | Zombie Plague | [XP/LEVELS] #2024
por hevy 5/7/2024, 8:28 pm

»
por Eclipse 29/2/2024, 12:30 am

» [Plugin] /vm Com Status
por Isr7 4/6/2023, 3:24 pm

» Alguém pra manter um servidor comigo?
por Isr7 3/6/2023, 4:52 pm

» Alguém querendo criar um servidor de zp? eu pago a host quem quiser deixar o discord ai Isr7#6920
por Isr7 3/6/2023, 3:18 pm

» PEDIDO: Multijump pros VIP
por Madness 15/3/2023, 3:44 pm

» [ZP] Modo padre para 5.0
por XperitosEspetinho123 15/7/2022, 3:31 pm

» [KZ] Servidores de cs 1.6
por [Dk]Serial-Killer 7/5/2022, 4:12 am

» [PLUGIN BY SKVD & WILLIAN] SHOP DE FANTASIAS
por dushowW 23/7/2020, 5:44 pm

Os membros mais ativos da semana

Frases filosóficas Zplague:

....

Google Adsense

Estatísticas

Os nossos membros postaram um total de 38142 mensagens em 6680 assuntos

Temos 2796 usuários registrados

O último membro registrado é zmplugins - Henrique


    [Guia] L4D mod para zp

    Junin
    Junin
    Administrador


    Nick : jr_acn
    Masculino Número de Mensagens : 1988
    Ammo Packs : 4615
    Honra : 149
    Data de inscrição : 12/03/2009

    [Guia] L4D mod para zp Empty [Guia] L4D mod para zp

    Mensagem por Junin 19/6/2012, 9:11 pm

    Código:
    /*  ///////////////////////////||\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
            ||                        ||
            || Guia de : Modo L4D Mejorado            ||
            ||  Autor : BlackFur                    ||
            ||  Plugin Necesitado : ZP 4.3                                                                  ||
            ||                        ||
            \\\\\\\\\\\\\\\\\\\\\\\\\\\||//////////////////////////////////////
           
    */
    "Por Razones de tiempo no le pude agregar Cvars
    "Para hacer este L4D se necesita tener el L4D basico
    "Se recomienda leer no hacer copy y paste , si se me
    "Fue algo me dicen y lo agrego/* Se va a [Global Variables] y registran 4 variables ( 1 para cada personaje),
    en este caso las use con el respectivo nombre de cada uno de los L4D */
    new g_bill[33] , g_zoey[33] , g_francis[33] , g_luis[33]/* Ahora las setearemos en falso para eliminar algun posible bug*/
    /* Ahora abajo de g_survivor[id] = false , ponemos lo siguiente*/
    g_luis[id] = false
    g_zoey[id] = false
    g_francis[id] = false
    g_bill[id] = false/*En total hay 3
    Para hacer lo siguiente primero busquen todos los humanme y le agregan 4 numeros 0 ejemplo
    humanme(id , 1 , 0) y lo cambian por humanme( id , 1 , 0 , 0 , 0 , 0 , 0)/* Ahora se van a */
    humanme(id, survivor, silentmode)/*y lo remplazan por */
    humanme(id, survivor, silentmode , bill , francis , zoey , luis)/* Luego adentro de humanme ponemos lo siguiente */
    if (bill)
    {
    g_bill[id] = true // Le seteamos la variable en true para usar luego
     
    g_weapon[id] = 0
     
    zp_colored_print(id , "^x04[ZP]^x01 Has Sido Escojido Como^x04 Bill^x01 , Refugiate Con Tus Companeros") // Le mandamos un mensaje diciendelo que sobreviviente es
    zp_colored_print(id , "^x04[ZP]^x01 Has Sido Escojido Como^x04 Bill^x01 , Refugiate Con Tus Companeros") // Le mandamos un mensaje diciendelo que sobreviviente es
    zp_colored_print(id , "^x04[ZP]^x01 Has Sido Escojido Como^x04 Bill^x01 , Refugiate Con Tus Companeros") // Le mandamos un mensaje diciendelo que sobreviviente es
     
    fm_set_user_health(id , 200 * fnGetAlive())
     
    g_canbuy[id] = false // Para que no pueda comprar armas
    fm_strip_user_weapons(id) // Le removemos todas las armas y les damos las de abajo
    fm_give_item(id, "weapon_knife")
    fm_give_item(id, "weapon_m3")
    fm_give_item(id, "weapon_mp5navy")
    fm_give_item(id, "weapon_m4a1")
    fm_give_item(id, "weapon_usp")
    fm_give_item(id, "weapon_g3sg1")
    fm_give_item(id, "weapon_hegrenade")
    fm_give_item(id, "weapon_hegrenade")
    fm_give_item(id, "weapon_hegrenade")
    fm_give_item(id, "weapon_flashbang")
    cs_set_user_bpammo(id, CSW_HEGRENADE, 3)
    cs_set_user_bpammo(id, CSW_FLASHBANG, 3)
    turn_off_flashlight(id) // Esto es para la linterna en realidad no se muy bien para que sirve
    }
     
    if (francis)
    {
    g_francis[id] = true
     
    zp_colored_print(id , "^x04[ZP]^x01 Has Sido Escojido Como^x04 Francis^x01 , Refugiate Con Tus Companeros")
    zp_colored_print(id , "^x04[ZP]^x01 Has Sido Escojido Como^x04 Francis^x01 , Refugiate Con Tus Companeros")
    zp_colored_print(id , "^x04[ZP]^x01 Has Sido Escojido Como^x04 Francis^x01 , Refugiate Con Tus Companeros")
     
    g_weapon[id] = 0
     
    fm_set_user_health(id , 200 * fnGetAlive())
     
    g_canbuy[id] = false
    fm_give_item(id, "weapon_knife")
    fm_give_item(id, "weapon_m3")
    fm_give_item(id, "weapon_mp5navy")
    fm_give_item(id, "weapon_m4a1")
    fm_give_item(id, "weapon_usp")
    fm_give_item(id, "weapon_g3sg1")
    fm_give_item(id, "weapon_hegrenade")
    fm_give_item(id, "weapon_hegrenade")
    fm_give_item(id, "weapon_hegrenade")
    fm_give_item(id, "weapon_flashbang")
    cs_set_user_bpammo(id, CSW_HEGRENADE, 3)
    cs_set_user_bpammo(id, CSW_FLASHBANG, 3)
    turn_off_flashlight(id)
    if (g_isbot[id]) fm_set_bot_nvg(id, 1);
    }
     
    if (zoey)
    {
    g_zoey[id] = true
    g_weapon[id] = 0
    zp_colored_print(id , "^x04[ZP]^x01 Has Sido Escojido Como^x04 Zoey^x01 , Refugiate Con Tus Companeros")
    zp_colored_print(id , "^x04[ZP]^x01 Has Sido Escojido Como^x04 Zoey^x01 , Refugiate Con Tus Companeros")
    zp_colored_print(id , "^x04[ZP]^x01 Has Sido Escojido Como^x04 Zoey^x01 , Refugiate Con Tus Companeros")
     
    fm_set_user_health(id , 200 * fnGetAlive())
     
    g_canbuy[id] = false
    fm_strip_user_weapons(id)
    fm_give_item(id, "weapon_knife")
    fm_give_item(id, "weapon_m3")
    fm_give_item(id, "weapon_mp5navy")
    fm_give_item(id, "weapon_m4a1")
    fm_give_item(id, "weapon_usp")
    fm_give_item(id, "weapon_g3sg1")
    fm_give_item(id, "weapon_hegrenade")
    fm_give_item(id, "weapon_hegrenade")
    fm_give_item(id, "weapon_hegrenade")
    fm_give_item(id, "weapon_flashbang")
    cs_set_user_bpammo(id, CSW_HEGRENADE, 3)
    cs_set_user_bpammo(id, CSW_FLASHBANG, 3)
    turn_off_flashlight(id)
    if (g_isbot[id]) fm_set_bot_nvg(id, 1);
    }
     
    if (luis)
    {
    g_luis[id] = true
     
    zp_colored_print(id , "^x04[ZP]^x01 Has Sido Escojido Como^x04 Luis^x01 , Refugiate Con Tus Companeros")
    zp_colored_print(id , "^x04[ZP]^x01 Has Sido Escojido Como^x04 Luis^x01 , Refugiate Con Tus Companeros")
    zp_colored_print(id , "^x04[ZP]^x01 Has Sido Escojido Como^x04 Luis^x01 , Refugiate Con Tus Companeros")
     
    fm_set_user_health(id , 200 * fnGetAlive())
     
    g_canbuy[id] = false
    fm_set_user_health( id , 300 *  fnGetAlive())
    fm_strip_user_weapons(id)
    fm_give_item(id, "weapon_knife")
    fm_give_item(id, "weapon_m3")
    fm_give_item(id, "weapon_mp5navy")
    fm_give_item(id, "weapon_m4a1")
    fm_give_item(id, "weapon_usp")
    fm_give_item(id, "weapon_g3sg1")
    fm_give_item(id, "weapon_hegrenade")
    fm_give_item(id, "weapon_hegrenade")
    fm_give_item(id, "weapon_hegrenade")
    fm_give_item(id, "weapon_flashbang")
    cs_set_user_bpammo(id, CSW_HEGRENADE, 3)
    cs_set_user_bpammo(id, CSW_FLASHBANG, 3)
    set_task(0.1, "l4d_aura", id)
    turn_off_flashlight(id)
    if (g_isbot[id]) fm_set_bot_nvg(id, 1);
    }/* Ahora nos vamos a [Menu Handlers] y en menu_game cambiamos*/
    case 1:
    {
    if (get_pcvar_num(cvar_extraitems))
    {
      // Check whether the player is able to buy anything
      if (is_user_alive(id))
      show_menu_extras(id)
      else
      zp_colored_print(id, "^x04[ZP]^x01 %L", id ,"CMD_NOT")
    }
    else
      zp_colored_print(id, "^x04[ZP]^x01 %L", id ,"CMD_NOT_EXTRAS")
    }/* Por Esto Basicamente si eres uno de los l4d no podras comprar item */
    case 1: // Extra Items
    {
    // Extra items enabled?
     
    if(!g_l4dround) // Variable sacada del MODO L4D BASICO por eso lo pedi
    {
      if (get_pcvar_num(cvar_extraitems))
      {
      // Check whether the player is able to buy anything
      if (is_user_alive(id))
            show_menu_extras(id)
      else
            zp_colored_print(id, "^x04[ZP]^x01 %L", id ,"CMD_NOT")
      }
      else
      zp_colored_print(id, "^x04[ZP]^x01 %L", id ,"CMD_NOT_EXTRAS")
    }
    }
    /////////////////////////////////////////////////////////////////////////////////////////////////////* Ahora Remplazan */
    else if ((mode == MODE_NONE && (!preventconsecutive || g_lastmode != MODE_L4D) && random_num(1, get_pcvar_num(cvar_l4dchance)) == get_pcvar_num(cvar_l4d) && floatround((iPlayersnum-2)*get_pcvar_float(cvar_l4dratio), floatround_ceil) >= 1 && iPlayersnum >= get_pcvar_num(cvar_l4dminplayers)) || mode == MODE_L4D)//[registramos si no es alguno de los otros modos realiza una pregunta si es compatible con todas las cvars creadas por nosotros (pd. pcvar_float es una cvar permanente, pcvar_num es una cvar numerica)]
    {
    g_l4dround = true
    g_swarmround = true
    for (id = 1; id <= g_maxplayers; id++)
    {
     
    if (!is_user_alive(id))
      continue;
     
    if (g_zombie[id])
      continue;
     
    zombieme(id, 0, 0, 1)
    }for ( new i = 0; i < 4; i++ )
    {
      id = fnGetRandomAlive( random_num( 1, iPlayersnum ) )
      if ( g_zombie[id] )
      humanme( id, 0 )
      else
      i--
    }
     
    PlaySound(sound_plague[random_num(0, sizeof sound_plague -1)]);
     
    set_hudmessage(0, 50, 200, -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
    ShowSyncHudMsg(0, g_MsgSync, "%L", LANG_PLAYER, "NOTICE_L4D")
     
    ExecuteForward(g_fwRoundStart, g_fwDummyResult, MODE_L4D, 0);
    }
     
    /* por */
    else if ((mode == MODE_NONE && (!get_pcvar_num(cvar_preventconsecutive) || g_lastmode != MODE_L4D) && random_num(1, get_pcvar_num(cvar_l4dchance)) == get_pcvar_num(cvar_l4d) && floatround((iPlayersnum-2)*get_pcvar_float(cvar_l4dratio), floatround_ceil) >= 1 && iPlayersnum >= get_pcvar_num(cvar_l4dminplayers)) || mode == MODE_L4D)
    {
              g_swarmround = true
    g_l4dround = true
     
    for (id = 1; id <= g_maxplayers; id++)
    {
    if (!is_user_alive(id))
      continue;
                           
    if (g_zombie[id])
      continue;
     
    zombieme(id, 0, 0, 1, 0)
     
    }
             
    for ( new i = 0; i < 1; i++ )
    {
      id = fnGetRandomAlive( random_num( 1, iPlayersnum ) )
     
      if (g_zombie[id])
      {
      humanme(id, 0, 0 , 1 , 0 , 0 , 0) // Convertimo a un zombie en un l4d
      }
      else i--
    }
     
    for ( new i = 0; i < 1; i++ )
    {
      id = fnGetRandomAlive( random_num( 1, iPlayersnum ) )
     
      if (g_zombie[id])
      {
      humanme(id, 0, 0 , 0 , 1 , 0 , 0) // Convertimo a un zombie en un l4d
      }
      else i--
    }
     
    for ( new i = 0; i < 1; i++ )
    {
      id = fnGetRandomAlive( random_num( 1, iPlayersnum ) )
     
      if (g_zombie[id])
      {
      humanme(id, 0, 0 , 0 , 0 , 1 , 0) // Convertimo a un zombie en un l4d
      }
      else i--
    }
     
    for ( new i = 0; i < 1; i++ )
    {
     
      id = fnGetRandomAlive( random_num( 1, iPlayersnum ) )
     
      if (g_zombie[id])
      {
      humanme(id, 0, 0 , 0 , 0 , 0 , 1) // Convertimo a un zombie en un l4d
      }
      else i--
    }
     
    set_hudmessage(0, 50, 200, -1.0, 0.17, 1, 0.0, 5.0, 1.0, 1.0, -1)
    ShowSyncHudMsg(0, g_MsgSync, "%L", LANG_PLAYER, "NOTICE_L4D")
    PlaySound(sound_plague[random_num(0, sizeof sound_plague -1)]);
    ExecuteForward(g_fwRoundStart, g_fwDummyResult, MODE_L4D, 0); // Ejecutamos el Modo L4D
    }
    /* Referente a lo Anterior */humanme(id , 0 , 0 , 1 , 0 , 0 , 0) // Bill
    humanme(id , 0 , 0 , 0 , 1 , 0 , 0) // Francis
    humanme(id , 0 , 0 , 0 , 0 , 1 , 0) // Zoey
    humanme(id , 0 , 0 , 0 , 0 , 0 , 1) // Luis
    /*
    /////////////////////////////////////||\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
              ||Lo que viene abajo no lo podre explicar ya que no se como funcionada cada cosa solo me  ||
              ||guie por lo del survivor.                                                                                                                          ||
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\||////////////////////////////////////////////////////
     
    *//* Primero que todo en zombieplague.ini agregan lo siguiente
    LUIS = [Nombre del Modelo]
    ZOEY = [Nombre del Modelo]
    FRANCIS = [Nombre del Modelo]
    BILL = [Nombre del Modelo]Ahora en Customization vars agregan lo siguiente*/
    new Array:model_bill , Array:model_luis , Array:model_francis , Array:model_zoey
    new Array:g_modelindex_bill , Array:g_modelindex_luis , Array:g_modelindex_francis , Array:g_modelindex_zoey/* en plugin_precache() agregan lo siguiente */
    model_bill = ArrayCreate(32, 1)
    model_zoey = ArrayCreate(32, 1)
    model_francis = ArrayCreate(32, 1)
    model_luis = ArrayCreate(32, 1)
    g_modelindex_bill = ArrayCreate(1, 1)
    g_modelindex_francis = ArrayCreate(1, 1)
    g_modelindex_zoey = ArrayCreate(1, 1)
    g_modelindex_luis = ArrayCreate(1, 1)
     
    for (i = 0; i < ArraySize(model_bill); i++)
    {
      ArrayGetString(model_bill, i, buffer, sizeof buffer - 1)
      format(buffer, sizeof buffer - 1, "models/player/%s/%s.mdl", buffer, buffer)
      ArrayPushCell(g_modelindex_bill, engfunc(EngFunc_PrecacheModel, buffer))
    }
    for (i = 0; i < ArraySize(model_francis); i++)
    {
      ArrayGetString(model_francis, i, buffer, sizeof buffer - 1)
      format(buffer, sizeof buffer - 1, "models/player/%s/%s.mdl", buffer, buffer)
      ArrayPushCell(g_modelindex_francis, engfunc(EngFunc_PrecacheModel, buffer))
    }
    for (i = 0; i < ArraySize(model_zoey); i++)
    {
      ArrayGetString(model_zoey, i, buffer, sizeof buffer - 1)
      format(buffer, sizeof buffer - 1, "models/player/%s/%s.mdl", buffer, buffer)
      ArrayPushCell(g_modelindex_zoey, engfunc(EngFunc_PrecacheModel, buffer))
    }
    for (i = 0; i < ArraySize(model_luis); i++)
    {
      ArrayGetString(model_luis, i, buffer, sizeof buffer - 1)
      format(buffer, sizeof buffer - 1, "models/player/%s/%s.mdl", buffer, buffer)
      ArrayPushCell(g_modelindex_luis, engfunc(EngFunc_PrecacheModel, buffer))
    }/* abajo de else if (equal(key, "SURVIVOR")) agregan lo siguiente */
     
    else if (equal(key, "BILL"))
    {
    // Parse models
    while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
           
      // Add to models array
      ArrayPushString(model_bill , key)
      }
    }
     
    else if (equal(key, "ZOEY"))
    {
      // Parse models
      while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
           
      // Add to models array
      ArrayPushString(model_zoey , key)
      }
    }
     
    else if (equal(key, "FRANCIS"))
    {
      // Parse models
      while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
           
      // Add to models array
      ArrayPushString(model_francis , key)
      }
    }
     
    else if (equal(key, "LUIS"))
    {
      // Parse models
      while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
           
      // Add to models array
      ArrayPushString(model_luis, key)
      }
    }/* No quedaria asi */
    case SECTION_PLAYER_MODELS:
    {
    if (equal(key, "HUMAN"))
    {
      // Parse models
      while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
     
      // Add to models array
      ArrayPushString(model_human, key)
      }
    }
    else if (equal(key, "NEMESIS"))
    {
      // Parse models
      while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
     
      // Add to models array
      ArrayPushString(model_nemesis, key)
      }
    }
    else if (equal(key, "SURVIVOR"))
    {
      // Parse models
      while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
     
      // Add to models array
      ArrayPushString(model_survivor, key)
      }
    }
    else if (equal(key, "BILL"))
    {
      // Parse models
      while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
     
      // Add to models array
      ArrayPushString(model_bill , key)
      }
    }
    else if (equal(key, "ZOEY"))
    {
      // Parse models
      while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
     
      // Add to models array
      ArrayPushString(model_zoey , key)
      }
    }
    else if (equal(key, "FRANCIS"))
    {
      // Parse models
      while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
     
      // Add to models array
      ArrayPushString(model_francis , key)
      }
    }
    else if (equal(key, "LUIS"))
    {
      // Parse models
      while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
     
      // Add to models array
      ArrayPushString(model_luis, key)
      }
    }
    else if (equal(key, "ADMIN ZOMBIE"))
    {
      // Parse models
      while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
     
      // Add to models array
      ArrayPushString(model_admin_zombie, key)
      }
    }
    else if (equal(key, "ADMIN HUMAN"))
    {
      // Parse models
      while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
     
      // Add to models array
      ArrayPushString(model_admin_human, key)
      }
    }
    else if (equal(key, "SAME MODELS FOR ALL"))
    g_same_models_for_all = str_to_num(value)
     
    else if (g_same_models_for_all && equal(key, "ZOMBIE"))
    {
      // Parse models
      while (value[0] != 0 && strtok(value, key, sizeof key - 1, value, sizeof value - 1, ','))
      {
      // Trim spaces
      trim(key)
      trim(value)
     
      // Add to models array
      ArrayPushString(g_zclass_playermodel, key)
     
      // Precache model and retrieve its modelindex
      formatex(linedata, sizeof linedata - 1, "models/player/%s/%s.mdl", key, key)
      ArrayPushCell(g_zclass_modelindex, engfunc(EngFunc_PrecacheModel, linedata))
      }
    }
    }/* Ahora en humanme borran todo lo siguiente */
    if (g_handle_models_on_separate_ent)
    {
      // Set the right model
      if (g_survivor[id])
      {
      iRand = random_num(0, ArraySize(model_survivor) - 1)
      ArrayGetString(model_survivor, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
      if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_survivor, iRand))
      }
      else
      {
      if (get_pcvar_num(cvar_adminmodelshuman) && (get_user_flags(id) & g_access_flag[12]))
      {
            iRand = random_num(0, ArraySize(model_admin_human) - 1)
            ArrayGetString(model_admin_human, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_admin_human, iRand))
      }
      else
      {
            iRand = random_num(0, ArraySize(model_human) - 1)
            ArrayGetString(model_human, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_human, iRand))
      }
      }
     
      // Set model on player model entity
      fm_set_playermodel_ent(id)
     
      // Set survivor glow / remove glow on player model entity, unless frozen
      if (!g_frozen[id])
      {
      if (g_survivor[id] && get_pcvar_num(cvar_survglow))
            fm_set_rendering(g_ent_playermodel[id], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 25)
      else
            fm_set_rendering(g_ent_playermodel[id])
      }
    }
    else
    {
      // Get current model for comparing it with the current one
      fm_get_user_model(id, currentmodel, sizeof currentmodel - 1)
     
      // Set the right model, after checking that we don't already have it
      if (g_survivor[id])
      {
      for (i = 0; i < ArraySize(model_survivor); i++)
      {
            ArrayGetString(model_survivor, i, tempmodel, sizeof tempmodel - 1)
            if (equal(currentmodel, tempmodel)) already_has_model = true
      }
     
      if (!already_has_model)
      {
            iRand = random_num(0, ArraySize(model_survivor) - 1)
            ArrayGetString(model_survivor, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_survivor, iRand))
      }
      }
      else
      {
      if (get_pcvar_num(cvar_adminmodelshuman) && (get_user_flags(id) & g_access_flag[12]))
      {
            for (i = 0; i < ArraySize(model_admin_human); i++)
            {
            ArrayGetString(model_admin_human, i, tempmodel, sizeof tempmodel - 1)
            if (equal(currentmodel, tempmodel)) already_has_model = true
            }
     
            if (!already_has_model)
            {
            iRand = random_num(0, ArraySize(model_admin_human) - 1)
            ArrayGetString(model_admin_human, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_admin_human, iRand))
            }
      }
      else
      {
            for (i = 0; i < ArraySize(model_human); i++)
            {
            ArrayGetString(model_human, i, tempmodel, sizeof tempmodel - 1)
            if (equal(currentmodel, tempmodel)) already_has_model = true
            }
     
            if (!already_has_model)
            {
            iRand = random_num(0, ArraySize(model_human) - 1)
            ArrayGetString(model_human, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_human, iRand))
            }
     
      }
      }
     
    /* y pegan esto */if(!g_l4dround)
    {
      if (g_handle_models_on_separate_ent)
      {
      // Set the right model
      if (g_survivor[id])
      {
            iRand = random_num(0, ArraySize(model_survivor) - 1)
            ArrayGetString(model_survivor, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_survivor, iRand))
      }
      else
      {
            if (get_pcvar_num(cvar_adminmodelshuman) && (get_user_flags(id) & g_access_flag[12]))
            {
            iRand = random_num(0, ArraySize(model_admin_human) - 1)
            ArrayGetString(model_admin_human, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_admin_human, iRand))
            }
            else
            {
            iRand = random_num(0, ArraySize(model_human) - 1)
            ArrayGetString(model_human, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_human, iRand))
            }
      }
     
      // Set model on player model entity
      fm_set_playermodel_ent(id)
     
      // Set survivor glow / remove glow on player model entity, unless frozen
      if (!g_frozen[id])
      {
            if (g_survivor[id] && get_pcvar_num(cvar_survglow))
            fm_set_rendering(g_ent_playermodel[id], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 25)
            else
            fm_set_rendering(g_ent_playermodel[id])
      }
      }
      else
      {
      // Get current model for comparing it with the current one
      fm_get_user_model(id, currentmodel, sizeof currentmodel - 1)
     
      // Set the right model, after checking that we don't already have it
      if (g_survivor[id])
      {
            for (i = 0; i < ArraySize(model_survivor); i++)
            {
            ArrayGetString(model_survivor, i, tempmodel, sizeof tempmodel - 1)
            if (equal(currentmodel, tempmodel)) already_has_model = true
            }
     
            if (!already_has_model)
            {
            iRand = random_num(0, ArraySize(model_survivor) - 1)
            ArrayGetString(model_survivor, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_survivor, iRand))
            }
      }
      else
      {
            if (get_pcvar_num(cvar_adminmodelshuman) && (get_user_flags(id) & g_access_flag[12]))
            {
            for (i = 0; i < ArraySize(model_admin_human); i++)
            {
              ArrayGetString(model_admin_human, i, tempmodel, sizeof tempmodel - 1)
              if (equal(currentmodel, tempmodel)) already_has_model = true
            }
           
            if (!already_has_model)
            {
              iRand = random_num(0, ArraySize(model_admin_human) - 1)
              ArrayGetString(model_admin_human, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
              if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_admin_human, iRand))
            }
            }
            else
            {
            for (i = 0; i < ArraySize(model_human); i++)
            {
              ArrayGetString(model_human, i, tempmodel, sizeof tempmodel - 1)
              if (equal(currentmodel, tempmodel)) already_has_model = true
            }
           
            if (!already_has_model)
            {
              iRand = random_num(0, ArraySize(model_human) - 1)
              ArrayGetString(model_human, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
              if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_human, iRand))
            }
            }
      }
     
      // Need to change the model?
      if (!already_has_model)
      {
            // An additional delay is offset at round start
            // since SVC_BAD is more likely to be triggered there
            if (g_newround)
            set_task(5.0 * g_modelchange_delay, "fm_user_model_update", id+TASK_MODEL)
            else
            fm_user_model_update(id+TASK_MODEL)
      }
     
      // Set survivor glow / remove glow, unless frozen
      if (!g_frozen[id])
      {
            if (g_survivor[id] && get_pcvar_num(cvar_survglow))
            fm_set_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 25)
            else
            fm_set_rendering(id)
      }
      }
    }
    else
    {
      if (g_handle_models_on_separate_ent)
      {
      if (g_bill[id] && !g_zombie[id])
      {
            iRand = random_num(0, ArraySize(model_bill) - 1)
            ArrayGetString(model_bill , iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_bill, iRand))
      }
      if (g_zoey[id] && !g_zombie[id])
      {
            iRand = random_num(0, ArraySize(model_zoey) - 1)
            ArrayGetString(model_zoey , iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_zoey , iRand))
      }
      if (g_francis[id] && !g_zombie[id])
      {
            iRand = random_num(0, ArraySize(model_francis) - 1)
            ArrayGetString(model_francis, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_francis , iRand))
      }
     
      if (g_luis[id] && !g_zombie[id] )
      {
            iRand = random_num(0, ArraySize(model_luis) - 1)
            ArrayGetString(model_luis , iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_luis, iRand))
      }
     
      if (!g_zombie[id] && !g_zoey[id] && !g_bill[id] && !g_francis[id] && !g_luis[id])
      {
            for (i = 0; i < ArraySize(model_human); i++)
            {
            ArrayGetString(model_human, i, tempmodel, sizeof tempmodel - 1)
            if (equal(currentmodel, tempmodel)) already_has_model = true
            }
     
            if (!already_has_model)
            {
            iRand = random_num(0, ArraySize(model_human) - 1)
            ArrayGetString(model_human, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_human, iRand))
            }
      }
      }
      else
      {
      if (g_bill[id])
      {
            for (i = 0; i < ArraySize(model_bill); i++)
            {
            ArrayGetString(model_bill , i, tempmodel, sizeof tempmodel - 1)
            if (equal(currentmodel, tempmodel)) already_has_model = true
            }
     
            if (!already_has_model)
            {
            iRand = random_num(0, ArraySize(model_bill) - 1)
            ArrayGetString(model_bill, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_bill , iRand))
            }
      }
      if (g_luis[id])
      {
            for (i = 0; i < ArraySize(model_luis); i++)
            {
            ArrayGetString(model_luis, i, tempmodel, sizeof tempmodel - 1)
            if (equal(currentmodel, tempmodel)) already_has_model = true
            }
     
            if (!already_has_model)
            {
            iRand = random_num(0, ArraySize(model_luis) - 1)
            ArrayGetString(model_luis , iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_luis, iRand))
            }
      }
      if (g_francis[id])
      {
            for (i = 0; i < ArraySize(model_francis); i++)
            {
            ArrayGetString(model_francis, i, tempmodel, sizeof tempmodel - 1)
            if (equal(currentmodel, tempmodel)) already_has_model = true
            }
     
            if (!already_has_model)
            {
            iRand = random_num(0, ArraySize(model_francis) - 1)
            ArrayGetString(model_francis, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_francis, iRand))
            }
      }
      if (g_zoey[id])
      {
            for (i = 0; i < ArraySize(model_zoey); i++)
            {
            ArrayGetString(model_zoey, i, tempmodel, sizeof tempmodel - 1)
            if (equal(currentmodel, tempmodel)) already_has_model = true
            }
     
            if (!already_has_model)
            {
            iRand = random_num(0, ArraySize(model_zoey) - 1)
            ArrayGetString(model_zoey, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_zoey, iRand))
            }
      }
     
      if (!g_zombie[id] && !g_zoey[id] && !g_bill[id] && !g_francis[id] && !g_luis[id])
      {
            for (i = 0; i < ArraySize(model_human); i++)
            {
            ArrayGetString(model_human, i, tempmodel, sizeof tempmodel - 1)
            if (equal(currentmodel, tempmodel)) already_has_model = true
            }
     
            if (!already_has_model)
            {
            iRand = random_num(0, ArraySize(model_human) - 1)
            ArrayGetString(model_human, iRand, g_playermodel[id], sizeof g_playermodel[] - 1)
            if (g_set_modelindex_offset) fm_set_user_model_index(id, ArrayGetCell(g_modelindex_human, iRand))
            }
      }
     
      if (!already_has_model)
      {
     
            if (g_newround)
            set_task(5.0 * g_modelchange_delay, "fm_user_model_update", id+TASK_MODEL)
            else
            fm_user_model_update(id+TASK_MODEL)
      }
     
      if (!g_frozen[id])
      {
            if (g_survivor[id] && get_pcvar_num(cvar_survglow))
            fm_set_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 25)
            else
            fm_set_rendering(id)
      }
      }
    }
     
    /* Ahora en check_round(leaving_player) y abajo de */
      if(g_survivor[leaving_player])
      humanme(id, 1 , 0 , 0 , 0 , 0 , 0)
     
    /* Ponen lo siguiente */
      if(g_bill[leaving_player])
      humanme(id, 0, 0 , 1 , 0 , 0 , 0)
     
      if(g_zoey[leaving_player])
      humanme(id, 0, 0 , 0 , 0 , 1 , 0)
     
      if(g_francis[leaving_player])
      humanme(id, 0, 0 , 0 , 1 , 0 , 0)
     
      if(g_luis[leaving_player])
      humanme(id, 0, 0 , 0 , 0 , 0 , 1)
     
    /* Si quieren que tenga balas infinitas se van a */ç
    public event_ammo_x(id)/* y donde dice */
    if (g_survivor[id] ? get_pcvar_num(cvar_survinfammo) : get_pcvar_num(cvar_infammo))
    {
    if (amount < MAXBPAMMO[weapon])
    {
      set_msg_block(g_msgAmmoPickup, BLOCK_ONCE)
      ExecuteHamB(Ham_GiveAmmo, id, MAXBPAMMO[weapon], AMMOTYPE[weapon], MAXBPAMMO[weapon])
      }
    }
    }if (g_survivor[id] ? get_pcvar_num(cvar_survinfammo) : get_pcvar_num(cvar_infammo) || g_l4dround)
    {
    if (amount < MAXBPAMMO[weapon])
    {
      set_msg_block(g_msgAmmoPickup, BLOCK_ONCE)
      ExecuteHamB(Ham_GiveAmmo, id, MAXBPAMMO[weapon], AMMOTYPE[weapon], MAXBPAMMO[weapon])
      }
    }
    }
    /* lo remplazan por /*
    /* Aqui basicamente si se retira algunos de los l4d y es el ultimo se escoje uno al azar para remplazarlo
    por el mismo personaje */
    /*
    Bueno esta seria mi guia como mejorar tu modo l4d
    Personalmente yo soy muy desordenado asi que si hay alguien
    Que pueda ordernas mi post se lo agradeceria mucho
    La parte de los modelos no la pude explicar muy bien ya que
    Solo me guie por lo del survivor ( estuve como 2 horas) y sin
    Guias previamente leidaspara mas informacion :
    el_caritax@hotmail.com
     
    o en Facebook :
     
    Angel Jesus Araya Carcamo

      Data/hora atual: 26/11/2024, 11:47 am