Jump to content

NemeSS.

Miembro
  • Contenido

    889
  • Ingreso

  • Días ganados

    16

Todo lo publicado por NemeSS.

  1. Como dije es una base y no es mio. /* Version: 1.1b Party System - Developed by Thizk Contact: waiting4youu@hotmail.com Commands: say /ps say_team /ps */ #include #include #include new const Plugin[] = "Party System" new const Version[] = "1.1b" new const Author[] = "Thizk" new const ps[] = "!y[!gPS!y]" // Prefix #define MAX_PLAYERS 32 // MAX Players #define MAX_LEN_MENU 512 // MAX Len Menu #define LEN 32 // MAX Len Name #define MAX_MEMBERS 3 // MAX Members #define is_party_member(%1) ( nPartyType[ %1 ] == PARTY_MEMBER ) // is Member #define is_party_leader(%1) ( nPartyType[ %1 ] == PARTY_LEADER ) // is Leader enum { PARTY_NOT = 0, PARTY_LEADER, PARTY_MEMBER } static nMember[ LEN ] // Member Name static nLeader[ LEN ] // Leader Name static nCount = 0; new nParty[ MAX_PLAYERS + 1 ] // Party ID new nPartyType[ MAX_PLAYERS + 1] // Party Type public plugin_init() { register_plugin( Plugin, Version, Author ) // [ Menus ] register_menucmd( register_menuid( "Party Menu" ) , 1023, "action_menu" ) // [ Show Party Menu ] register_clcmd("say /ps","clcmd_show" ) register_clcmd("say_team /ps", "clcmd_show" ) // [ Check Names ] register_forward( FM_ClientUserInfoChanged , "fw_ClientInfoChange" ) } public clcmd_show( id ) { if(is_user_connected(id) ){ show_menu_party( id ) } return PLUGIN_HANDLED; } show_menu_party( id ) { static Menu[ MAX_LEN_MENU ] , iLen , i; new keys = (1<<9) iLen = formatex( Menu, sizeof Menu - 1 ,"\dParty \rMenu \w| \dVersion: \w%s \w| \dAuthor: \w%s^n^n", Version, Author) switch( nPartyType[ id ] ) { case PARTY_NOT: { iLen += formatex( Menu[ iLen ], sizeof Menu - iLen ,"\rYou are not in Party^n^n" ) iLen += formatex( Menu[ iLen ], sizeof Menu - iLen ,"\r4. \wCreate Party^n^n" ) keys |= (1 << 5 -2) } case PARTY_LEADER: { iLen += formatex( Menu[ iLen ], sizeof Menu - iLen ,"\rLeader: \y%s^n^n\rMembers:",nLeader ) for(i = 1; i <= MAX_PLAYERS; i++) { if( is_party_member(i) ) { get_user_name( i , nMember, charsmax( nMember ) ) iLen += formatex( Menu[ iLen ], sizeof Menu - iLen ,"^n\d%s", nMember ) keys |= (1 << nCount) } } iLen += formatex( Menu[ iLen ] , sizeof Menu - iLen ,"^n^n\r4. \wAdd Member^n" ) iLen += formatex( Menu[ iLen ] , sizeof Menu - iLen ,"\r5. \wDelete Party^n^n") keys |= (1 << 5 -2 | 1 << 5 -1) } case PARTY_MEMBER: { iLen += formatex( Menu[ iLen ], sizeof Menu - iLen ,"\rLeader: \y%s^n^n\rMembers:",nLeader ) for(i = 1; i <= MAX_PLAYERS; i++) { if( is_party_member(i) ) { get_user_name( i , nMember, charsmax( nMember ) ) iLen += formatex( Menu[ iLen ], sizeof Menu - iLen ,"^n\d%s", nMember ) } } iLen += formatex( Menu[ iLen ], sizeof Menu - iLen ,"^n^n\r5. \wExit Party^n^n") keys |= (1 << 5 -1) } } iLen += formatex( Menu[iLen], sizeof Menu - iLen,"\r0. \wExit") show_menu(id , keys , Menu , -1 , "Party Menu" ); } public action_menu( id , key ) { new target, body get_user_aiming( id , target, body ) switch( key ) { case 0..2: return PLUGIN_HANDLED; /* PLAYERS INFO COMMING SOON & RETIRE MEMBER */ case 3: { if( nParty[ target ] ) { ps_colored( id , "%s The Player Is Already In Party" , ps ) show_menu_party( id ) return PLUGIN_HANDLED; } if( !target ) { ps_colored( id , "%s Invalid Player" , ps ) show_menu_party( id ) return PLUGIN_HANDLED; } while( nCount >= MAX_MEMBERS ) { ps_colored( id , "%s Max Members !g%d!y/!g%d",ps , nCount , MAX_MEMBERS ) show_menu_party( id ) return PLUGIN_HANDLED; } switch( nPartyType[ id ] ) { case PARTY_NOT: add_member( id , target , random( 100 ) ) case PARTY_LEADER: add_member( id , target , nParty[ id ] ) } } case 4:PartyClear( id ) } show_menu_party( id ) return PLUGIN_HANDLED; } public add_member( leader , member , party ) { if( !nParty[ leader ] ) { nPartyType[ leader ] = PARTY_LEADER; nPartyType[ member ] = PARTY_MEMBER; nParty[ leader ] = party; nParty[ member ] = party; new mName[ LEN ], sName[ LEN ] get_user_name(leader, mName, charsmax(mName)); get_user_name(member, sName, charsmax(sName)); ps_colored( leader,"%s The !gParty !yWas Created! | Leader: !g%s !y- Member: !g%s", ps, mName,sName ) copy( nLeader, charsmax( nLeader ) , mName ) nCount++ } else { nParty[ member ] = party nPartyType[ member ] = PARTY_MEMBER; new mName[ LEN ] get_user_name( member, mName, charsmax( mName ) ) for(new i = 1 ; i <= MAX_PLAYERS ; i++) { if(nParty[ i ] != nParty[ member ] || i == member) continue; ps_colored( i ,"%s !g%s !yI Enter To The !gParty",ps, mName ) } nCount++ } } PartyClear( usr ) { if( is_user_connected( usr ) ) { switch( nPartyType[ usr ] ) { case PARTY_NOT: { ps_colored( usr ,"%s You are not in !gParty" , ps) return; } case PARTY_LEADER: { ResetChars( nParty[ usr ] ) nPartyType[ usr ] = PARTY_NOT; nParty[ usr ] = PARTY_NOT; } case PARTY_MEMBER: { for(new i = 1 ; i <= MAX_PLAYERS; i++) { if(nParty[usr ] != nParty[ i ] || usr == i) continue; ps_colored( i ,"%s The User: !g%s !yI Leave the !gParty", ps, nMember ) } nParty[ usr ] = PARTY_NOT nPartyType[ usr ] = PARTY_NOT nCount-- } } } } ResetChars( party ) { for(new i = 0; i <= MAX_PLAYERS; i++) { if(nParty[ i ] != party ) continue; if(is_party_member( i ) ) { nParty[ i ] = PARTY_NOT; nPartyType[ i ] = PARTY_NOT; } nCount = 0 ps_colored( i ,"%s The !gLeader !yhas been delete the !gparty", ps ) } } public fw_ClientInfoChange( id , buffer) { if ( !is_user_connected( id ) ) return FMRES_IGNORED static szName[ 33 ], old[ 33 ]; get_user_name( id , old, 32 ) engfunc(EngFunc_InfoKeyValue, buffer, "name", szName, sizeof szName - 1) if(equal( szName, old ) ) return FMRES_IGNORED if( is_party_leader( id ) ) { engfunc( EngFunc_SetClientKeyValue, id , buffer, "name", old ) client_cmd( id , "name ^"%s^"; setinfo name ^"%s^"", old, old) ps_colored( id , "%s You Are In !gParty", ps ) } if( is_party_member( id ) ) { engfunc( EngFunc_SetClientKeyValue, id , buffer, "name", old ) client_cmd( id , "name ^"%s^"; setinfo name ^"%s^"", old, old) ps_colored( id , "%s You Are In !gParty", ps ) } return FMRES_IGNORED; } stock ps_colored(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!t", "^3") replace_all(msg, 190, "!c", "^0") if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) write_byte(players[i]); write_string(msg); message_end(); } } } } Tabulaciones ):
  2. Los sonidos de las armas no se puede cambiar, sólo del knife. Y lo de los models en tú rato editó y lo pongo. Edit: Este plugin cambia el model del knife, el V_, y el P_. #include #include #include #pragma semicolon 1 enum _:eModels { V_ P_ }; new const g_szModels[eModels][] = { "models/p_knife", "models/v_knife" }; public plugin_precache () { for( eModels: i = eModels = 0; i < eModels; i++ ) precache_model( g_szModels[i] ); } public plugin_init () { register_plugin( "Model Knife", "0.1.0", "MZ" ); register_event( "CurWeapon", "Event_CurWeapon", "be", "1=29"); } public Event_CurWeapon (id) { set_pev( id, pev_viewmodel2, g_szModels[V_] ); set_pev( id, pev_weaponmodel2, g_sxModels[P_] ); } Otra vez sorry por las tabulaciones.
  3. En este plugin ustedes pueden agregar armas para que sus jugadores las compren. Para agregar o remover un arma tienen que editar la constante "g_szWeaponMenu" ahÃ* mismo encuentran el NOMBRE del arma, el INDEX de la misma y su COSTO. #include #include #include #include #pragma semicolon 1 enum _:WeaponsDatas { m_szName[16], m_iId, m_iCost } ; new g_iWeaponMenu ; new const g_szWeaponMenu[][WeaponsDatas] = { {"M4A1", CSW_M4A1, 3100}, {"AK47", CSW_AK47, 2500}, {"AWP", CSW_AWP, 4750}, {"SG552", CSW_SG552, 3500}, {"AUG", CSW_AUG, 3500}, {"GALIL", CSW_GALIL, 2000}, {"FAMAS", CSW_FAMAS, 2250}, {"SG550", CSW_SG550, 4200}, {"G3-SG1", CSW_G3SG1, 5000}, {"MP5NAVY", CSW_MP5NAVY, 1500}, {"M249", CSW_M249, 5750}, {"M3", CSW_M3, 1700}, {"XM1014", CSW_XM1014, 3000}, {"SCOUT", CSW_SCOUT, 2750}, {"MAC10", CSW_MAC10, 1400}, {"TMP", CSW_TMP, 1250}, {"P90", CSW_P90, 2350}, {"UMP45", CSW_UMP45, 1700} } ; public plugin_init() { register_plugin( "Weapon Menu","0.1.0","MZ" ) ; Create_WeaponMenu() ; register_clcmd( "say /menu","Command_WeaponMenu" ) ; } Create_WeaponMenu() { g_iWeaponMenu = menu_create( "Weapons Menu", "Create_WeaponMenu_Handled" ) ; new szItem[64] ; for( new i; i { if( get_weaponname(g_szWeaponMenu[i][m_iId], szItem, 1) ) { formatex( szItem, charsmax(szItem), "%s\R\y$%d", g_szWeaponMenu[i][m_szName], g_szWeaponMenu[i][m_iCost] ) ; menu_additem( g_iWeaponMenu, szItem ) ; } } } public Command_WeaponMenu(id) { menu_display( id, g_iWeaponMenu ) ; } public Create_WeaponMenu_Handled( id, iMenu, iItem ) { if( iItem <= MENU_MORE ) { return PLUGIN_HANDLED ; } new iId = g_szWeaponMenu[iItem][m_iId] ; if( user_has_weapon(id, iId) ) { client_print( id, print_chat, "Ya tienes el arma %s", g_szWeaponMenu[iItem][m_szName] ) ; } else { new iCost = g_szWeaponMenu[iItem][m_iCost]; new iNewMoney = cs_get_user_money(id) - iCost ; if( iNewMoney < 0 ) { client_print( id, print_chat, "No tienes Dinero suficiente" ) ; } else { cs_set_user_money( id, iNewMoney ) ; new szWeaponName[32] ; get_weaponname( iId, szWeaponName, charsmax(szWeaponName) ) ; give_item( id, szWeaponName ) ; } } return PLUGIN_HANDLED ; } Otra vez sorry por las tabulaciones, recomendaciones, problemas posteenlos aca.
  4. Bueno ustedes con este plugin podrán cambiar el daño de las armas. En la parte de "MULTIPLIER_WEAPONS" agregan o editan las armas que quieren modificar su daño, y en "DMG_MULTIPLIER" modifican el daño. #include #include #pragma semicolon 1 const BITS_GRENADE = ( 1 << 24 ); const MULTIPLIER_WEAPONS = ( ( 1 << CSW_AWP ) | ( 1 << CSW_AK47 ) | ( 1 << CSW_M4A1) ); const Float:DMG_MULTIPLIER = 2.0; new g_iMaxPlayers; #define IsPlayer(%1) ( 1 <= %1 <= g_iMaxPlayers ) public plugin_init() { register_plugin( "Damage Multiplier" , "0.1.0" , "MZ" ); RegisterHam( Ham_TakeDamage , "player" , "fw_HamTakeDamage" ); g_iMaxPlayers = get_maxplayers(); } public fw_HamTakeDamage( iVictim , iInflictor , iAttacker , Float:fDamage , DmgBits ) { if ( IsPlayer( iAttacker ) && ( !( DmgBits & BITS_GRENADE ) && ( MULTIPLIER_WEAPONS & ( 1 << get_user_weapon( iAttacker ) ) ) ) ) { SetHamParamFloat( 4 , fDamage * DMG_MULTIPLIER ); return HAM_HANDLED; } return HAM_IGNORED; } Sorry por las tabulaciones :B, despues agrego las explicaciones, cualquier error avisen.
  5. #include #include #pragma semicolon 1 new g_iMenu; new g_iSubMenu; public plugin_init() { register_clcmd("say /menu", "Command_Menu"); Create_Menu(); Create_SubMenu(); } Create_Menu() { g_iMenu = menu_create("Menu", "Create_Menu_Handled"); menu_additem(g_iMenu, "SubMenu #1"); } Create_SubMenu() { g_iSubMenu = menu_create("SubMenu:", "Create_SubMenu_Handled"); menu_additem(g_iSubMenu, "Opcion 1"); menu_additem(g_iSubMenu, "Opcion 2"); } public Command_Menu(id) { menu_display(id, g_iMenu); } public Create_Menu_Handled(id, iMenu, iItem) { if ( iItem <= MENU_MORE ) { return PLUGIN_HANDLED; } switch( iItem ) { case 0: Command_SubMenu(id); } return PLUGIN_HANDLED; } public Command_SubMenu(id) { menu_display(id, g_iSubMenu) } public Create_SubMenu_Handled(id, iMenu, iItem) { if ( iItem <= MENU_MORE ) { return PLUGIN_HANDLED; } switch( iItem ) { case 0: client_print(id, print_chat, "Soy la Opcion 1 de un SubMenu"); case 1: client_print( id, print_chat, "Soy la Opcion 2 de un SubMenu"; } return PLUGIN_HANDLED; } Si te tira algun error es de tabulacion supongo, si alguien puede arreglar las tabulaciones, thanks
  6. No es tan facil como creen hacer un party, pero hay una base en alliedmods, despues edito y lo pongo
  7. emm, im nemesis boe, vuelvo despues de un tiempo largo sin inet y con demaciados kilombos en el medio qe qiero dejar atras. Para los qe ni me conocen soy del vieejo mz el .com.ar , algunos me conocen y otros capas qe no, hi all. Si quieren ayuda en mapping me acuerdo menos de lo basico :/, en pawn/amxx les puedo ayudar lo mas bien. Asiqe bye :$
  8. Tema editado e.e
  9. Bueno, hace mucho qe no usaba el ps, y me salio esto, opinen e.e
  10. Muchas gracias Swatoo, podes cerrar
  11. Bueno, necesito una firma del game 'Prototype', aca dejo datos: Tamaño: 450 x 150 px. Colores: Colores negativos, o alguno qe convine con la firma. Render: Algun render del juego Prototype, si necesitan les consigo uno. Texto: ; Prototype. Gracias al qe pueda hacer el pedido.
  12. Voto x PCclone, una firma muy trabajada, muchos efectos
  13. si asi damos la bienvenida :/
  14. Te faltan las manos de ese zm, yo mucho de models nose, pero creo qe necesitas las manos de el zombie qe pusiste, y las remplazas x las del regeneracion
  15. Mepa, o te dieron con un caño, solo con eso j3j0. n1 tira putearte e.e
  16. Quiero una foto de P'erita
  17. Quiero una foto de mi era gummer, (Moderador Zona Juegos). PD: kb
  18. Yo puse el dedicado, e.e, el mapa muy detallado, creo que arreglaste los problemitas que te habia dicho, mapazo. 10/10
  19. Subiending Models.
  20. Roberto se comió un chorizo de carne roja con queso y ensalada rusa con vergamota y pepitas. Tomó un Speed con Bodka y unas pendejas chuparon aceitunas negras mientras el paspado bailaba desnudo un tango negro con Zulma Lobato, la (o el) señora es bastante gorda (46)
  21. En este post ustedes podran pedir ayuda en sus codigos, plugins, tutoriales o lo que necesiten respecto a amxx. Reglas Ejemplo de un pedido bien redactado. Mas que nada, sean CLAROS, voy a responder lo mas RAPIDO que pueda.
  22. NemeSS.

    Una duda :)!

    Capas se retraso dineromail, aveces pasa, sino copiaste hubo un problema con el codigo de barra. @peri es para el rampage e.e
  23. Ya te lo dije en el server, sos gsu, el mapa muy detallado, muy buenas las texturas, ahora hay que esperar a lo que dice perita & emi del torneo ^^ 100/10
  24. Si digamos que lo que yo puse es para que el que sea admin, gane doble ammopacks, si lo qieren hacer x flags, es la forma de ciio :b
  25. while (g_damagedealt[attacker] > get_pcvar_num(cvar_ammodamage)) { g_ammopacks[attacker]+= is_user_admin(attacker) ? 2 : 1 zp_colored_print(attacker, "^x04[ZE]^x03 Ganaste 1 ammopack, ahora tienes %d ammopack%s",g_ammopacks[attacker], g_ammopacks[attacker] == 1 ? "" : "s") g_damagedealt[attacker] -= ammodamage } Mini optimizacion, buen tuto, para los nuevos que qieren aprender lo basico en pawn Gracias x el aporte ^^
×
×
  • Crear nuevo...

Información importante

Al utilizar nuestra web, aceptas nuestras Política de privacidad estás de acuerdo con las condiciones establecidas.