-
Contenido
889 -
Ingreso
-
Días ganados
16
Tipo de contenido
Perfiles
Foros
Novedades
Novedad
Descargas
Tutoriales
Todo lo publicado por NemeSS.
-
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 ):
-
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.
-
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.
-
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.
-
#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
-
No es tan facil como creen hacer un party, pero hay una base en alliedmods, despues edito y lo pongo
-
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 :$
-
Tema editado e.e
-
Bueno, hace mucho qe no usaba el ps, y me salio esto, opinen e.e
-
Muchas gracias Swatoo, podes cerrar
-
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.
-
Voto x PCclone, una firma muy trabajada, muchos efectos
-
Hola si... 1..2..3..4 probando... se escucha? :|
tema responde a medioomelon de NemeSS. en Bienvenidas y Despedidas
si asi damos la bienvenida :/ -
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
-
Mepa, o te dieron con un caño, solo con eso j3j0. n1 tira putearte e.e
-
Quiero una foto de P'erita
-
Quiero una foto de mi era gummer, (Moderador Zona Juegos). PD: kb
-
Yo puse el dedicado, e.e, el mapa muy detallado, creo que arreglaste los problemitas que te habia dicho, mapazo. 10/10
-
Subiending Models.
-
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)
- 166 respuestas
-
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.
-
Capas se retraso dineromail, aveces pasa, sino copiaste hubo un problema con el codigo de barra. @peri es para el rampage e.e
-
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
-
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
- 7 respuestas
-
- pequeños
- tutoriales
-
(y 1 más)
Etiquetado con:
-
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 ^^
- 7 respuestas
-
- pequeños
- tutoriales
-
(y 1 más)
Etiquetado con: