Denone

Użytkownik
  • Zawartość

    38
  • Dołączył

  • Ostatnio

Reputacja

1 Silver I

O Denone

  • Ranga
    Silver II

Ostatnio na profilu byli

427 wyświetleń profilu
  1. Błędne sp

    Do zamknięcia.
  2. Błędne sp

    Witam, mam problem z smx do nowego cod moda, stworzyłem klasę która ma podwójny skok lecz inni gracze z darmowych klas też posiadają podwójny skok krótko to opisując klasa buguje podwójny skok i daję innym graczom podwójny skok. Post głównie kieruje do @Linux` dziękuje za pomoc. Sp: #include <sourcemod> #include <sdkhooks> #include <sdktools> #include <codmod> new const String:nazwa[] = "[VIP] Zawodowy Bomber"; new const String:opis[] = "Posiada podwojny skok jest bardziej wytrzymaly oraz ma trzy miny, moc ich obrazen (+int)"; new const String:bronie[] = "#weapon_ak47#weapon_glock"; new const inteligencja = 10; new const zdrowie = 20; new const obrazenia = 5; new const wytrzymalosc = 20; new const kondycja = 15; new bool:ma_klase[65], ilosc_min_gracza[65]; new sprite_explosion; public Plugin:myinfo = { name = nazwa, author = "Denone`", description = "Cod Klasa", version = "1.0", url = "http://steamcommunity.com/id/linux2006" }; public OnPluginStart() { CreateTimer(0.10, RegisterStart, 0); HookEvent("player_spawn", OdrodzenieGracza); } public OnMapStart() { //PrecacheModel("models/props/de_prodigy/fanhousing.mdl"); PrecacheModel("models/weapons/w_c4_planted.mdl"); sprite_explosion = PrecacheModel("materials/sprites/blueflare1.vmt"); PrecacheSound("weapons/hegrenade/explode5.wav"); } public cod_class_enabled(client) { ma_klase[client] = true; ilosc_min_gracza[client] = 3; if(GetUserFlagBits(client) & ADMFLAG_RESERVATION) { ma_klase[client] = true; return COD_CONTINUE; } PrintToChat(client, "%s Klasa dostępna tylko dla posiadaczy VIP", PREFIX); return COD_STOP; } public cod_class_disabled(client) { ma_klase[client] = false; } public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapons) { if(!IsValidClient(client) || !ma_klase[client]) return Plugin_Continue; if(!IsPlayerAlive(client)) return Plugin_Continue; static bool:oldbuttons[65]; if(!oldbuttons[client] && buttons & IN_JUMP) { static bool:multijump[65]; new flags = GetEntityFlags(client); if(!(flags & FL_ONGROUND) && !multijump[client]) { new Float:forigin[3]; GetEntPropVector(client, Prop_Data, "m_vecVelocity", forigin); forigin[2] += 250.0; TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, forigin); multijump[client] = true; } else if(flags & FL_ONGROUND) multijump[client] = false; oldbuttons[client] = true; } else if(oldbuttons[client] && !(buttons & IN_JUMP)) oldbuttons[client] = false; return Plugin_Continue; } public cod_class_skill_used(client) { if(!ilosc_min_gracza[client]) PrintToChat(client, "%s Wykorzystales juz moc swojej klasy w tym zyciu!", PREFIX); else { new ent = CreateEntityByName("hegrenade_projectile"); if(ent != -1) { new Float:forigin[3]; GetClientEyePosition(client, forigin); new Float:fangles[3]; GetClientEyeAngles(client, fangles); new Float:iangles[3]; iangles[1] = fangles[1]; DispatchSpawn(ent); ActivateEntity(ent); //SetEntityModel(ent, "models/props/de_prodigy/fanhousing.mdl"); SetEntityModel(ent, "models/weapons/w_c4_planted.mdl"); SetEntityMoveType(ent, MOVETYPE_STEP); TeleportEntity(ent, forigin, iangles, NULL_VECTOR); SetEntProp(ent, Prop_Send, "m_usSolidFlags", 12); SetEntProp(ent, Prop_Data, "m_nSolidType", 6); SetEntProp(ent, Prop_Send, "m_CollisionGroup", 1); SetEntPropEnt(ent, Prop_Send, "m_hOwnerEntity", client); SDKHook(ent, SDKHook_StartTouchPost, DotykMiny); ilosc_min_gracza[client] --; } } } public Action:DotykMiny(ent, client) { if(!IsValidEntity(ent)) return Plugin_Continue; new attacker = GetEntPropEnt(ent, Prop_Send, "m_hOwnerEntity"); if(!IsValidClient(attacker) || !ma_klase[attacker]) { AcceptEntityInput(ent, "Kill"); return Plugin_Continue; } if(!IsValidClient(client) || IsValidClient(client) && GetClientTeam(attacker) == GetClientTeam(client)) return Plugin_Continue; new Float:forigin[3], Float:iorigin[3]; GetEntPropVector(ent, Prop_Send, "m_vecOrigin", forigin); new damage = 40+RoundFloat(cod_get_user_maks_intelligence(attacker)*0.5); for(new i = 1; i <= MaxClients; i++) { if(!IsClientInGame(i) || !IsPlayerAlive(i)) continue; if(GetClientTeam(attacker) == GetClientTeam(i)) continue; GetClientEyePosition(i, iorigin); if(GetVectorDistance(forigin, iorigin) <= 200.0) { if(cod_get_user_class(i) == cod_get_classid("Obronca")) continue; cod_inflict_damage(i, attacker, damage); } } EmitSoundToAll("weapons/hegrenade/explode5.wav", ent, SNDCHAN_AUTO, SNDLEVEL_GUNFIRE); TE_SetupExplosion(forigin, sprite_explosion, 10.0, 1, 0, 100, 100); TE_SendToAll(); AcceptEntityInput(ent, "Kill"); return Plugin_Continue; } public Action:OdrodzenieGracza(Handle:event, String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); if(!IsValidClient(client) || !ma_klase[client]) return Plugin_Continue; ilosc_min_gracza[client] = 3; return Plugin_Continue; } public Action:RegisterStart(Handle:timer) { cod_register_class(nazwa, opis, bronie, inteligencja, zdrowie, obrazenia, wytrzymalosc, kondycja); }
  3. RPG HUD

    @mastah7991 #pragma semicolon 1 #include <sourcemod> #include <topmenus> #include <smrpg> #include <smlib/clients> #include <smrpg/smrpg_clients> #include <smrpg/smrpg_topmenu> #undef REQUIRE_EXTENSIONS #include <clientprefs> #pragma newdecls required #define SECONDS_EXP_AVG_CALC 60.0 #define EXP_MEMORY_SIZE 10 // RPG Topmenu TopMenu g_hRPGMenu; // Clientprefs bool g_bClientHidePanel[MAXPLAYERS+1]; Handle g_hCookieHidePanel; // Last experience memory int g_iLastExperience[MAXPLAYERS+1]; ArrayList g_hExperienceMemory[MAXPLAYERS+1]; int g_iExperienceThisMinute[MAXPLAYERS+1]; float g_fExperienceAverage[MAXPLAYERS+1]; bool g_bIsCSGO; public Plugin myinfo = { name = "SM:RPG > Key Hint Infopanel", author = "Jannik \"Peace-Maker\" Hartung", description = "Shows some RPG stats in a panel on the screen", version = SMRPG_VERSION, url = "http://www.wcfan.de/" } public void OnPluginStart() { LoadTranslations("common.phrases"); LoadTranslations("smrpg.phrases"); LoadTranslations("smrpg_keyhint_info.phrases"); TopMenu hTopMenu; if((hTopMenu = SMRPG_GetTopMenu()) != null) SMRPG_OnRPGMenuReady(hTopMenu); if(LibraryExists("clientprefs")) OnLibraryAdded("clientprefs"); g_bIsCSGO = GetEngineVersion() == Engine_CSGO; for(int i=1;i<=MaxClients;i++) { if(IsClientInGame(i)) OnClientPutInServer(i); } } public void OnLibraryAdded(const char[] name) { if(StrEqual(name, "clientprefs")) { g_hCookieHidePanel = RegClientCookie("smrpg_keyhint_hide", "Hide the rpg info panel showing RPG stats.", CookieAccess_Protected); } } public void OnLibraryRemoved(const char[] name) { if(StrEqual(name, "clientprefs")) { g_hCookieHidePanel = null; } } public void OnClientCookiesCached(int client) { char sBuffer[4]; GetClientCookie(client, g_hCookieHidePanel, sBuffer, sizeof(sBuffer)); g_bClientHidePanel[client] = StringToInt(sBuffer)==1; } public void OnClientPutInServer(int client) { g_hExperienceMemory[client] = new ArrayList(); } public void OnClientDisconnect(int client) { g_bClientHidePanel[client] = false; g_iLastExperience[client] = 0; ClearHandle(g_hExperienceMemory[client]); g_iExperienceThisMinute[client] = 0; g_fExperienceAverage[client] = 0.0; } public void OnMapStart() { CreateTimer(1.0, Timer_ShowInfoPanel, _, TIMER_FLAG_NO_MAPCHANGE|TIMER_REPEAT); CreateTimer(SECONDS_EXP_AVG_CALC, Timer_CalculateEstimatedLevelupTime, _, TIMER_FLAG_NO_MAPCHANGE|TIMER_REPEAT); } public Action Timer_ShowInfoPanel(Handle timer) { if(!SMRPG_IsEnabled()) return Plugin_Continue; int iTarget; Obs_Mode iMode; char sBuffer[512]; int iLevel, iExp, iExpForLevel, iExpNeeded; char sTime[32]; int iRankCount = SMRPG_GetRankCount(); for(int i=1;i<=MaxClients;i++) { // This player doesn't want this info. if(g_bClientHidePanel[i]) continue; if(!IsClientInGame(i) || IsFakeClient(i)) continue; iTarget = i; // Show info of the player he's spectating if(IsClientObserver(i) || !IsPlayerAlive(i)) { // Only care for direct spectating of some player. iMode = Client_GetObserverMode(i); if(iMode != OBS_MODE_CHASE && iMode != OBS_MODE_IN_EYE) continue; // Make sure he's really observing someone. iTarget = Client_GetObserverTarget(i); if(iTarget <= 0 || iTarget > MaxClients) continue; } // CS:GO doesn't support the KeyHint usermessage. // Show a 3 line formatted HintText instead. if (g_bIsCSGO) strcopy(sBuffer, sizeof(sBuffer), "<font size=\"20\"><u>TEKST TEKST</u></font>"); else strcopy(sBuffer, sizeof(sBuffer), "Tekst tekst\n"); // Show the name of the player he's spectating if(iTarget != i) { if (g_bIsCSGO) Format(sBuffer, sizeof(sBuffer), "%s for <font color=\"#ff0000\">%N</font>\n", sBuffer, iTarget); else Format(sBuffer, sizeof(sBuffer), "%s%N\n", sBuffer, iTarget); } else if (g_bIsCSGO) StrCat(sBuffer, sizeof(sBuffer), "\n"); iLevel = SMRPG_GetClientLevel(iTarget); iExp = SMRPG_GetClientExperience(iTarget), iExpForLevel = SMRPG_LevelToExperience(iLevel); if (g_bIsCSGO) { Format(sBuffer, sizeof(sBuffer), "%s<font size=\"16\">%T\t", sBuffer, "Level", i, iLevel); Format(sBuffer, sizeof(sBuffer), "%s%T\t", sBuffer, "Experience short", i, iExp, iExpForLevel); Format(sBuffer, sizeof(sBuffer), "%s%T</font>", sBuffer, "Credits", i, SMRPG_GetClientCredits(iTarget)); } else { Format(sBuffer, sizeof(sBuffer), "%s\n%T\n", sBuffer, "Level", i, iLevel); Format(sBuffer, sizeof(sBuffer), "%s%T\n", sBuffer, "Experience short", i, iExp, iExpForLevel); Format(sBuffer, sizeof(sBuffer), "%s%T", sBuffer, "Credits", i, SMRPG_GetClientCredits(iTarget)); } // No space for that in CS:GO :( if (!g_bIsCSGO) { int iRank = SMRPG_GetClientRank(iTarget); if(iRank > 0) Format(sBuffer, sizeof(sBuffer), "%s\n%T", sBuffer, "Rank", i, iRank, iRankCount); } if(g_fExperienceAverage[iTarget] > 0.0) { iExpNeeded = iExpForLevel - iExp; SecondsToString(sTime, sizeof(sTime), RoundToCeil(float(iExpNeeded)/g_fExperienceAverage[iTarget]*SECONDS_EXP_AVG_CALC)); if (g_bIsCSGO) Format(sBuffer, sizeof(sBuffer), "%s\t<font size=\"15\" color=\"#00ff00\"><i>%T: %s</i></font>", sBuffer, "Estimated time until levelup", i, sTime); else Format(sBuffer, sizeof(sBuffer), "%s\n%T: %s", sBuffer, "Estimated time until levelup", i, sTime); } // Not enough space in csgo.. if(!g_bIsCSGO) { if(g_iLastExperience[iTarget] > 0) Format(sBuffer, sizeof(sBuffer), "%s\n%T: +%d", sBuffer, "Last Experience Short", i, g_iLastExperience[iTarget]); if(SMRPG_IsClientAFK(iTarget)) Format(sBuffer, sizeof(sBuffer), "%s\n\n%T", sBuffer, "Player is AFK", i); } if (g_bIsCSGO) Client_PrintHintText(i, "%s", sBuffer); else Client_PrintKeyHintText(i, "%s", sBuffer); } return Plugin_Continue; } public Action Timer_CalculateEstimatedLevelupTime(Handle timer) { int iCount, iTotalExp; for(int client=1;client<=MaxClients;client++) { if(!IsClientInGame(client)) continue; iCount = GetArraySize(g_hExperienceMemory[client]); if(iCount < EXP_MEMORY_SIZE) { g_hExperienceMemory[client].Push(g_iExperienceThisMinute[client]); } // Keep the array at EXP_MEMORY_SIZE size else { g_hExperienceMemory[client].ShiftUp(0); g_hExperienceMemory[client].Set(0, g_iExperienceThisMinute[client]); g_hExperienceMemory[client].Erase(EXP_MEMORY_SIZE); } // Start counting experience for the next minute. g_iExperienceThisMinute[client] = 0; // Get the average over the past few minutes iCount = g_hExperienceMemory[client].Length; iTotalExp = 0; for(int i=0;i<iCount;i++) { iTotalExp += g_hExperienceMemory[client].Get(i); } g_fExperienceAverage[client] = float(iTotalExp)/float(iCount); } } public void SMRPG_OnAddExperiencePost(int client, const char[] reason, int iExperience, int other) { g_iLastExperience[client] = iExperience; g_iExperienceThisMinute[client] += iExperience; } /** * RPG Topmenu stuff */ public void SMRPG_OnRPGMenuReady(TopMenu topmenu) { // Block us from being called twice! if(g_hRPGMenu == topmenu) return; g_hRPGMenu = topmenu; TopMenuObject iTopMenuSettings = g_hRPGMenu.FindCategory(RPGMENU_SETTINGS); if(iTopMenuSettings != INVALID_TOPMENUOBJECT) { g_hRPGMenu.AddItem("rpgkeyhint_showinfo", TopMenu_SettingsItemHandler, iTopMenuSettings); } } public void TopMenu_SettingsItemHandler(TopMenu topmenu, TopMenuAction action, TopMenuObject object_id, int param, char[] buffer, int maxlength) { switch(action) { case TopMenuAction_DisplayOption: { Format(buffer, maxlength, "%T: %T", "Hide stats info panel on the right", param, (g_bClientHidePanel[param]?"Yes":"No"), param); } case TopMenuAction_SelectOption: { g_bClientHidePanel[param] = !g_bClientHidePanel[param]; if(g_hCookieHidePanel != null && AreClientCookiesCached(param)) { char sBuffer[4]; IntToString(g_bClientHidePanel[param], sBuffer, sizeof(sBuffer)); SetClientCookie(param, g_hCookieHidePanel, sBuffer); } topmenu.Display(param, TopMenuPosition_LastCategory); // Hide the panel right away to be responsive! if(g_bClientHidePanel[param] && !g_bIsCSGO) Client_PrintKeyHintText(param, ""); } } } // Taken from SourceBans 2's sb_bans :) void SecondsToString(char[] sBuffer, int iLength, int iSecs, bool bTextual = true) { if(bTextual) { char sDesc[6][8] = {"mo", "wk", "d", "hr", "min", "sec"}; int iCount, iDiv[6] = {60 * 60 * 24 * 30, 60 * 60 * 24 * 7, 60 * 60 * 24, 60 * 60, 60, 1}; sBuffer[0] = '\0'; for(int i = 0; i < sizeof(iDiv); i++) { if((iCount = iSecs / iDiv[i]) > 0) { Format(sBuffer, iLength, "%s%i %s, ", sBuffer, iCount, sDesc[i]); iSecs %= iDiv[i]; } } sBuffer[strlen(sBuffer) - 2] = '\0'; } else { int iHours = iSecs / 60 / 60; iSecs -= iHours * 60 * 60; int iMins = iSecs / 60; iSecs %= 60; Format(sBuffer, iLength, "%02i:%02i:%02i", iHours, iMins, iSecs); } }
  4. RPG HUD

    Tak jak napisałem, po zmianie wartości która podałeś wyświetla się %s [/img]
  5. RPG HUD

    Witam użytkowników forum :), zwracam się do was z prośbą o pomoc chciałbym aby hud rpg'a nie wyświetlał RPG stats lecz mój własny wpis. Wyglądać ma to tak: [/img] A standardowo: [/img] o to sp tego pluginu, próbowałem sam to zrobić, lecz się nie udało na hudzie pokazuje %s #pragma semicolon 1 #include <sourcemod> #include <topmenus> #include <smrpg> #include <smlib/clients> #include <smrpg/smrpg_clients> #include <smrpg/smrpg_topmenu> #undef REQUIRE_EXTENSIONS #include <clientprefs> #pragma newdecls required #define SECONDS_EXP_AVG_CALC 60.0 #define EXP_MEMORY_SIZE 10 // RPG Topmenu TopMenu g_hRPGMenu; // Clientprefs bool g_bClientHidePanel[MAXPLAYERS+1]; Handle g_hCookieHidePanel; // Last experience memory int g_iLastExperience[MAXPLAYERS+1]; ArrayList g_hExperienceMemory[MAXPLAYERS+1]; int g_iExperienceThisMinute[MAXPLAYERS+1]; float g_fExperienceAverage[MAXPLAYERS+1]; bool g_bIsCSGO; public Plugin myinfo = { name = "SM:RPG > Key Hint Infopanel", author = "Jannik \"Peace-Maker\" Hartung", description = "Shows some RPG stats in a panel on the screen", version = SMRPG_VERSION, url = "http://www.wcfan.de/" } public void OnPluginStart() { LoadTranslations("common.phrases"); LoadTranslations("smrpg.phrases"); LoadTranslations("smrpg_keyhint_info.phrases"); TopMenu hTopMenu; if((hTopMenu = SMRPG_GetTopMenu()) != null) SMRPG_OnRPGMenuReady(hTopMenu); if(LibraryExists("clientprefs")) OnLibraryAdded("clientprefs"); g_bIsCSGO = GetEngineVersion() == Engine_CSGO; for(int i=1;i<=MaxClients;i++) { if(IsClientInGame(i)) OnClientPutInServer(i); } } public void OnLibraryAdded(const char[] name) { if(StrEqual(name, "clientprefs")) { g_hCookieHidePanel = RegClientCookie("smrpg_keyhint_hide", "Hide the rpg info panel showing RPG stats.", CookieAccess_Protected); } } public void OnLibraryRemoved(const char[] name) { if(StrEqual(name, "clientprefs")) { g_hCookieHidePanel = null; } } public void OnClientCookiesCached(int client) { char sBuffer[4]; GetClientCookie(client, g_hCookieHidePanel, sBuffer, sizeof(sBuffer)); g_bClientHidePanel[client] = StringToInt(sBuffer)==1; } public void OnClientPutInServer(int client) { g_hExperienceMemory[client] = new ArrayList(); } public void OnClientDisconnect(int client) { g_bClientHidePanel[client] = false; g_iLastExperience[client] = 0; ClearHandle(g_hExperienceMemory[client]); g_iExperienceThisMinute[client] = 0; g_fExperienceAverage[client] = 0.0; } public void OnMapStart() { CreateTimer(1.0, Timer_ShowInfoPanel, _, TIMER_FLAG_NO_MAPCHANGE|TIMER_REPEAT); CreateTimer(SECONDS_EXP_AVG_CALC, Timer_CalculateEstimatedLevelupTime, _, TIMER_FLAG_NO_MAPCHANGE|TIMER_REPEAT); } public Action Timer_ShowInfoPanel(Handle timer) { if(!SMRPG_IsEnabled()) return Plugin_Continue; int iTarget; Obs_Mode iMode; char sBuffer[512]; int iLevel, iExp, iExpForLevel, iExpNeeded; char sTime[32]; int iRankCount = SMRPG_GetRankCount(); for(int i=1;i<=MaxClients;i++) { // This player doesn't want this info. if(g_bClientHidePanel[i]) continue; if(!IsClientInGame(i) || IsFakeClient(i)) continue; iTarget = i; // Show info of the player he's spectating if(IsClientObserver(i) || !IsPlayerAlive(i)) { // Only care for direct spectating of some player. iMode = Client_GetObserverMode(i); if(iMode != OBS_MODE_CHASE && iMode != OBS_MODE_IN_EYE) continue; // Make sure he's really observing someone. iTarget = Client_GetObserverTarget(i); if(iTarget <= 0 || iTarget > MaxClients) continue; } // CS:GO doesn't support the KeyHint usermessage. // Show a 3 line formatted HintText instead. if (g_bIsCSGO) strcopy(sBuffer, sizeof(sBuffer), "<font size=\"20\"><u>RPG Stats</u></font>"); else strcopy(sBuffer, sizeof(sBuffer), "RPG Stats\n"); // Show the name of the player he's spectating if(iTarget != i) { if (g_bIsCSGO) Format(sBuffer, sizeof(sBuffer), "%s for <font color=\"#ff0000\">%N</font>\n", sBuffer, iTarget); else Format(sBuffer, sizeof(sBuffer), "%s%N\n", sBuffer, iTarget); } else if (g_bIsCSGO) StrCat(sBuffer, sizeof(sBuffer), "\n"); iLevel = SMRPG_GetClientLevel(iTarget); iExp = SMRPG_GetClientExperience(iTarget), iExpForLevel = SMRPG_LevelToExperience(iLevel); if (g_bIsCSGO) { Format(sBuffer, sizeof(sBuffer), "%s<font size=\"16\">%T\t", sBuffer, "Level", i, iLevel); Format(sBuffer, sizeof(sBuffer), "%s%T\t", sBuffer, "Experience short", i, iExp, iExpForLevel); Format(sBuffer, sizeof(sBuffer), "%s%T</font>", sBuffer, "Credits", i, SMRPG_GetClientCredits(iTarget)); } else { Format(sBuffer, sizeof(sBuffer), "%s\n%T\n", sBuffer, "Level", i, iLevel); Format(sBuffer, sizeof(sBuffer), "%s%T\n", sBuffer, "Experience short", i, iExp, iExpForLevel); Format(sBuffer, sizeof(sBuffer), "%s%T", sBuffer, "Credits", i, SMRPG_GetClientCredits(iTarget)); } // No space for that in CS:GO :( if (!g_bIsCSGO) { int iRank = SMRPG_GetClientRank(iTarget); if(iRank > 0) Format(sBuffer, sizeof(sBuffer), "%s\n%T", sBuffer, "Rank", i, iRank, iRankCount); } if(g_fExperienceAverage[iTarget] > 0.0) { iExpNeeded = iExpForLevel - iExp; SecondsToString(sTime, sizeof(sTime), RoundToCeil(float(iExpNeeded)/g_fExperienceAverage[iTarget]*SECONDS_EXP_AVG_CALC)); if (g_bIsCSGO) Format(sBuffer, sizeof(sBuffer), "%s\t<font size=\"15\" color=\"#00ff00\"><i>%T: %s</i></font>", sBuffer, "Estimated time until levelup", i, sTime); else Format(sBuffer, sizeof(sBuffer), "%s\n%T: %s", sBuffer, "Estimated time until levelup", i, sTime); } // Not enough space in csgo.. if(!g_bIsCSGO) { if(g_iLastExperience[iTarget] > 0) Format(sBuffer, sizeof(sBuffer), "%s\n%T: +%d", sBuffer, "Last Experience Short", i, g_iLastExperience[iTarget]); if(SMRPG_IsClientAFK(iTarget)) Format(sBuffer, sizeof(sBuffer), "%s\n\n%T", sBuffer, "Player is AFK", i); } if (g_bIsCSGO) Client_PrintHintText(i, "%s", sBuffer); else Client_PrintKeyHintText(i, "%s", sBuffer); } return Plugin_Continue; } public Action Timer_CalculateEstimatedLevelupTime(Handle timer) { int iCount, iTotalExp; for(int client=1;client<=MaxClients;client++) { if(!IsClientInGame(client)) continue; iCount = GetArraySize(g_hExperienceMemory[client]); if(iCount < EXP_MEMORY_SIZE) { g_hExperienceMemory[client].Push(g_iExperienceThisMinute[client]); } // Keep the array at EXP_MEMORY_SIZE size else { g_hExperienceMemory[client].ShiftUp(0); g_hExperienceMemory[client].Set(0, g_iExperienceThisMinute[client]); g_hExperienceMemory[client].Erase(EXP_MEMORY_SIZE); } // Start counting experience for the next minute. g_iExperienceThisMinute[client] = 0; // Get the average over the past few minutes iCount = g_hExperienceMemory[client].Length; iTotalExp = 0; for(int i=0;i<iCount;i++) { iTotalExp += g_hExperienceMemory[client].Get(i); } g_fExperienceAverage[client] = float(iTotalExp)/float(iCount); } } public void SMRPG_OnAddExperiencePost(int client, const char[] reason, int iExperience, int other) { g_iLastExperience[client] = iExperience; g_iExperienceThisMinute[client] += iExperience; } /** * RPG Topmenu stuff */ public void SMRPG_OnRPGMenuReady(TopMenu topmenu) { // Block us from being called twice! if(g_hRPGMenu == topmenu) return; g_hRPGMenu = topmenu; TopMenuObject iTopMenuSettings = g_hRPGMenu.FindCategory(RPGMENU_SETTINGS); if(iTopMenuSettings != INVALID_TOPMENUOBJECT) { g_hRPGMenu.AddItem("rpgkeyhint_showinfo", TopMenu_SettingsItemHandler, iTopMenuSettings); } } public void TopMenu_SettingsItemHandler(TopMenu topmenu, TopMenuAction action, TopMenuObject object_id, int param, char[] buffer, int maxlength) { switch(action) { case TopMenuAction_DisplayOption: { Format(buffer, maxlength, "%T: %T", "Hide stats info panel on the right", param, (g_bClientHidePanel[param]?"Yes":"No"), param); } case TopMenuAction_SelectOption: { g_bClientHidePanel[param] = !g_bClientHidePanel[param]; if(g_hCookieHidePanel != null && AreClientCookiesCached(param)) { char sBuffer[4]; IntToString(g_bClientHidePanel[param], sBuffer, sizeof(sBuffer)); SetClientCookie(param, g_hCookieHidePanel, sBuffer); } topmenu.Display(param, TopMenuPosition_LastCategory); // Hide the panel right away to be responsive! if(g_bClientHidePanel[param] && !g_bIsCSGO) Client_PrintKeyHintText(param, "TEKTSTTT"); } } } // Taken from SourceBans 2's sb_bans :) void SecondsToString(char[] sBuffer, int iLength, int iSecs, bool bTextual = true) { if(bTextual) { char sDesc[6][8] = {"mo", "wk", "d", "hr", "min", "sec"}; int iCount, iDiv[6] = {60 * 60 * 24 * 30, 60 * 60 * 24 * 7, 60 * 60 * 24, 60 * 60, 60, 1}; sBuffer[0] = '\0'; for(int i = 0; i < sizeof(iDiv); i++) { if((iCount = iSecs / iDiv[i]) > 0) { Format(sBuffer, iLength, "%s%i %s, ", sBuffer, iCount, sDesc[i]); iSecs %= iDiv[i]; } } sBuffer[strlen(sBuffer) - 2] = '\0'; } else { int iHours = iSecs / 60 / 60; iSecs -= iHours * 60 * 60; int iMins = iSecs / 60; iSecs %= 60; Format(sBuffer, iLength, "%02i:%02i:%02i", iHours, iMins, iSecs); } }
  6. Niewidzalność broni

    Skąd mam wziąć model standardowy i jak go edytować aby nie było widać textur etc...? Leci + za pomoc.
  7. Niewidzalność broni

    Witam, mam pytanie dotyczące coda, jak sprawić aby broń klasy była niewidoczna mam tu na myśli klasę która jest niewidzialna chcę aby niewidzialnej klasie nie było widać broni np. kosy, ak etc... pisałem do linuxa otrzymałem link do tego postu https://forums.alliedmods.net/showthread.php?t=199040 próbowałem podmienić modele ale nie otrzymałem żadnego rezultatu pewnie coś wykonałem źle dziękuje za pomoc . :)
  8. ROZWIĄZANE Admin say

    Witam, poszukuje pluginu , wygląda on tak. Gdy zaczynami pisać jako admin czyli say @ tekst pokazuje się UWAGA: tekst. Napis uwaga ma kolor czerwony.
  9. ROZWIĄZANE Bot GOTV

    Witam, przejdę do konkretu, mam problem z botem gotv mam na myśli hltv, jest w drużynie tt lub ct. Nie wiem jak to zrobić aby bot był na spect, pracowałem na maszynie vps nie miałem dużo hostingów a teraz mam. Dzięki za pomoc :).
  10. ROZWIĄZANE Abner

    Witam, mimo prawidłowych ustawień pluginu Abner Res plugin nie działa, jest napisane że pliki mp3 załadowano lecz gdy jest koniec rundy to i tak nie słychać muzyki. Pewnie ktoś będzie chciał abner.cfg // Default: "misc/tecnohard" res_ct_path "misc/tecnohard" // 1 - Random, 2- Play in queue // - // Default: "1" res_play_type "1" // Print mp3 name in chat (Suggested by m22b) // - // Default: "1" res_print_to_chat_mp3_name "1" // 0 - Don´t play sounds, 1 - Play TR sounds, 2 - Play CT sounds. // - // Default: "0" res_rounddraw_play "0" // Stop map musics // - // Default: "1" res_stop_map_music "0" // Path off tr sounds in /csgo/sound // - // Default: "misc/tecnohard" res_tr_path "misc/tecnohard"
  11. 01 "Client Preferences" (1.7.3-dev+5298) by AlliedModders LLC 02 "Admin File Reader" (1.7.3-dev+5298) by AlliedModders LLC 03 "Basic Comm Control" (1.7.3-dev+5298) by AlliedModders LLC 04 "Basic Votes" (1.7.3-dev+5298) by AlliedModders LLC 05 "Anti-Flood" (1.7.3-dev+5298) by AlliedModders LLC 06 "Reserved Slots" (1.7.3-dev+5298) by AlliedModders LLC 07 "Basic Ban Commands" (1.7.3-dev+5298) by AlliedModders LLC 08 "Basic Chat" (1.7.3-dev+5298) by AlliedModders LLC 09 "Admin Help" (1.7.3-dev+5298) by AlliedModders LLC 10 "Basic Info Triggers" (1.7.3-dev+5298) by AlliedModders LLC 11 "Basebuilder 2.2.6" (2.00) by boomix & zipcore 12 "Sound Commands" (1.7.3-dev+5298) by AlliedModders LLC 13 "Fun Commands" (1.7.3-dev+5298) by AlliedModders LLC 14 "Admin Menu" (1.7.3-dev+5298) by AlliedModders LLC 15 "Fun Votes" (1.7.3-dev+5298) by AlliedModders LLC 16 "Nextmap" (1.7.3-dev+5298) by AlliedModders LLC 17 "Player Commands" (1.7.3-dev+5298) by AlliedModders LLC 18 "Basic Commands" (1.7.3-dev+5298) by AlliedModders LLC
  12. Witam, mam problem z serwerem, gdy chcę się połączyć z swoim serwerem otrzymuje informację "pobieranie świata" po czym zacina mi się cs. Testuje pewien mod jeszcze nie został on odpalony choć wszystko jest gotowe, oczywiście na inne serwery mogę się połączyć jest to oczywiste że błąd jakiegoś pliku w ftp. Proszę o rozpatrzenie mojego postu jak najszybciej z góry dziękuje za pomoc.
  13. Mapchoser brak odliczania

    Nie odtwarza dźwięku.