RSSy MYGO.pl Opublikowano Grudzień 22, 2023 o 14:52 RSSy Udostępnij Opublikowano Grudzień 22, 2023 o 14:52 Hello, I have this Shop/Vip plugin and I would like to know why PHP Code: public Player_TakeDamage multiply the damage of all weapons not only the g_bHasKnifeB and is doing this only to a few players. I disabled it and now the damage is back to normal. But what can I do so that only the knife g_bHasKnifeB to have more dmg ? PHP Code: #pragma semicolon 1#pragma tabsize 0 #include <amxmodx>#include <amxmisc>#include <cstrike>#include <engine>#include <fun>#include <hamsandwich>#include <fakemeta>#include <vault> // Plugins #define PLUGIN "Shop/Vmenu"#define VERSION "1.1"#define AUTHOR "???" // Define-uri#define IsPlayer(%0) ( 1 <= %0 <= g_iMaxPlayers )#define ADMIN_VIP ADMIN_LEVEL_H // Acces vip flag T // Nativenative bb_is_build_phase();native fcs_get_user_credits ( id );native fcs_set_user_credits ( id, credits ); // Variabile new Tag[] = "!g[!teamBASEBUILDER | Shop!g]"; // Aici poti pune tag-ul Shop-uluinew TagVip[] = "!g[!teamBASEBUILDER | V.I.P!g]"; // Aici pui tag pentru V.I.Pnew Speed[33];new VipUsed[33];new HasSpeed; // Bool-urinew Runda[33];new bool:GodMode[33];new bool:g_bHasKnifeB[33];new bool:g_bHasKnifeW[33];new Float:normal_speed = 250.0; public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR); register_event("HLTV", "event_new_round", "a", "1=0", "2=0"); register_event("CurWeapon", "event_curweapon", "be", "1=1"); //RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" ); RegisterHam(Ham_Spawn, "player", "FwdHamSpawn_Post", 1); RegisterHam(Ham_Item_PreFrame, "player", "FwdPreFrame_Post", 1); register_forward ( FM_PlayerPreThink, "ForcePlayerSpeed" ); // Comenzi register_clcmd("say /shop","Shop"); register_clcmd("say_team /shop", "Shop"); register_clcmd("say /vmenu", "cmdVmenu"); register_clcmd("say_team /vmenu", "cmdVmenu");} // Damage ul la SUPERKNIFE/*public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage){ if(iInflictor == iAttacker && iAttacker != iVictim && g_bHasKnifeB[ iAttacker ] && is_user_alive(iAttacker) && get_user_weapon(iAttacker) == CSW_KNIFE ) { SetHamParamFloat(4, fDamage * 2.0); } return HAM_IGNORED;}*/// Modele Cutitenew const g_szKnifeBModel[] = "models/Shop_BaseB/v_superknife_bb.mdl"; // SUPERKNIFE new const g_szKnifeWModel[] = "models/Shop_BaseB/v_clipknife_bb.mdl"; // KNIFE 80% Inv public FwdHamSpawn_Post(id){ if (!is_user_alive(id)) return PLUGIN_HANDLED; HasSpeed = false; VipUsed[id] = false; g_bHasKnifeB[id] = false; g_bHasKnifeW[id] = false; Runda[id] = 0; GodMode[id] = false; Speed[id] = false; set_user_rendering( id, _, 0, 0, 0, _, 0 ); return PLUGIN_HANDLED;} public event_new_round( ){ new iPlayers[32], iNum; get_players(iPlayers, iNum); for(new i = 0;i < iNum; i++) { Runda[iPlayers[i]]=0; GodMode[iPlayers[i]] = false; }}// Precache linepublic plugin_precache( ){ precache_model(g_szKnifeBModel); precache_model(g_szKnifeWModel);} // Asta e pentru switchpublic event_curweapon( id ){ if(g_bHasKnifeB[id] && read_data(2) == CSW_KNIFE) { set_pev(id, pev_viewmodel2, g_szKnifeBModel); set_user_gravity(id, 0.5); }} public FwdPreFrame_Post(id){ if(!is_user_alive(id)) { return PLUGIN_HANDLED; } if(!HasSpeed) { return PLUGIN_HANDLED; } else if(HasSpeed) { set_user_maxspeed(id, normal_speed); } return PLUGIN_HANDLED;} public ForcePlayerSpeed (id){ if ( Speed [ id ] ) { set_pev ( id, pev_maxspeed, 320.0 ); }} public Shop( id ){ if (bb_is_build_phase()) { ChatColor(id, "%s!team Poti folosi !gShop-ul!team dupa timpul de constructie!",Tag); return PLUGIN_HANDLED; } if( Runda[id] < 2 ) { if( get_user_team(id) == 1 ) { ShowShopZM(id); } else if(get_user_team(id) == 2) { ShowShopCT(id); } } else { ChatColor(id, "%s!team Poti folosi !gShop-ul!team de !g2!team ori pe runda!",Tag); return PLUGIN_HANDLED; } return PLUGIN_HANDLED;} public ShowShopZM (id) { if(!is_user_alive(id)) { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); return PLUGIN_HANDLED; } new menu = menu_create ( "\r[BB.LALEAGANE.RO] \yShop ZM", "Menu_Giver_ZM" ); menu_additem ( menu, "\yGravity \w[ \r150 Credits\w]", "0", 0 ); menu_additem ( menu, "\yGodMode \r3 \ysecunde \w[ \r1000 Credits\w]", "1", 0); menu_additem ( menu, "\y1000 \r[HP\r] \w+ \y100 \r[AP\r] \w[ \r600 Credits\w]", "2", 0); menu_additem ( menu, "\y2000 \r[HP\r] \w+ \y100 \r[AP\r] \w[ \r1200 Credits\w]", "3", 0); menu_setprop ( menu, MPROP_NUMBER_COLOR,"\w"); menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL ); menu_display ( id, menu, 0 ); return PLUGIN_HANDLED;} public Menu_Giver_ZM (id, menu, item, client) { if(item == MENU_EXIT || !is_user_alive(id)) { menu_destroy(menu); return PLUGIN_HANDLED; } new data [ 6 ], szName [ 64 ]; new access, callback; menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback ); new key = str_to_num ( data ); switch ( key ) { case 0: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 150; if ( iCredits < 0 ) { new iCredits2 = 150 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2); return PLUGIN_HANDLED; } else { set_user_gravity(id, 0.5); ChatColor(id, "%s!team Ai cumparat !gGravity!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 1: { if(is_user_alive(id) && GodMode[id] == false) { new iCredits = fcs_get_user_credits ( id ) - 1000; if ( iCredits < 0 ) { new iCredits2 = 1000 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2); return PLUGIN_HANDLED; } else { set_user_godmode(id, 1); set_task(3.0,"scoategodmode",id); ChatColor(id, "%s!team Ai cumparat !gGodMode!team pentru !g3 !teamsecunde.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; GodMode[id] = true; return PLUGIN_HANDLED; } } else if(GodMode[id] == true) { ChatColor(id, "%s!team !gLa acest item este voie doar o data pe runda!",Tag); } else { ChatColor(id, "%s!teamNu se poate accesa meniul cand esti mort!",Tag); } } case 2: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 600; if ( iCredits < 0 ) { new iCredits2 = 600 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { set_user_health(id, get_user_health(id) + 1000); set_user_armor(id, get_user_armor(id) + 100); ChatColor(id, "%s!team Ai cumparat !g1000 HP !team+ !g100 AP!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 3: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 1200; if ( iCredits < 0 ) { new iCredits2 = 1200 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { set_user_health(id, get_user_health(id) + 2000); set_user_armor(id, get_user_armor(id) + 100); ChatColor(id, "%s!team Ai cumparat !g2000 HP !team+ !g100 AP!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } } menu_destroy ( menu ); return PLUGIN_HANDLED;}public ShowShopCT(id){ static menu; menu = menu_create ("\r[BB.LALEAGANE.RO] \yShop CT","Menu_Giver_CT"); menu_additem ( menu,"\y100 \r[\yHP\r] \w+ \y100 \r[\yAP\r] \w[ \r200 Credits\w]","0", 0 ); menu_additem ( menu,"\yGrenade Pack \w[ \r100 Credits\w]","1", 0 ); menu_additem ( menu,"\yGodMode \r5 \ysecunde \w[ \r1000 Credits\w]","2", 0 ); menu_additem ( menu,"\ySpeed \w[ \r150 Credits\w]","3", 0 ); menu_additem ( menu,"\rAk47 \yGolden \w[ \r650 Credits\w]","4", 0 ); menu_additem ( menu,"\rM4A1 \yGolden \w[ \r650 Credits\w]","5", 0 ); menu_additem ( menu,"\rDeagle \yGolden \w[ \r500 Credits\w]","6", 0 ); menu_setprop ( menu, MPROP_NUMBER_COLOR,"\w"); menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL ); menu_display ( id, menu, 0 ); return PLUGIN_HANDLED;} public Menu_Giver_CT (id, menu, item, client){ if(item == MENU_EXIT || !is_user_alive(id)) { menu_destroy(menu); return PLUGIN_HANDLED; } new data [ 6 ], szName [ 64 ]; new access, callback; menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback ); new key = str_to_num ( data ); switch ( key ) { case 0: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 200; if ( iCredits < 0 ) { new iCredits2 = 200 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { set_user_health(id, get_user_health(id) + 100); set_user_armor(id, get_user_armor(id) + 100); ChatColor(id, "%s!team Ai cumparat !g100 HP !team+ !g100 AP!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 1: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 100; if ( iCredits < 0 ) { new iCredits2 = 100 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { give_item ( id,"weapon_flashbang" ); give_item ( id,"weapon_hegrenade" ); give_item ( id,"weapon_smokegrenade" ); ChatColor(id, "%s!team Ai cumparat !gGrenade Pack!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 2: { if(is_user_alive(id) && GodMode[id] == false) { new iCredits = fcs_get_user_credits ( id ) - 1000; if ( iCredits < 0 ) { new iCredits2 = 1000 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { set_user_godmode(id, 1); set_task(5.0,"scoategodmode",id); ChatColor(id, "%s!team Ai cumparat !gGodMode!team pentru !g5 !teamsecunde.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; GodMode[id] = true; return PLUGIN_HANDLED; } } else if(GodMode[id] == true) { ChatColor(id, "%s!team !gLa acest item este voie doar o data pe runda!",Tag); } else { ChatColor(id, "%s!teamNu se poate accesa meniul cand esti mort!",Tag); } } case 3: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 150; if ( iCredits < 0 ) { new iCredits2 = 150 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { Speed[id] = true; ForcePlayerSpeed(id); ChatColor(id, "%s!team Ai cumparat !gSpeed!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 4: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 650; if ( iCredits < 0 ) { new iCredits2 = 650 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { client_cmd(id, "Gold_Ak"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); ChatColor(id, "%s!team Ai cumparat !gAK47 Gold!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 5: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 650; if ( iCredits < 0 ) { new iCredits2 = 650 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { client_cmd(id, "Gold_M4A1"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); ChatColor(id, "%s!team Ai cumparat !gM4A1 Gold!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } case 6: { if( is_user_alive(id) ) { new iCredits = fcs_get_user_credits ( id ) - 500; if ( iCredits < 0 ) { new iCredits2 = 500 - fcs_get_user_credits (id); ChatColor(id, "%s!team Nu ai suficiente Credite! Mai ai nevoie de !g%i!team Credite!",Tag,iCredits2 ); return PLUGIN_HANDLED; } else { client_cmd(id, "Gold_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 200); ChatColor(id, "%s!team Ai cumparat !gDeagle Gold!team.",Tag); fcs_set_user_credits ( id, iCredits ); Runda[id]++; return PLUGIN_HANDLED; } } else { ChatColor(id, "%s!team Nu poti accesa meniul cand esti !gmort!team!",Tag); } } } menu_destroy ( menu ); return PLUGIN_HANDLED;}public scoategodmode(id){ if( is_user_connected(id) ) { set_user_godmode(id, 0 ); ChatColor(id, "%s!team A expirat timpul pentru !gGodMode!y!",Tag ); }}public cmdVmenu(id){ if (bb_is_build_phase()) { ChatColor(id, "%s!team Poti folosi !gVIP Menu!team dupa timpul de constructie!",TagVip); return PLUGIN_HANDLED; } if(!(get_user_flags(id) & ADMIN_VIP)) { ChatColor(id, "%s !gNumai membrii !teamVIP pot folosi aceasta comanda!",TagVip); return PLUGIN_HANDLED; } if(VipUsed[id]) { ChatColor(id, "%s Ai folosit deja in aceasta runda meniul !gVIP",TagVip); return PLUGIN_HANDLED; } switch(cs_get_user_team(id)) { case CS_TEAM_T: VipTMenu(id); case CS_TEAM_CT: VipCTMenu(id); } return PLUGIN_HANDLED;} public VipCTMenu(id){ new menu = menu_create("\r[BASEBUILDER] \yVIP Menu \rCT", "VipCTMenu_handler"); menu_additem(menu, "\y250 \r[\yHP\r] \w+ \y100\r[\yAP\r]", "1", 0); menu_additem(menu, "\ySpeed", "2", 0); menu_additem(menu, "\yM249 \w& \yDeagle", "3", 0); menu_additem(menu, "\rAK47 \yGolden", "4", 0); menu_additem(menu, "\rM4A1 \yGolden", "5", 0); menu_additem(menu, "\rDeagle \yGolden", "6", 0); menu_display(id, menu);}public VipCTMenu_handler(id, menu, item){ if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], iName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,5, iName, 63, callback); new key = str_to_num(data); switch(key) { case 1: { set_user_health(id, get_user_health(id) + 250); set_user_armor(id, get_user_armor(id) + 100); VipUsed[id] = true; ChatColor(id, "%s Ai primit !team250HP !g& !team100AP!g!",TagVip); } case 2: { VipUsed[id] = true; Speed[id] = true; ForcePlayerSpeed(id); ChatColor(id, "%s Ai primit !teamSpeed!g!",TagVip); } case 3: { give_item(id, "weapon_m249"); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_M249, 200); cs_set_user_bpammo(id, CSW_DEAGLE, 100); VipUsed[id] = true; ChatColor(id, "%s Ai primit un !teamM249 !g& !teamDeagle!g!",TagVip); } case 4: { client_cmd(id, "Gold_Ak"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); VipUsed[id] = true; ChatColor(id, "%s Ai primit un !teamAK47 Golden!g!",TagVip); } case 5: { client_cmd(id, "Gold_M4A1"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); VipUsed[id] = true; ChatColor(id, "%s Ai primit un !teamM4A1 Golden!g.",TagVip); } case 6: { client_cmd(id, "Gold_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 200); VipUsed[id] = true; ChatColor(id, "%s Ai primit !teamDeagle Golden!g.",TagVip); } } menu_destroy(menu); return PLUGIN_HANDLED;} public VipTMenu(id){ new menu = menu_create("\r[BASEBUILDER] \yVIP Meniu \rZM", "VipTMenu_handler"); menu_additem(menu, "\w+\y1500 \r[\yHP\r]", "1", 0); menu_additem(menu, "\rSUPERKNIFE \w+ \y1000 \r[\yHP\r]", "2", 0); menu_additem(menu, "\rKNIFE \w80%Clip + \y1000 \r[\yHP\r]", "3", 0); menu_display(id, menu);} public VipTMenu_handler(id, menu, item){ if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], iName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,5, iName, 63, callback); new key = str_to_num(data); switch(key) { case 1: { set_user_health(id, get_user_health(id) + 1500); VipUsed[id] = true; ChatColor(id, "%s Ai primit !team1500 !gHP.",TagVip); } case 2: { set_user_health(id, get_user_health(id) + 1000); Speed[id] = true; ForcePlayerSpeed(id); set_pev(id, pev_viewmodel2, "models/Shop_BaseB/v_superknife_bb.mdl"); g_bHasKnifeB[id] = true; VipUsed[id] = true; ChatColor(id, "%s Ai primit !teamSUPER KNIFE !g+ !team1000HP!g.",TagVip); } case 3: { set_user_health(id, get_user_health(id) + 1000); Speed[id] = true; ForcePlayerSpeed(id); set_pev(id, pev_viewmodel2, "models/Shop_BaseB/v_clipknife_bb.mdl"); g_bHasKnifeW[id] = true; set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 125); VipUsed[id] = true; ChatColor(id, "%s Ai primit !teamSUPER KNIFE 80% Invizibilitate !g+ !team1000HP!g.",TagVip); } } menu_destroy(menu); return PLUGIN_HANDLED;} public client_putinserver(id){ GodMode[id] = false;} //********************STOCK-URI******************** stock ChatColor(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, "!team", "^3"); 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(); } } } } Przeczytaj cały wpis Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi