|
Neo
|
|
Дата: Суббота, 17.07.2010, 10:07 | Сообщение 1
|
|
Ищем в Blockmaker-е Blockmaker.sma и открываем его. Щас мы будем добовлять Deagle Code #include <amxmodx> #include <amxmisc> #include <engine> #include <fun> #include <cstrike> #include <fakemeta> #pragma semicolon 1; #define PLUGIN "blockmaker" #define VERSION "4.01" #define AUTHOR "Necro" #define BM_ADMIN_LEVEL ADMIN_MENU //admin access level to use this plugin. ADMIN_MENU = flag 'u' new DeagleUsed[33]; Добавляем DeagleUsed[33] Если Deagle это 33 то если будете добовлять еще че нибуть то надо ставить 34 и тд. Далее Code new const gszBlockModelDefault[] = "models/blockmaker/bm_block_default.mdl"; new const gszBlockModelPlatform[] = "models/blockmaker/bm_block_platform.mdl"; new const gszBlockModelBhop[] = "models/blockmaker/bm_block_bhop.mdl"; new const gszBlockModelDamage[] = "models/blockmaker/bm_block_damage.mdl"; new const gszBlockModelHealer[] = "models/blockmaker/bm_block_healer.mdl"; new const gszBlockModelInvincibility[] = "models/blockmaker/bm_block_invincibility.mdl"; new const gszBlockModelStealth[] = "models/blockmaker/bm_block_stealth.mdl"; new const gszBlockModelSpeedBoost[] = "models/blockmaker/bm_block_speedboost.mdl"; new const gszBlockModelNoFallDamage[] = "models/blockmaker/bm_block_nofalldamage.mdl"; new const gszBlockModelIce[] = "models/blockmaker/bm_block_ice.mdl"; new const gszBlockModelDeath[] = "models/blockmaker/bm_block_death.mdl"; new const gszBlockModelNuke[] = "models/blockmaker/bm_block_nuke.mdl"; new const gszBlockModelCamouflage[] = "models/blockmaker/bm_block_camouflage.mdl"; new const gszBlockModelLowGravity[] = "models/blockmaker/bm_block_lowgravity.mdl"; new const gszBlockModelFire[] = "models/blockmaker/bm_block_fire.mdl"; new const gszBlockModelRandom[] = "models/blockmaker/bm_block_random.mdl"; new const gszBlockModelSlap[] = "models/blockmaker/bm_block_slap.mdl"; new const gszBlockModelHoney[] = "models/blockmaker/bm_block_honey.mdl"; new const gszBlockModelBarrierCT[] = "models/blockmaker/bm_block_barrier_ct.mdl"; new const gszBlockModelBarrierT[] = "models/blockmaker/bm_block_barrier_t.mdl"; new const gszBlockModelBootsOfSpeed[] = "models/blockmaker/bm_block_bootsofspeed.mdl"; new const gszBlockModelGlass[] = "models/blockmaker/bm_block_glass.mdl"; new const gszBlockModelBhopNoSlow[] = "models/blockmaker/bm_block_bhop_noslow.mdl"; new const gszBlockModelAutoBhop[] = "models/blockmaker/bm_block_autobhop.mdl"; new const gszBlockModelDeagle[] = "models/blockmaker/bm_block_default.mdl"; Мы добавили new const gszBlockModelDeagle[] = "models/blockmaker/bm_block_default.mdl"; также для каждого блока своя модель ищем и заменяем Code // block & teleport types const gBlockMax = 25; new gSelectedBlockType[gBlockMax]; new gRender[gBlockMax]; new gRed[gBlockMax]; new gGreen[gBlockMax]; new gBlue[gBlockMax]; new gAlpha[gBlockMax]; Далее Code BM_PLATFORM, //A BM_BHOP, //B BM_DAMAGE, //C BM_HEALER, //D BM_NOFALLDAMAGE, //E BM_ICE, //F BM_TRAMPOLINE, //G BM_SPEEDBOOST, //H BM_INVINCIBILITY, //I BM_STEALTH, //J BM_DEATH, //K BM_NUKE, //L BM_CAMOUFLAGE, //M BM_LOWGRAVITY, //N BM_FIRE, //O BM_SLAP, //P BM_RANDOM, //Q BM_HONEY, //R BM_BARRIER_CT, //S BM_BARRIER_T, //T BM_BOOTSOFSPEED, //U BM_GLASS, //V BM_BHOP_NOSLOW, //W BM_AUTO_BHOP, //X BM_DEAGLE, //Y добавили BM_DEAGLE, //Y Code "Platform", "Bunnyhop", "Damage", "Healer", "No Fall Damage", "Ice", "Trampoline", "Speed Boost", "Invincibility", "Stealth", "Death", "Nuke", "Camouflage", "Low Gravity", "Fire", "Slap", "Random", "Honey", "CT Barrier", "T Barrier", "Boots Of Speed", "Glass", "Bunnyhop (No slow down)", "Auto Bunnyhop", "Deagle" Незабудьте, после "Auto Bunnyhop", - запятая После "Deagle" -нету Code new const gBlockSaveIds[gBlockMax] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y' также за место 'Y' Можно ставить цифры '1' Далее Code //set block models to defaults gszBlockModels[BM_PLATFORM] = gszBlockModelPlatform; gszBlockModels[BM_BHOP] = gszBlockModelBhop; gszBlockModels[BM_DAMAGE] = gszBlockModelDamage; gszBlockModels[BM_HEALER] = gszBlockModelHealer; gszBlockModels[BM_NOFALLDAMAGE] = gszBlockModelNoFallDamage; gszBlockModels[BM_ICE] = gszBlockModelIce; gszBlockModels[BM_TRAMPOLINE] = gszBlockModelDefault; gszBlockModels[BM_SPEEDBOOST] = gszBlockModelSpeedBoost; gszBlockModels[BM_INVINCIBILITY] = gszBlockModelInvincibility; gszBlockModels[BM_STEALTH] = gszBlockModelStealth; gszBlockModels[BM_DEATH] = gszBlockModelDeath; gszBlockModels[BM_NUKE] = gszBlockModelNuke; gszBlockModels[BM_CAMOUFLAGE] = gszBlockModelCamouflage; gszBlockModels[BM_LOWGRAVITY] = gszBlockModelLowGravity; gszBlockModels[BM_FIRE] = gszBlockModelFire; gszBlockModels[BM_SLAP] = gszBlockModelSlap; gszBlockModels[BM_RANDOM] = gszBlockModelRandom; gszBlockModels[BM_HONEY] = gszBlockModelHoney; gszBlockModels[BM_BARRIER_CT] = gszBlockModelBarrierCT; gszBlockModels[BM_BARRIER_T] = gszBlockModelBarrierT; gszBlockModels[BM_BOOTSOFSPEED] = gszBlockModelBootsOfSpeed; gszBlockModels[BM_GLASS] = gszBlockModelGlass; gszBlockModels[BM_BHOP_NOSLOW] = gszBlockModelBhopNoSlow; gszBlockModels[BM_AUTO_BHOP] = gszBlockModelAutoBhop; gszBlockModels[BM_DEAGLE] = gszBlockModelDeagle; Делаем все так как в коде Code if (equal(szType, "PLATFORM")) blockType = BM_PLATFORM; else if (equal(szType, "BHOP")) blockType = BM_BHOP; else if (equal(szType, "DAMAGE")) blockType = BM_DAMAGE; else if (equal(szType, "HEALER")) blockType = BM_HEALER; else if (equal(szType, "NOFALLDAMAGE")) blockType = BM_NOFALLDAMAGE; else if (equal(szType, "ICE")) blockType = BM_ICE; else if (equal(szType, "TRAMPOLINE")) blockType = BM_TRAMPOLINE; else if (equal(szType, "SPEEDBOOST")) blockType = BM_SPEEDBOOST; else if (equal(szType, "INVINCIBILITY")) blockType = BM_INVINCIBILITY; else if (equal(szType, "STEALTH")) blockType = BM_STEALTH; else if (equal(szType, "DEATH")) blockType = BM_DEATH; else if (equal(szType, "NUKE")) blockType = BM_NUKE; else if (equal(szType, "CAMOUFLAGE")) blockType = BM_CAMOUFLAGE; else if (equal(szType, "LOWGRAVITY")) blockType = BM_LOWGRAVITY; else if (equal(szType, "FIRE")) blockType = BM_FIRE; else if (equal(szType, "SLAP")) blockType = BM_SLAP; else if (equal(szType, "RANDOM")) blockType = BM_RANDOM; else if (equal(szType, "HONEY")) blockType = BM_HONEY; else if (equal(szType, "BARRIER_CT")) blockType = BM_BARRIER_CT; else if (equal(szType, "BARRIER_T")) blockType = BM_BARRIER_T; else if (equal(szType, "BOOTSOFSPEED")) blockType = BM_BOOTSOFSPEED; else if (equal(szType, "GLASS")) blockType = BM_GLASS; else if (equal(szType, "BHOP_NOSLOW")) blockType = BM_BHOP_NOSLOW; else if (equal(szType, "AUTO_BHOP")) blockType = BM_AUTO_BHOP; else if (equal(szType, "DEAGLE")) blockType = BM_DEAGLE; Находим Code case BM_HEALER: actionHeal(id); case BM_DAMAGE: actionDamage(id); case BM_INVINCIBILITY: actionInvincible(id, false); case BM_STEALTH: actionStealth(id, false); case BM_TRAMPOLINE: actionTrampoline(id); case BM_SPEEDBOOST: actionSpeedBoost(id); case BM_DEATH: actionDeath(id); case BM_NUKE: actionNuke(id, false); case BM_LOWGRAVITY: actionLowGravity(id); case BM_CAMOUFLAGE: actionCamouflage(id, false); case BM_FIRE: actionFire(id, ent); case BM_SLAP: actionSlap(id); case BM_RANDOM: actionRandom(id, ent); case BM_HONEY: actionHoney(id); case BM_BOOTSOFSPEED: actionBootsOfSpeed(id, false); case BM_AUTO_BHOP: actionAutoBhop(id, false); case BM_DEAGLE: actionDeagle(id); добавили case BM_DEAGLE: actionDeagle(id); Находим и добовляем DeagleUsed[id] = false; Code public eventRoundRestart() { //iterate through all players for (new id = 1; id <= 32; ++id) { //reset all players timers resetTimers(id); DeagleUsed[id] = false; } } Далее Code /***** BLOCK ACTIONS *****/ actionDeagle(id) { if (is_user_alive(id) && !DeagleUsed[id] && get_user_team(id) == 1) { give_item(id, "weapon_deagle"); cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_deagle", id), 1); DeagleUsed[id] = true; new deaglename[42]; get_user_name(id, deaglename, 32); set_hudmessage(255, 255, 255, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Be careful CT! %s has a Deagle!", deaglename); } } actionDamage(id) { if (halflife_time() >= gfNextDamageTime[id]) { if (get_user_health(id) > 0) { new Float:amount = get_cvar_float("bm_damageamount"); fakedamage(id, "damage block", amount, DMG_CRUSH); } gfNextDamageTime[id] = halflife_time() + 0.5; } } Добовлять actionDeagle(id) { if (is_user_alive(id) && !DeagleUsed[id] && get_user_team(id) == 1) { give_item(id, "weapon_deagle"); cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_deagle", id), 1); - Эта строка отвечает за кол. патронов DeagleUsed[id] = true; new deaglename[42]; get_user_name(id, deaglename, 32); set_hudmessage(255, 255, 255, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Be careful CT! %s has a Deagle!", deaglename); } } Code case 'A': createBlock(0, BM_PLATFORM, vVec1, axis, size); case 'B': createBlock(0, BM_BHOP, vVec1, axis, size); case 'C': createBlock(0, BM_DAMAGE, vVec1, axis, size); case 'D': createBlock(0, BM_HEALER, vVec1, axis, size); case 'E': createBlock(0, BM_NOFALLDAMAGE, vVec1, axis, size); case 'F': createBlock(0, BM_ICE, vVec1, axis, size); case 'G': createBlock(0, BM_TRAMPOLINE, vVec1, axis, size); case 'H': createBlock(0, BM_SPEEDBOOST, vVec1, axis, size); case 'I': createBlock(0, BM_INVINCIBILITY, vVec1, axis, size); case 'J': createBlock(0, BM_STEALTH, vVec1, axis, size); case 'K': createBlock(0, BM_DEATH, vVec1, axis, size); case 'L': createBlock(0, BM_NUKE, vVec1, axis, size); case 'M': createBlock(0, BM_CAMOUFLAGE, vVec1, axis, size); case 'N': createBlock(0, BM_LOWGRAVITY, vVec1, axis, size); case 'O': createBlock(0, BM_FIRE, vVec1, axis, size); case 'P': createBlock(0, BM_SLAP, vVec1, axis, size); case 'Q': createBlock(0, BM_RANDOM, vVec1, axis, size); case 'R': createBlock(0, BM_HONEY, vVec1, axis, size); case 'S': createBlock(0, BM_BARRIER_CT, vVec1, axis, size); case 'T': createBlock(0, BM_BARRIER_T, vVec1, axis, size); case 'U': createBlock(0, BM_BOOTSOFSPEED, vVec1, axis, size); case 'V': createBlock(0, BM_GLASS, vVec1, axis, size); case 'W': createBlock(0, BM_BHOP_NOSLOW, vVec1, axis, size); case 'X': createBlock(0, BM_AUTO_BHOP, vVec1, axis, size); case 'Y': createBlock(0, BM_DEAGLE, vVec1, axis, size); ВСЕ!
|
|
|
|
|
Neo
|
|
Дата: Суббота, 17.07.2010, 10:07 | Сообщение 2
|
|
Далее скрипты блоков так же проделываете всю операцию с другими блоками Добовлять в /***** BLOCK ACTIONS *****/ 1 AWP Code actionAwp(id) { if (is_user_alive(id) && !AwpUsed[id] && get_user_team(id) == 1) { give_item(id, "weapon_awp"); cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_awp", id), 1); AwpUsed[id] = true; new awpname[42]; get_user_name(id, awpname, 32); set_hudmessage(255, 255, 255, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Be careful CT! %s has a awp!", awpname); } } 2 Damage Bhop: Code action_DMGBhop(id, ent) { if ( get_gametime() >= gfDmgBhopNextUse[id] ) { new fDamage = 10; fakedamage(id, "Damage block", fDamage, DMG_CRUSH); gfDmgBhopNextUse[id] = get_gametime() + 0.5; if ( !task_exists(TASK_SOLIDNOT + ent) && !task_exists(TASK_SOLID + ent) ) { set_task(0.1, "task_SolidNot", TASK_SOLIDNOT + ent); } } } 3 FrostGrenade Code actionFrostGrenade(id, OverrideTimer) { //get game time new Float:fTime = halflife_time(); //make sure player is alive if (fTime >= gfFrostGrenadeNextUse[id] || OverrideTimer) { if ( get_user_team ( id ) == 1 ) { give_item(id, "weapon_smokegrenade"); } //set the time when player can use frost grenade again gfFrostNextUse[id] = fTime + get_cvar_float("bm_frostgrenadecooldown"); //setup hud message to show who nuked what team set_hudmessage(255, 255, 0, -1.0, 0.35, 0, 6.0, 10.0, 1.0, 1.0); } else { set_hudmessage(gHudRed, gHudGreen, gHudBlue, gfTextX, gfTextY, gHudEffects, gfHudFxTime, gfHudHoldTime, gfHudFadeInTime, gfHudFadeOutTime, gHudChannel); show_hudmessage(id, "FROSTNADE BLOCK NEXT USE AFTER 1 ROUND", gfFrostNextUse[id] - fTime); } } 4 FlashGrenade Code actionFlashGrenade(id, OverrideTimer) { //get game time new Float:fTime = halflife_time(); //make sure player is alive if (fTime >= gfFlashGrenadeNextUse[id] || OverrideTimer) { give_item(id, "weapon_flashbang"); { //omg } //set the time when player can use flash grenade again gfFlashNextUse[id] = fTime + get_cvar_float("bm_flashgrenadecooldown"); //setup hud message to show who nuked what team set_hudmessage(255, 255, 0, -1.0, 0.35, 0, 6.0, 10.0, 1.0, 1.0); } else { set_hudmessage(gHudRed, gHudGreen, gHudBlue, gfTextX, gfTextY, gHudEffects, gfHudFxTime, gfHudHoldTime, gfHudFadeInTime, gfHudFadeOutTime, gHudChannel); show_hudmessage(id, "FLASH BLOCK NEXT USE AFTER 1 ROUND", gfFlashNextUse[id] - fTime); } } 5 HeGranade Code actionHeGrenade(id, OverrideTimer) { //get game time new Float:fTime = halflife_time(); //make sure player is alive if (fTime >= gfHENextUse[id] || OverrideTimer) { //ID HE give_item(id, "weapon_hegrenade"); { //omg } //set the time when the player can use the nuke again (someone might have been invincible) gfHENextUse[id] = fTime + get_cvar_float("bm_hecooldown"); //setup hud message to show who nuked what team set_hudmessage(255, 255, 0, -1.0, 0.35, 0, 6.0, 10.0, 1.0, 1.0); } else { set_hudmessage(gHudRed, gHudGreen, gHudBlue, gfTextX, gfTextY, gHudEffects, gfHudFxTime, gfHudHoldTime, gfHudFadeInTime, gfHudFadeOutTime, gHudChannel); show_hudmessage(id, "NEXT USE AFTER 1 ROUND", gfHENextUse[id] - fTime); } } 6 USP Code actionUsp(id) { if (is_user_alive(id) && !UspUsed[id] && get_user_team(id) == 1) { give_item(id, "weapon_usp"); cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_usp", id), 1); UspUsed[id] = true; new uspname[42]; get_user_name(id, uspname, 32); set_hudmessage(255, 255, 255, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "All CTs Run , %s has a USP !!!!!", uspname); } }
|
|
|
|