Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

Denone

Użytkownik
  • Postów

    36
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Denone

  1. Denone

    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); }
  2. @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); } }
  3. Tak jak napisałem, po zmianie wartości która podałeś wyświetla się %s [/img]
  4. 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); } }
  5. Denone

    Niewidzalność broni

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

    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 . :)
  7. Witam, poszukuje pluginu , wygląda on tak. Gdy zaczynami pisać jako admin czyli say @ tekst pokazuje się UWAGA: tekst. Napis uwaga ma kolor czerwony.
  8. Denone

    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 :).
  9. 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"
  10. 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
  11. 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.
  12. Nie odtwarza dźwięku.
  13. // This file was auto-generated by SourceMod (v1.7.2) // ConVars for plugin "mapchooser_extended_sounds.smx" // Force players to download all sound sets, so sets can be dynamically changed during the map. Defaults to off. Takes effect at map change. // - // Default: "0" // Minimum: "0.000000" // Maximum: "1.000000" mce_sounds_downloadallsounds "0" // Enable this plugin. Sounds will still be downloaded (if applicable) even if the plugin is disabled this way. // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" mce_sounds_enablesounds "1" // Enable sounds to be played during warning counter. If this is disabled, map vote warning, start, and stop sounds still play. // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" mce_sounds_enablewarningcountersounds "1" // Sound set to use, optimized for TF by default. Sound sets are defined in addons/sourcemod/configs/mapchooser_extended_sounds.cfg. Takes effect immediately if sm_mapvote_downloadallsounds is 1, otherwise at map change. // - // Default: "hl1" mce_sounds_soundset "hl1"
  14. Witam, mój problem polega na braku odliczania przez plugin MapChoser Extended, rtv, nominate etc działa, problem jest z dźwiękiem. Link do pluginu: MapChooser Extended 1.10.2 (Updated 2014-02-05) - AlliedModders
  15. Denone

    Błąd

    Wersja normalna od steama. Błąd wyskakuje tylko na moim serwerze, na innych serwerach nie mam takiego błędu.
  16. Denone

    Błąd

    Windows 8.1 proszę o to screen. Error.bmp
  17. Denone

    Błąd

    Żadna z tych metod nie działa.
  18. Denone

    Błąd

    Witam, mam problem z sowim serwerem dotyczy on mnie i graczy, po 10 minutowym graniu milimalizuje się cs i pokazuje się taki error "cutllinkedlist overflow exhausted index range" proszę o pomoc. Z góry dziękuje.
  19. Denone

    Vip model

    Witam, poszukuje pluginu który zmienia model vipowi, mam na myśli model na flage. Z góry dziękuje,
×
×
  • Dodaj nową pozycję...