Cs 1.6 bhop düğmesi
Moderatör: Moderatörler
-
Konu Sahibi - Mesajlar: 209
- Kayıt: Prş Oca 12, 2017 11:43 am
- Server Ip/DNS: 213.238.173.120
Cs 1.6 bhop düğmesi
Arkadaslar bhop maplarında tuşa basılınca süre baslıyor ya o TUŞ u farklı maplara ekleme şansı varmı böyle bir eklenti mevcutmudur ?
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 209
- Kayıt: Prş Oca 12, 2017 11:43 am
- Server Ip/DNS: 213.238.173.120
-
Konu Sahibi - Mesajlar: 209
- Kayıt: Prş Oca 12, 2017 11:43 am
- Server Ip/DNS: 213.238.173.120
-
Konu Sahibi - Mesajlar: 209
- Kayıt: Prş Oca 12, 2017 11:43 am
- Server Ip/DNS: 213.238.173.120
-
- Mesajlar: 168
- Kayıt: Sal Tem 11, 2017 7:11 am
Cs 1.6 bhop düğmesi
Kod: Tümünü seç
#include <amxmodx>
#include <engine>
new const g_szModel[ ] = "models/w_c4.mdl";
new const g_szTargets[ 2 ][ ] = {
"counter_start",
"counter_off"
};
new g_szFile[ 128 ];
new g_szMapname[ 32 ];
new g_iButtonsMenu;
public plugin_init( ) {
register_plugin( "KZ Buttons Creator", "1.0", "xPaw" );
register_clcmd( "say /cbm", "CmdButtonsMenu", ADMIN_RCON );
g_iButtonsMenu = menu_create( "\rClimb Buttons Creator \wBy xPaw", "HandleButtonsMenu" );
menu_additem( g_iButtonsMenu, "Create \yStart", "1" );
menu_additem( g_iButtonsMenu, "Create \rStop^n", "2" );
menu_additem( g_iButtonsMenu, "Move Up", "3" );
menu_additem( g_iButtonsMenu, "Move Down^n", "4" );
menu_additem( g_iButtonsMenu, "Delete Button", "5" );
menu_additem( g_iButtonsMenu, "Delete All Buttons", "6" );
menu_additem( g_iButtonsMenu, "Save", "7" );
}
public plugin_precache( ) {
precache_model( g_szModel );
get_mapname( g_szMapname, 31 );
strtolower( g_szMapname );
// File
new szDatadir[ 64 ];
get_localinfo( "amxx_datadir", szDatadir, charsmax( szDatadir ) );
formatex( szDatadir, charsmax( szDatadir ), "%s/kreedz", szDatadir );
if( !dir_exists( szDatadir ) )
mkdir( szDatadir );
formatex( g_szFile, charsmax( g_szFile ), "%s/KzNewButtons.ini", szDatadir );
if( !file_exists( g_szFile ) ) {
write_file( g_szFile, "// #kz.xPaw - New climb buttons", -1 );
write_file( g_szFile, " ", -1 );
return; // We dont need to load file
}
new szData[ 256 ], szMap[ 32 ], szOrigin[ 2 ][ 3 ][ 16 ];
new iFile = fopen( g_szFile, "rt" );
while( !feof( iFile ) ) {
fgets( iFile, szData, charsmax( szData ) );
if( !szData[ 0 ] || szData[ 0 ] == ';' || szData[ 0 ] == ' ' || ( szData[ 0 ] == '/' && szData[ 1 ] == '/' ) )
continue;
parse( szData, szMap, 31,
szOrigin[ 0 ][ 0 ], 15, szOrigin[ 0 ][ 1 ], 15, szOrigin[ 0 ][ 2 ], 15,
szOrigin[ 1 ][ 0 ], 15, szOrigin[ 1 ][ 1 ], 15, szOrigin[ 1 ][ 2 ], 15 );
if( equal( szMap, g_szMapname ) ) {
new Float:vOrigin[ 2 ][ 3 ];
vOrigin[ 0 ][ 0 ] = str_to_float( szOrigin[ 0 ][ 0 ] );
vOrigin[ 0 ][ 1 ] = str_to_float( szOrigin[ 0 ][ 1 ] );
vOrigin[ 0 ][ 2 ] = str_to_float( szOrigin[ 0 ][ 2 ] );
vOrigin[ 1 ][ 0 ] = str_to_float( szOrigin[ 1 ][ 0 ] );
vOrigin[ 1 ][ 1 ] = str_to_float( szOrigin[ 1 ][ 1 ] );
vOrigin[ 1 ][ 2 ] = str_to_float( szOrigin[ 1 ][ 2 ] );
CreateButton( 0, 0, vOrigin[ 0 ] );
CreateButton( 0, 1, vOrigin[ 1 ] );
break;
}
}
fclose( iFile );
}
public CmdButtonsMenu( id ) {
if( get_user_flags( id ) & ADMIN_RCON )
menu_display( id, g_iButtonsMenu, 0 );
return PLUGIN_HANDLED;
}
public HandleButtonsMenu( id, iMenu, iItem ) {
if( iItem == MENU_EXIT )
return PLUGIN_HANDLED;
new szKey[ 2 ], _Access, _Callback;
menu_item_getinfo( iMenu, iItem, _Access, szKey, 1, "", 0, _Callback );
new iKey = str_to_num( szKey );
switch( iKey ) {
case 1, 2: CreateButton( id, iKey - 1 );
case 3: {
new iButton = GetButton( id );
if( iButton > 0 ) {
new Float:vOrigin[ 3 ];
entity_get_vector( iButton, EV_VEC_origin, vOrigin );
vOrigin[ 2 ] += 5.0;
entity_set_origin( iButton, vOrigin );
}
}
case 4: {
new iButton = GetButton( id );
if( iButton > 0 ) {
new Float:vOrigin[ 3 ];
entity_get_vector( iButton, EV_VEC_origin, vOrigin );
vOrigin[ 2 ] -= 5.0;
entity_set_origin( iButton, vOrigin );
}
}
case 5: {
new iButton = GetButton( id );
if( iButton > 0 ) {
remove_entity( iButton );
client_print( id, print_chat, "* Climb button has been deleted!" );
}
}
case 6: {
new iEntity, iCount, szModel[ 2 ];
for( new i; i < 2; i++ ) {
while( ( iEntity = find_ent_by_target( iEntity, g_szTargets[ i ] ) ) > 0 ) {
entity_get_string( iEntity, EV_SZ_model, szModel, 1 );
if( szModel[ 0 ] != '*' ) {
remove_entity( iEntity );
iCount++;
}
}
}
if( iCount )
client_print( id, print_chat, "* All climb buttons has been deleted!" );
}
case 7: {
new iEntity, iButton, szModel[ 2 ], Float:vOrigin[ 2 ][ 3 ];
for( new i; i < 2; i++ ) {
iButton = -1;
iEntity = -1;
while( ( iEntity = find_ent_by_target( iEntity, g_szTargets[ i ] ) ) > 0 ) {
entity_get_string( iEntity, EV_SZ_model, szModel, 1 );
if( szModel[ 0 ] != '*' )
iButton = iEntity;
}
if( iButton > 0 )
entity_get_vector( iButton, EV_VEC_origin, vOrigin[ i ] );
}
new bool:bFound, iPos, szData[ 32 ], iFile = fopen( g_szFile, "r+" );
if( !iFile )
return PLUGIN_HANDLED;
while( !feof( iFile ) ) {
fgets( iFile, szData, 31 );
parse( szData, szData, 31 );
iPos++;
if( equal( szData, g_szMapname ) ) {
bFound = true;
new szString[ 256 ];
formatex( szString, 255, "%s %f %f %f %f %f %f", g_szMapname,
vOrigin[ 0 ][ 0 ], vOrigin[ 0 ][ 1 ], vOrigin[ 0 ][ 2 ],
vOrigin[ 1 ][ 0 ], vOrigin[ 1 ][ 1 ], vOrigin[ 1 ][ 2 ] );
write_file( g_szFile, szString, iPos - 1 );
break;
}
}
if( !bFound )
fprintf( iFile, "%s %f %f %f %f %f %f^n", g_szMapname,
vOrigin[ 0 ][ 0 ], vOrigin[ 0 ][ 1 ], vOrigin[ 0 ][ 2 ],
vOrigin[ 1 ][ 0 ], vOrigin[ 1 ][ 1 ], vOrigin[ 1 ][ 2 ] );
fclose( iFile );
client_print( id, print_chat, "* Successfully saved climb buttons! Restart the map!" );
}
default: return PLUGIN_HANDLED;
}
menu_display( id, g_iButtonsMenu, 0 );
return PLUGIN_HANDLED;
}
GetButton( id ) {
new iEntity, _Body;
get_user_aiming( id, iEntity, _Body, 4000 );
if( is_valid_ent( iEntity ) ) {
new szModel[ 2 ];
entity_get_string( iEntity, EV_SZ_model, szModel, 1 );
if( szModel[ 0 ] != '*' )
return iEntity;
else
client_print( id, print_chat, "* You must aim on a climb button!" );
} else
client_print( id, print_chat, "* You must aim on a climb button!" );
return -1;
}
CreateButton( id, iType, Float:vOrigin[ 3 ] = { 0.0, 0.0, 0.0 } ) {
if( !id && vOrigin[ 0 ] == 0.0 && vOrigin[ 1 ] == 0.0 && vOrigin[ 2 ] == 0.0 )
return 0;
new iEntity = create_entity( "func_button" );
if( !is_valid_ent( iEntity ) )
return 0;
if( id > 0 ) {
new iOrigin[ 3 ];
get_user_origin( id, iOrigin, 3 );
IVecFVec( iOrigin, vOrigin );
vOrigin[ 2 ] += 5.0;
entity_set_origin( iEntity, vOrigin );
} else
entity_set_origin( iEntity, vOrigin );
entity_set_string( iEntity, EV_SZ_target, g_szTargets[ iType ] );
entity_set_int( iEntity, EV_INT_solid, SOLID_BBOX );
entity_set_model( iEntity, g_szModel );
entity_set_size( iEntity, Float:{ -6.0, -3.0, 0.0 }, Float:{ 6.0, 3.0, 6.0 } );
new Float:vColor[ 3 ]; vColor[ 1 ] = 127.0;
if( iType )
vColor[ 2 ] = 255.0;
SetRendering( iEntity, kRenderFxGlowShell, vColor, kRenderNormal, 5.0 );
return iEntity;
}
stock SetRendering( iEntity, iFX = kRenderFxNone, Float:vColor[ 3 ] = { 255.0, 255.0, 255.0 }, iRender = kRenderNormal, Float:flAmount = 16.0 ) {
entity_set_int( iEntity, EV_INT_renderfx, iFX );
entity_set_vector( iEntity, EV_VEC_rendercolor, vColor );
entity_set_int( iEntity, EV_INT_rendermode, iRender );
entity_set_float( iEntity, EV_FL_renderamt, flAmount );
}
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 209
- Kayıt: Prş Oca 12, 2017 11:43 am
- Server Ip/DNS: 213.238.173.120
Cs 1.6 bhop düğmesi
attıgım resimdeki buttondan istiyorum bhop serverlerinde basınca süre baslayacak falan
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 209
- Kayıt: Prş Oca 12, 2017 11:43 am
- Server Ip/DNS: 213.238.173.120
Cs 1.6 bhop düğmesi
attıgın plugin çalısıyor reiz sorunsuz ama c4 yerine button bıraksa iyi olur ya
Link: | |
Linklerini gizle |
-
- Mesajlar: 168
- Kayıt: Sal Tem 11, 2017 7:11 am
Cs 1.6 bhop düğmesi
https://forums.alliedmods.net/attachmen ... 1471884002
buradaki buton modelini kullanabilirsin
kodun icinde bu satiri degistirmeyi unutma
buradaki buton modelini kullanabilirsin
kodun icinde bu satiri degistirmeyi unutma
Kod: Tümünü seç
new const g_szModel[ ] = "models/w_c4.mdl";
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 209
- Kayıt: Prş Oca 12, 2017 11:43 am
- Server Ip/DNS: 213.238.173.120
Cs 1.6 bhop düğmesi
reiz eyvallah oldu ama son bişey daha sorucam buton geliyor ama içinden geçiliyor bunun duvarmıs gibi içinden geçilmemesi için ne yapmam gerekSnake. yazdı: ↑Pzt Haz 27, 2022 7:02 pm https://forums.alliedmods.net/attachmen ... 1471884002
buradaki buton modelini kullanabilirsin
kodun icinde bu satiri degistirmeyi unutmaKod: Tümünü seç
new const g_szModel[ ] = "models/w_c4.mdl";
Link: | |
Linklerini gizle |
-
- Mesajlar: 168
- Kayıt: Sal Tem 11, 2017 7:11 am
Cs 1.6 bhop düğmesi
Bir de şunu dene istersen hem start hem stop için ayrı model de koyabiliyorsun
Kod: Tümünü seç
/*
* Climb Button Maker
*
* Descriptions:
* This plugin make climb buttons of start and stop (no timer, only buttons).
* Interacts with ProKreedz plugin.
*
* Commands:
* say /cbm - open Climb Button Maker menu (need immunity flag)
*
* Notes:
* Plugin based on Bunnyhop Course Maker v2.0 by FatalisDK.
* I know this small job but is useful for public servers on some unfinished maps (kz_ascension_v7, kz_giantbean_v8 and others)
*
* Change log:
* v0.1 - Ñlearing BCM plugin
* v0.2 - Changed BCM to CBM
* v0.3 - Added buttons
* v0.4 - Edited functions
* v0.5 - Added rotate buttons
* v0.6 - Finded and fixed double make buttons bug
*/
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#define PLUGIN "Climb Button Maker"
#define VERSION "0.6"
#define AUTHOR "Kr1Zo"
new cbmStart[] = "models/w_c4.mdl"
new cbmStop[] = "models/w_c4.mdl"
new cbmStartTargetName[] = "counter_start" // "cbm_start"
new cbmStopTargetName[] = "counter_off" // "cbm_stop"
new cbmFile[97]
new cbmMenu
new className
new cbmClassName[] = "func_button"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("kr1zo", "cbm0.6", FCVAR_SERVER)
register_clcmd("say /cbm", "cmdCbmMenu", ADMIN_IMMUNITY, "- open Climb Button Maker menu")
cbmMenu = menu_create("Climb Button Maker by Kr1Zo", "cbmMnu")
menu_additem(cbmMenu, "Make start", "1", 0, -1)
menu_additem(cbmMenu, "Make stop", "2", 0, -1)
menu_additem(cbmMenu, "Rotate button", "3", 0, -1)
menu_additem(cbmMenu, "Remove button", "4", 0, -1)
menu_additem(cbmMenu, "Save to file", "5", 0, -1)
className = engfunc(EngFunc_AllocString, cbmClassName)
new szDir[65]
new szMap[33]
get_datadir(szDir, 64)
get_mapname(szMap, 32)
add(szDir, 64, "/cbm", 0)
if(!dir_exists(szDir))
mkdir(szDir)
formatex(cbmFile, 96, "%s/%s.cfg", szDir, szMap)
}
public plugin_precache() {
precache_model(cbmStart)
precache_model(cbmStop)
}
public plugin_cfg() {
readFile()
}
readFile() {
if(!file_exists(cbmFile))
return
new szData[41]
new szType[2], szX[13], szY[13], szZ[13], szAnglesY[11]
new Float:vOrigin[3], Float:vAnglesY
new f = fopen(cbmFile, "rt")
while(!feof(f)) {
fgets(f, szData, 40)
parse(szData, szType, 1, szX, 12, szY, 12, szZ, 12, szAnglesY, 10)
vAnglesY = str_to_float(szAnglesY)
vOrigin[0] = str_to_float(szX)
vOrigin[1] = str_to_float(szY)
vOrigin[2] = str_to_float(szZ)
if(szType[0] == '1')
makeButton(0, cbmStartTargetName, 1, vOrigin, vAnglesY)
else if(szType[0] == '2')
makeButton(0, cbmStopTargetName, 2, vOrigin, vAnglesY)
}
fclose(f)
}
public cmdCbmMenu(id, level, cid) {
if(!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED
menu_display(id, cbmMenu, 0)
return PLUGIN_HANDLED
}
public cbmMnu(id, menu, item) {
new szCmd[2], _access, callback
menu_item_getinfo(menu, item, _access, szCmd, 1, "", 0, callback)
if(item == MENU_EXIT)
return PLUGIN_HANDLED
switch(szCmd[0]) {
case '-':
return PLUGIN_HANDLED
case '1':
makeButton(id, cbmStartTargetName, 1, Float:{0.0, 0.0, 0.0}, 0.0)
case '2':
makeButton(id, cbmStopTargetName, 2, Float:{0.0, 0.0, 0.0}, 0.0)
case '3': {
new action[] = "rotate"
new ent = FindButton(id, action)
if(ent != 0) {
new Float:vAngles[3]
pev(ent, pev_angles, vAngles)
if(vAngles[1] == 270.0)
vAngles[1] -= 270.0
else
vAngles[1] += 90.0
set_pev(ent, pev_angles, vAngles)
}
}
case '4': {
new action[] = "remove"
new ent = FindButton(id, action)
if(ent != 0)
set_pev(ent, pev_flags, pev(ent, pev_flags) | FL_KILLME)
}
case '5': {
if(file_exists(cbmFile))
delete_file(cbmFile)
new ent, Float:vOrigin[3], Float:vAngles[3], szData[57]
new f = fopen(cbmFile, "at")
while((ent = engfunc(EngFunc_FindEntityByString, ent, "target", cbmStartTargetName))) {
pev(ent, pev_angles, vAngles)
pev(ent, pev_origin, vOrigin)
if(vOrigin[0] != 0.0 && vOrigin[1] != 0.0 && vOrigin[2] != 0.0) {
formatex(szData, 56, "1 %f %f %f %f^n", vOrigin[0], vOrigin[1], vOrigin[2], vAngles[1])
fputs(f, szData)
}
}
ent = 0
while((ent = engfunc(EngFunc_FindEntityByString, ent, "target", cbmStopTargetName))) {
pev(ent, pev_angles, vAngles)
pev(ent, pev_origin, vOrigin)
if(vOrigin[0] != 0.0 && vOrigin[1] != 0.0 && vOrigin[2] != 0.0) {
formatex(szData, 56, "2 %f %f %f %f^n", vOrigin[0], vOrigin[1], vOrigin[2], vAngles[1])
fputs(f, szData)
}
}
formatex(szData, 56, ":: This line to fix double make climb buttons bug ::")
fputs(f, szData)
fclose(f)
client_print(id, print_chat, "[CBM] Saved successfully")
}
}
menu_display(id, cbmMenu, 0)
return PLUGIN_HANDLED
}
stock makeButton(id, szTarget[], type, Float:pOrigin[3], Float:pAnglesY) {
new ent = engfunc(EngFunc_CreateNamedEntity, className)
if(!pev_valid(ent))
return PLUGIN_HANDLED
set_pev(ent, pev_target, szTarget)
set_pev(ent, pev_solid, SOLID_NOT)
set_pev(ent, pev_movetype, MOVETYPE_NONE)
engfunc(EngFunc_SetModel, ent, type == 1 ? cbmStart : cbmStop)
engfunc(EngFunc_SetSize, ent, Float:{-16.0, -16.0, 0.0}, Float:{16.0, 16.0, 64.0})
if(pOrigin[0] == 0.0 && pOrigin[1] == 0.0 && pOrigin[2] == 0.0) {
new origin[3], Float:vOrigin[3]
get_user_origin(id, origin, 3)
IVecFVec(origin, vOrigin)
engfunc(EngFunc_SetOrigin, ent, vOrigin)
}
else
engfunc(EngFunc_SetOrigin, ent, pOrigin)
if(pAnglesY != 0.0) {
new Float:vAngles[3]
pev(ent, pev_angles, vAngles)
vAngles[1] = pAnglesY
set_pev(ent, pev_angles, vAngles)
}
if(isNearSpawn(ent)) {
client_print(id, print_chat, "[CBM] Cannot place near spawns or teleport")
set_pev(ent, pev_flags, pev(ent, pev_flags) | FL_KILLME)
}
SetEntityRendering(ent, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, type == 1 ? 30 : 60);
return 1;
}
stock SetEntityRendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
{
static Float:rendercolor[3];
rendercolor[0] = float(r);
rendercolor[1] = float(g);
rendercolor[2] = float(b);
set_pev(entity, pev_renderfx, fx)
set_pev(entity, pev_rendercolor, rendercolor);
set_pev(entity, pev_rendermode, render);
set_pev(entity, pev_renderamt, float(amount));
return 1;
}
bool:isNearSpawn(id) {
new Float:vOrigin[3], ent, szClassname[33]
pev(id, pev_origin, vOrigin)
while((ent = engfunc(EngFunc_FindEntityInSphere, ent, vOrigin, 64.0))) {
pev(ent, pev_classname, szClassname, 32)
if(equal(szClassname, "info_player_start", 0) || equal(szClassname,"info_player_deathmatch", 0) || equal(szClassname,"info_teleport_destination", 0))
return true
}
return false
}
FindButton(id, action[]) {
new ent, body
get_user_aiming(id, ent, body, 9999)
if(!pev_valid(ent))
client_print(id, print_chat, "[CBM] You must aim at an Climb Button to %s it", action)
else {
new szTarget[33]
pev(ent, pev_target, szTarget, 32)
if(!equal(szTarget, cbmStartTargetName, 0) && !equal(szTarget, cbmStopTargetName, 0))
client_print(id, print_chat, "[CBM] You must aim at an Climb Button to %s it", action)
else {
new Float:vOrigin[3]
pev(ent, pev_origin, vOrigin)
if(vOrigin[0] != 0.0 && vOrigin[1] != 0.0 && vOrigin[2] != 0.0) {
if(equal(szTarget, cbmStartTargetName, 0))
client_print(id, print_chat, "[CBM] Start Climb Button %sd", action)
if(equal(szTarget, cbmStopTargetName, 0))
client_print(id, print_chat, "[CBM] Stop Climb Button %sd", action)
return ent
}
else {
if(equal(szTarget, cbmStartTargetName, 0))
client_print(id, print_chat, "[CBM] This standard Start Climb Button, is not %s", action)
if(equal(szTarget, cbmStopTargetName, 0))
client_print(id, print_chat, "[CBM] This standard Stop Climb Button, is not %s", action)
}
}
}
return 0
}
Link: | |
Linklerini gizle |