Cs 1.6 bhop düğmesi
Moderatör: Moderatörler
-
qalatas06
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 |
-
qalatas06
Konu Sahibi - Mesajlar: 209
- Kayıt: Prş Oca 12, 2017 11:43 am
- Server Ip/DNS: 213.238.173.120
-
qalatas06
Konu Sahibi - Mesajlar: 209
- Kayıt: Prş Oca 12, 2017 11:43 am
- Server Ip/DNS: 213.238.173.120
-
qalatas06
Konu Sahibi - Mesajlar: 209
- Kayıt: Prş Oca 12, 2017 11:43 am
- Server Ip/DNS: 213.238.173.120
-
Snake.
- Mesajlar: 182
- 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 |
-
qalatas06
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 tam olarak bu butonu istiyorum senin attıgında c4 bombası bırakıyor yere
attıgım resimdeki buttondan istiyorum bhop serverlerinde basınca süre baslayacak falan
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 |
-
qalatas06
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 |
-
Snake.
- Mesajlar: 182
- 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 |
-
qalatas06
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 |
-
Snake.
- Mesajlar: 182
- 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 |