Jump to content
  • ¡Hola, Invitado! Únete a nuestra comunidad y construyamos juntos algo increíble.

    ¡Bienvenido a nuestra comunidad! Al unirte, formarás parte de una comunidad apasionada por MAPPING. Para participar activamente, simplemente haz clic en el botón ‘Conectarse’ o ‘Registrarse’. Una vez registrado, podrás publicar mensajes, compartir tus experiencias y explorar los diversos foros disponibles. ¡Esperamos verte pronto y compartir momentos increíbles juntos!

[Pedidos] Pedi tus plugins.

Valorar este tema


Publicaciones recomendadas

Publicado (editado)

Gracia so un capo vo

 

EDIT:

 

 

dibujojuk.jpg

 

 

Me tira ese error :;S

Editado por Martinssj4

 

y no te olvides de mandarle un saludo de mi parte a tu prima

  • Respuestas 91
  • Creado
  • Última respuesta

Los mejores participantes en este tema

Los mejores participantes en este tema

Publicado
Gracia so un capo vo

 

EDIT:

 

 

dibujojuk.jpg

 

 

Me tira ese error :;S

 

Te faltó cerrar los parentesis al final

 

client_print(id, print_chat, "MENSAJE")

Publicado
Yo quisiera pedir un mod de mix o combi mas bien llamado :)

 

Algo como el MixMarker ?, sino es eso no te entendi.

 

Te faltó cerrar los parentesis al final

 

client_print(id, print_chat, "MENSAJE")

 

Si lo habia escrito mal antes, despues me dijo por msn el error y edite el thread y se lo arregle xd.

messi-4.png

 

Mapping-Zone.NET

Publicado (editado)
si algo parecido al mix maker pero para editar

 

http://forums.alliedmods.net/showthread.php?t=154943

 

Entra con un proxy, y el original mix marker esta en la pagina 6 o 7 de este post.

 

Un Plugin para surf? para qe no se pueda matar el buy en mapas surf?

 

Ahora veo si lo puedo, no es tan facil de hacer, hay que obtener los origins de los mapas, decime para que mapas queres.

Editado por NemeS!S.
messi-4.png

 

Mapping-Zone.NET

Publicado (editado)

Aca te encontre uno para no matar en buy, creas la posicion en donde esta el buy y te la guarda en un .ini.

 

Comando: nkz_menu

 

 

#include 
#include 
#include 

#define PLUGIN "No Kill Zones"
#define AUTHOR "ConnorMcLeod"
#define VERSION "0.0.7"

#define DONT_BLEED-1
#define MAX_ZONES16
#define MAX_PLAYERS32
#define KEYS((1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<8)|(1<<9))

#define write_coord_f(%1) engfunc(EngFunc_WriteCoord,%1)

new g_iZonesNum
new Float:g_flZoneMin[MAX_ZONES][3], Float:g_flZoneMax[MAX_ZONES][3]

new Float:g_flTempMin[3], Float:g_flTempMax[3]

new g_szFile[100]

new g_iMenu, NKZ_MENU
new g_iMenuSettings[MAX_PLAYERS 1][2]

new iSprite

public plugin_precache()
{
iSprite = precache_model("sprites/lgtning.spr")
}

public plugin_init() 
{
register_plugin(PLUGIN ,VERSION ,AUTHOR)

RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage")
RegisterHam(Ham_TraceAttack, "player" , "Player_TraceAttack" ) 

NKZ_MENU = register_menuid("NKZ")
register_menucmd( NKZ_MENU , KEYS, "actionZoneMenu")

register_clcmd("nkz_menu", "ClientCommand_Menu", ADMIN_CFG)
}

public plugin_cfg()
{
get_localinfo("amxx_configsdir", g_szFile, charsmax(g_szFile))
new szMapName[32]
get_mapname(szMapName, charsmax(szMapName))
format(g_szFile, charsmax(g_szFile), "%s/nkz", g_szFile)

if( !dir_exists(g_szFile) )
{
mkdir(g_szFile)
format(g_szFile, charsmax(g_szFile), "%s/%s.ini", g_szFile, szMapName)
return
}

format(g_szFile, charsmax(g_szFile), "%s/nkz/%s.ini", g_szFile, szMapName)

new iFile = fopen(g_szFile, "rt")
if( !iFile )
return

new szData[50], szCoords[6][8]
while(!feof(iFile) && g_iZonesNum{
fgets(iFile, szData, charsmax(szData))
trim( szData )
if(!szData[0] || szData[0] == ';' || (szData[0] == '/' && szData[1] == '/'))
continue

parse(szData, szCoords[0], 7, szCoords[1], 7, szCoords[2], 7, 
szCoords[3], 7, szCoords[4], 7, szCoords[5], 7) 

for(new i; i<3; i  )
{
g_flZoneMin[g_iZonesNum][i] = str_to_float( szCoords[i] )
g_flZoneMax[g_iZonesNum][i] = str_to_float( szCoords[i 3] )
}
g_iZonesNum  
}
fclose(iFile)
}

public plugin_end()
{
delete_file(g_szFile)

new iFile = fopen(g_szFile, "a ")
if( !iFile )
return

new szData[50]
for(new i; i{
formatex( szData, 49, "%.1f %.1f %.1f %.1f %.1f %.1f^n", 
g_flZoneMin[i][0], g_flZoneMin[i][1], g_flZoneMin[i][2],
g_flZoneMax[i][0], g_flZoneMax[i][1], g_flZoneMax[i][2] )
fputs(iFile, szData)
}
fclose(iFile)
}

public Player_TakeDamage(id, iEnt, idattacker, Float:damage, damagebits)
{
if( iEnt == idattacker )
{
return HAM_IGNORED
}

for(new i; i{
if( is_user_in_zone(iEnt, i) )
{
return HAM_SUPERCEDE
}
}

return HAM_IGNORED
}

public Player_TraceAttack(id, idattacker, Float:damage, Float:direction[3], tracehandle, damagebits)
{
for(new i; i{
if( is_user_in_zone(id, i) || is_user_in_zone(idattacker, i) )
{
return HAM_SUPERCEDE
}
}
return HAM_IGNORED
}

public client_putinserver(id)
{
reset_setting(id)
}

reset_setting(id)
{
g_iMenuSettings[id][0] = -2
g_iMenuSettings[id][1] = 0
}

public client_disconnect(id)
{
if( g_iMenu == id )
{
g_iMenu = 0
}
}

public ClientCommand_Menu(id, level)
{
if( !(get_user_flags(id) & level) )
return PLUGIN_HANDLED

if( g_iMenu )
{
new iMenuId, LoL
get_user_menu(g_iMenu, iMenuId, LoL)
if( iMenuId == NKZ_MENU )
{
client_print(id, print_chat, "Sorry, someone already uses this menu, try again later...")
return PLUGIN_HANDLED
}
}
g_iMenu = id
reset_setting(id)

display_menu(id)
return PLUGIN_HANDLED
}

display_menu(id)
{
new szMenu[1024], n, iZone = g_iMenuSettings[id][0]
static const szAxes[][] = { "x (red)" , "y (blue)" , "z (green)" }

n = formatex(szMenu, 1023, "\rNoKill Zone Menu\y ")

if(iZone < 0)
n  = formatex(szMenu[n], 1023-n, "(New Zone)^n")
else
n  = formatex(szMenu[n], 1023-n, "(Zone %d/%d)^n", iZone 1, g_iZonesNum)

n  = formatex(szMenu[n], 1023-n, "\w1. %s^n^n", g_iZonesNum ? "Next Zone":"Create Zone")

n  = formatex(szMenu[n], 1023-n, "2. Current Axe %s^n", szAxes[g_iMenuSettings[id][1]])

n  = formatex(szMenu[n], 1023-n, "3. Move   ^n")
n  = formatex(szMenu[n], 1023-n, "4. Move --^n")

n  = formatex(szMenu[n], 1023-n, "5. Increase size^n")
n  = formatex(szMenu[n], 1023-n, "6. Decrease size^n")

n  = formatex(szMenu[n], 1023-n, "7. \yDraw Zone^n^n")

n  = formatex(szMenu[n], 1023-n, "\w9. \rSave Zone & Exit^n")

n  = formatex(szMenu[n], 1023-n, "\w0. Cancel")

if(iZone == -2)
{
Create_Temp_Zone(id)
g_iMenuSettings[id][0] = -1
}

show_menu(id, KEYS, szMenu, -1, "NKZ")
}

public actionZoneMenu(id, key)
{
new iZone = g_iMenuSettings[id][0]
switch( key )
{
case 0:
{
if( iZone < g_iZonesNum-1 )
{
iZone =   g_iMenuSettings[id][0]
vec_copy(g_flZoneMin[iZone], g_flTempMin)
vec_copy(g_flZoneMax[iZone], g_flTempMax)
Draw_Ent(id)
}
else
{
Create_Temp_Zone(id)
g_iMenuSettings[id][0] = -1
}
display_menu(id)
}
case 1:
{
if(   g_iMenuSettings[id][1] >= 3 )
g_iMenuSettings[id][1] = 0

display_menu(id)
}
case 2:
{
new iAxe = g_iMenuSettings[id][1]

g_flTempMin[iAxe]  = 20
g_flTempMax[iAxe]  = 20
Draw_Ent(id, 50)

display_menu(id)
}
case 3:
{
new iAxe = g_iMenuSettings[id][1]

g_flTempMin[iAxe] -= 20
g_flTempMax[iAxe] -= 20
Draw_Ent(id, 50)

display_menu(id)
}
case 4:
{
new iAxe = g_iMenuSettings[id][1]

g_flTempMin[iAxe] -= 15
g_flTempMax[iAxe]  = 15
Draw_Ent(id, 50)

display_menu(id)
}
case 5:
{
new iAxe = g_iMenuSettings[id][1]

g_flTempMin[iAxe]  = 15
g_flTempMax[iAxe] -= 15
Draw_Ent(id, 50)

display_menu(id)
}
case 6:
{
Draw_Ent(id)
display_menu(id)
}
case 8:
{
if( iZone == -1 )
{
if( g_iZonesNum < MAX_ZONES-1 )
{
vec_copy(g_flTempMin, g_flZoneMin[g_iZonesNum])
vec_copy(g_flTempMax, g_flZoneMax[g_iZonesNum])
g_iZonesNum  
client_print(id, print_chat, "[NKZ] Zone #%d saved", g_iZonesNum)
}
else
{
client_print(id, print_chat, "Too much zones created")
}
}
else
{
vec_copy(g_flTempMin, g_flZoneMin[iZone])
vec_copy(g_flTempMax, g_flZoneMax[iZone])
client_print(id, print_chat, "[NKZ] Zone #%d modified", iZone)
}
arrayset_f(g_flTempMin, 0.0, 3)
arrayset_f(g_flTempMax, 0.0, 3)
reset_setting(id)
g_iMenu = 0
}
case 9:
{
arrayset_f(g_flTempMin, 0.0, 3)
arrayset_f(g_flTempMax, 0.0, 3)
reset_setting(id)
g_iMenu = 0
}
}
}

Create_Temp_Zone( id )
{
new Float:flOrigin[3]
pev(id, pev_origin, flOrigin)

flOrigin[0] -= 100.0
flOrigin[1] -= 100.0
flOrigin[2] -= 36.0
vec_copy(flOrigin, g_flTempMin)

flOrigin[0]  = 200.0
flOrigin[1]  = 200.0
flOrigin[2]  = 100.0
vec_copy(flOrigin, g_flTempMax)

client_print(id, print_chat, "New Zone Created (not saved yet)")
}

Draw_Ent(id, life=100)
{
new Float:flAbsmin[3], Float:flAbsmax[3]
vec_copy(g_flTempMin, flAbsmin)
vec_copy(g_flTempMax, flAbsmax)

/*
  7----------8
 /|         /|
/ |        / | 
5----------6  |
|  |       |  |
|  3-------|--4
| /        | /
|/         |/
1----------2
*/
/*x red*/
UTIL_DrawBeam(id, flAbsmin[0],flAbsmin[1],flAbsmin[2] , flAbsmax[0],flAbsmin[1],flAbsmin[2] , life, 20, 1, 200, 20, 20, 255, 0)
UTIL_DrawBeam(id, flAbsmin[0],flAbsmin[1],flAbsmax[2] , flAbsmax[0],flAbsmin[1],flAbsmax[2] , life, 20, 1, 200, 20, 20, 255, 0)
UTIL_DrawBeam(id, flAbsmin[0],flAbsmax[1],flAbsmin[2] , flAbsmax[0],flAbsmax[1],flAbsmin[2] , life, 20, 1, 200, 20, 20, 255, 0)
UTIL_DrawBeam(id, flAbsmin[0],flAbsmax[1],flAbsmax[2] , flAbsmax[0],flAbsmax[1],flAbsmax[2] , life, 20, 1, 200, 20, 20, 255, 0)

/*y blue*/
UTIL_DrawBeam(id, flAbsmin[0],flAbsmin[1],flAbsmin[2] , flAbsmin[0],flAbsmax[1],flAbsmin[2] , life, 20, 1, 20, 20, 200, 255, 0)
UTIL_DrawBeam(id, flAbsmin[0],flAbsmin[1],flAbsmax[2] , flAbsmin[0],flAbsmax[1],flAbsmax[2] , life, 20, 1, 20, 20, 200, 255, 0)
UTIL_DrawBeam(id, flAbsmax[0],flAbsmin[1],flAbsmin[2] , flAbsmax[0],flAbsmax[1],flAbsmin[2] , life, 20, 1, 20, 20, 200, 255, 0)
UTIL_DrawBeam(id, flAbsmax[0],flAbsmin[1],flAbsmax[2] , flAbsmax[0],flAbsmax[1],flAbsmax[2] , life, 20, 1, 20, 20, 200, 255, 0)

/*z green*/
UTIL_DrawBeam(id, flAbsmin[0],flAbsmin[1],flAbsmin[2] , flAbsmin[0],flAbsmin[1],flAbsmax[2] , life, 20, 1, 20, 200, 20, 255, 0)
UTIL_DrawBeam(id, flAbsmax[0],flAbsmax[1],flAbsmin[2] , flAbsmax[0],flAbsmax[1],flAbsmax[2] , life, 20, 1, 20, 200, 20, 255, 0)
UTIL_DrawBeam(id, flAbsmax[0],flAbsmin[1],flAbsmin[2] , flAbsmax[0],flAbsmin[1],flAbsmax[2] , life, 20, 1, 20, 200, 20, 255, 0)
UTIL_DrawBeam(id, flAbsmin[0],flAbsmax[1],flAbsmin[2] , flAbsmin[0],flAbsmax[1],flAbsmax[2] , life, 20, 1, 20, 200, 20, 255, 0)
}

// shptools
UTIL_DrawBeam(id, Float:start0, Float:start1, Float:start2, Float:end0, Float:end1, Float:end2, life, width, noise, red, green, blue, brightness, speed)
{
message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id)
write_byte(TE_BEAMPOINTS)
write_coord_f(start0)
write_coord_f(start1)
write_coord_f(start2)
write_coord_f(end0)
write_coord_f(end1)
write_coord_f(end2)
write_short(iSprite)
write_byte(1) // framestart
write_byte(10) // framerate
write_byte(life) // life in 0.1's
write_byte(width) // width
write_byte(noise) // noise
write_byte(red) // r, g, b
write_byte(green) // r, g, b
write_byte(blue) // r, g, b
write_byte(brightness) // brightness
write_byte(speed) // speed
message_end()
}

vec_copy(const Float:vecIn[], Float:vecOut[])
{
vecOut[0] = vecIn[0]
vecOut[1] = vecIn[1]
vecOut[2] = vecIn[2]
}

is_user_in_zone(id, i)
{
new Float:flOrigin[3]
pev(id, pev_origin, flOrigin)

if(  g_flZoneMin[i][0] < flOrigin[0] && 
g_flZoneMin[i][1] < flOrigin[1] && 
g_flZoneMin[i][2] < flOrigin[2] && 
g_flZoneMax[i][0] > flOrigin[0] && 
g_flZoneMax[i][1] > flOrigin[1] && 
g_flZoneMax[i][2] > flOrigin[2] )
return 1

return 0
}

arrayset_f(Float:flArray[], Float:flValue, iSize)
{
for(--iSize; iSize>=0; iSize--)
{
flArray[iSize] = flValue
}
}

 

 

 

Plugin Update, no cargaba los sizes. Ahora los carga si se pone, "Save & Exit", en el menu despues de ubicar la ubicacion, y cuando se juegue el mismo map se ejecuta solo.

Editado por NemeS!S.
messi-4.png

 

Mapping-Zone.NET

  • 4 semanas después...
  • 2 semanas después...
Publicado

buenas! quisiera saber si de buena onda me podrian hacer un plugin que sea para el limite de teams para el tema de los mix para que no entren los "spec" a killear, estando jugando el "mix" para que sea 5 tt y 5 ct y que no entre nadie de los spec a menos que kitee un "player"

desde ya gracias de antemano y buena suerte con su proyecto que estas espectacular !!

Publicado
buenas! quisiera saber si de buena onda me podrian hacer un plugin que sea para el limite de teams para el tema de los mix para que no entren los "spec" a killear, estando jugando el "mix" para que sea 5 tt y 5 ct y que no entre nadie de los spec a menos que kitee un "player"

desde ya gracias de antemano y buena suerte con su proyecto que estas espectacular !!

 

Fijate necesitas mas post para hacer un pedido, igual en un rato edito con el plug, capas qe a alguien de aca le sirve

messi-4.png

 

Mapping-Zone.NET

  • 1 mes después...
Publicado (editado)

I can do a pedido? :D

 

Hay un plugin que sirve para delimitar zonas y que cuando x player entra o toca esa zona se muere. Los busque pero como no me acuerdo su noombre no lo encuentro :Ssi me podes ayudar sos un dios :$

El uso seria principalmente para mapas jailbreak :c

Editado por JoEx

Nada por aquí...

Publicado
Un Plugin para surf? para qe no se pueda matar el buy en mapas surf?

 

Probalo... si el usuario que ataca está en un buyzone no hace daño, pero lo puede matar alguien que no esté en el buyzone.

 

#include 
#include 
#include 

public plugin_init()
{
   register_plugin("Surf: No kill en buy", "1.0", "ILUSION");
   RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack");
   RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage");
}

public fw_TraceAttack(victim, attacker, Float:dmg, Float:dir[3], traceresult, dmgbits)
{
   if (is_user_connected(attacker) && cs_get_user_buyzone(attacker))
       return HAM_SUPERCEDE;
   
   return HAM_IGNORED;
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
   if (is_user_connected(attacker) && cs_get_user_buyzone(attacker) && damage_type & (1<<24))
   {
       SetHamParamFloat(4, 0.0);
       return HAM_SUPERCEDE;
   }
   
   return HAM_IGNORED;
}

  • 2 semanas después...
Publicado
buenas gente venog a pedir un plugin para mix si puede ser para el limite de los teams de tt y ct para q sea siempre 5 tt contra 5 ct. esto me servira mucho para q gente cualquiera no entre y cague los mix. desde ya muchas gracias se los agradesco

Crear una cuenta o conéctate para comentar

Tienes que ser miembro para dejar un comentario

Crear una cuenta

Regístrese para obtener una cuenta nueva en nuestra comunidad. ¡Es fácil!

Registrar una nueva cuenta

Conectar

¿Ya tienes una cuenta? Conéctate aquí.

Conectar ahora

×
×
  • Crear nuevo...

Información importante

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