-
Postów
210 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
22
Odpowiedzi opublikowane przez Linux`
- Poprzednia
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- Dalej
- Strona 2 z 8
-
-
A tak nie jest? Zdaje sie ze klasa zmienia sie tylko odrazu gdy gracz jej nie posiada, dalej tylko przy odrodzeniu wiec nie bardzo rozumiem.
-
Co rozumiesz poprzez "znikanie"? Jezeli ucina to po prostu dlatego, ze tekst nie miesci sie w oknie poniewaz ma za duzo znakow. Przenies czesc do nastepnej linijki i sprawdz czy problem w dalszym ciagu bedzie wystepowal.
-
new world_model; public OnMapStart() { AddFileToDownloadsTable(""); // dodajesz do pobrania niestandardowe pliki world_model = PrecacheModel(""); // precache lokalizacja ukrytego modelu } public OnClientPutInServer(client) { SDKHook(client, SDKHook_WeaponSwitchPost, WeaponHookPost); SDKHook(client, SDKHook_WeaponEquipPost, WeaponHookPost); } public OnClientDisconnect(client) { SDKUnhook(client, SDKHook_WeaponSwitchPost, WeaponHookPost); SDKUnhook(client, SDKHook_WeaponEquipPost, WeaponHookPost); } public Action:WeaponHookPost(client, weapon) { if(!IsValidClient(client) || !ma_klase[client]) return Plugin_Continue; new active_weapon = GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon"); if(active_weapon != -1) SetEntProp(active_weapon, Prop_Send, "m_iWorldModelIndex", world_model); return Plugin_Continue; }
polacz to z swoja klasa i ustaw lokalizacje modelu broni ktory nie bedzie sie wyswietlal (wystarczy usunac jego hitboxy, textury itp).
- 1
-
Zmieniles wartosc w cvar np na 2? Mnoznik przez 1 zawsze da 1 punkt, nie zaleznie czy bedzie dzielony czy mnozony.
-
A to tez raczej bardzo prosto. Na poczatku pobierasz calkowita inteligencje gracza i dzielisz lub mnozysz ja przez okreslona wartosc np
cod_get_user_maks_intelligence(client)*10
zakladajac ze przechwycona inteligencja gracza wyniesie 15, zostanie pomnozona przez 10 wiec razem da nam 150 i teraz pytanie co z tym dalej chcemy zrobic. Jezeli chcesz redukowac musisz odjac ta wartosc od glownej widzialnosci a wiec
new widocznosc = cod_get_user_maks_intelligence(client)*10; SetEntityRenderColor(client, 255, 255, 255, (255-widocznosc < 1)? 1: 255-widocznosc);
kod ten zabezpieczy nam odrazu zejscie zmiennej ponizej ustalonej wartosci w tym przypadku 1. Sprawdza sie to na wypadek ew bugu, np gdybysmy rozszerzyli maksymalna wartosc inteligencji bez zmiany mnoznika.
- 1
-
Dnia 1.07.2017 o 22:10, camerdisco napisał:
Nie. Funkcja wyciszenia dźwięków działa na zasadzie wyciszenie kompletnie dźwięków stóp, przez convar sv_footsteps, potem manualnie wypuszcza dźwięki dla każdego kto chodzi przez emitsound, a jeśli przejdzie bool od ma_item/perk to następuje return Plugin_Handled; Zamiast puszczenia dźwięków. Trzeba poprawić samą funkcję wypuszczania dźwięków. Wystarczy usunąć plugin perku/klasy, która używa funkcji wyciszenia kroków i powróci do normy.
Dokladnie tak, bardzo dobrze zostalo tu to wyjsnione.
Jezeli faktycznie ktorys z updatow spowodowal ten blad to postaram sie wydac fixa w formie tutoriala gdy znajde chwile.
-
A najoptymalniej bedzie mozna zrobic to w ten sposob.
#include <sourcemod> #include <codmod> new const String:nazwa[] = "Kameleon"; new const String:opis[] = "Jest mniej widoczny na nożu na kucaka"; new const String:bronie[] = "#weapon_mp7#weapon_glock"; new const inteligencja = 0; new const zdrowie = 0; new const obrazenia = 0; new const wytrzymalosc = 10; new const kondycja = 0; new bool:ma_klase[65], bool:ma_render[65]; public Plugin:myinfo = { name = nazwa, author = "Linux`", description = "Cod Item", version = "1.0", url = "http://steamcommunity.com/id/linux2006" }; public OnPluginStart() { cod_register_class(nazwa, opis, bronie, inteligencja, zdrowie, obrazenia, wytrzymalosc, kondycja); ServerCommand("sv_disable_immunity_alpha 1"); HookEvent("player_spawn", OdrodzenieGracza); } public cod_class_enabled(client) { ma_klase[client] = true; ma_render[client] = false; } public cod_class_disabled(client) { ma_klase[client] = false; StopRender(client); } public Action:OdrodzenieGracza(Handle:event, String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); if(!IsValidClient(client) || !ma_klase[client]) return Plugin_Continue; ma_render[client] = false; return Plugin_Continue; } 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; if(buttons & IN_DUCK) { new String:weapon[32]; GetClientWeapon(client, weapon, sizeof(weapon)); if(StrEqual(weapon, "weapon_knife")) StartRender(client); else StopRender(client); } else StopRender(client); return Plugin_Continue; } public Action:StartRender(client) { if(!ma_render[client]) { SetEntityRenderMode(client, RENDER_TRANSCOLOR); SetEntityRenderColor(client, 255, 255, 255, 50); ma_render[client] = true; } return Plugin_Continue; } public Action:StopRender(client) { if(ma_render[client]) { SetEntityRenderMode(client, RENDER_TRANSCOLOR); SetEntityRenderColor(client, 255, 255, 255, 255); ma_render[client] = false; } return Plugin_Continue; }
- 1
-
Jezeli maszyne zapcha jakis inny klient to chodzby niewiem jak duze mialbys zasoby przy openvz i tak bedziesz odczuwac skoki. Przerzuc sie na pelna wirtualizacje
-
Wyciagnij sobie zapis z starego codmoda
-
-
Hookuj event zmiany broni i zmieniaj offset m_flNextSecondaryAttack na 999, od i cala robota..
- 1
-
Dlatego najlepiej zawartosc reklamy wyprowadzac do pliku konfiguracyjnego.
- 1
-
10 godzin temu, ALEKS napisał:
Jeżeli uważasz, że inwestowanie w serwery CS:GO są nieopłacalne to trochę mi Cię szkoda... Sprzedajesz paczkę COD-Mod więc chyba powinieneś wiedzieć jak dobrze można zarobić na serwerach CS:GO.
Jeśli chodziło oto, że nie opłaca się kupować reklamy dla serwerów CS:GO to zgadzam się z Tobą.
Może w niewielkim stopniu źle się wyraziłem, tak miałem na myśli głownie płatne reklamy dla serwerów csgo.
-
2 godziny temu, Znany napisał:
Tak się zastanawiam :Ciężko jest zrobić sklepik php mysql+cron? Nie a nawet na necie jak ktos chce to pewnie jest...
Na necie raczej się tego nie znajdzie w wersji free. Poniekąd by to napisać potrzebna jest w jakimś stopniu wiedza z tego zakresu, nie wszystkie funkcje zostały upublicznione. Poza tym mowa tu o css a nie cs:go, a tu sprawa wygląda trochę inaczej :P
- 1
-
Boost skuteczny, chyba najbardziej z obecnych polskich w grze cs source. Warto, na pewno bardziej niż inwestycja w ten syf cs:go. Tylko trzeba jeszcze mieć czas :P
- 1
-
-
Mozna jedynie przerobic wersje serwera tak by czytala graczy ns, natomiast nie wejda ludzie steam.
-
Jakis dowod na posiadanie tych kwot na portalach?
-
HookEvent("player_spawn", PlayerSpawn); public Action:PlayerSpawn(Handle:event_spawn, String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event_spawn, "userid")); if(!IsValidClient(client) || IsFakeClient(client)) return; ClientCommand(client, "models"); }
-
37 minut temu, xBBBay ? napisał:
Proszę:
#include <sourcemod> #include <sdkhooks> #include <sdktools> #include <cstrike> public Plugin:myinfo = { name = "Usuwa bronie zostaje noz", author = "xBBBay", description = "", version = "1.0", url = "http://steamcommunity.com/id/xbbbay" }; public OnPluginStart() { HookEvent("player_spawn", PlayerSpawn); } public Action:PlayerSpawn(Handle:event_spawn, String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event_spawn, "userid")); if(!IsValidClient(client) || IsFakeClient(client)) return; for(new slot = 0; slot < 4; slot ++) { new weapon_index = -1; while((weapon_index = GetPlayerWeaponSlot(client, slot)) != -1) { if(IsValidEntity(weapon_index)) { RemovePlayerItem(client, weapon_index); AcceptEntityInput(weapon_index, "kill"); } } } GivePlayerItem(client, "weapon_knife"); } public bool IsValidClient(int client) { if(client >= 1 && client <= MaxClients && IsClientInGame(client)) return true; return false; }
Można lepiej napisać, ważne że działa :)
Sprawdzaj czy slot jest równy 2 to nie będzie usuwać noża więc i nie będzie potrzeby by go dodawać.
- 1
-
Zobacz ten kod
Cytat#include <sourcemod>
#include <cstrike>public OnPluginStart()
{
RegConsoleCmd("chooseteam", BlokujKomende);
RegConsoleCmd("jointeam", BlokujKomende);
}
public Action:BlokujKomende(client, args)
{
new team = GetClientTeam(client);
if(team == CS_TEAM_CT || team == CS_TEAM_T)
return Plugin_Handled;return Plugin_Continue;
} -
Wersja sourcemod? Udaj się tym do autora sklepu.
-
Nie musisz wyrzucać graczy by uniemożliwić im przejście do innej drużyny. Wystarczy zwracać return Plugin_Handled, spowoduje to blokadę całej funkcji.
-
8 godzin temu, carlos napisał:
PRZY KOMPILACJI MA M TAKIE BŁEDY findsendpropoffs
Spójrz proszę na datę kiedy modyfikacja została wydana. Nie kompiluj tego pod najnowszym sourcemod lecz wersją maksymalnie 1.7.3.
- Poprzednia
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- Dalej
- Strona 2 z 8
Zamrożenie przeciwnika
w CodMod
Opublikowano
Zamiast uzywac funkcji od zmiany predkosci, polecalbym ci skorzystac z zmiany bonusowych punktow kondycji.
Tak to widze
new Handle:mrozenie_task[65]; public OnClientDisconnect(client) { if(mrozenie_task[client] != INVALID_HANDLE) { KillTimer(mrozenie_task[client]); mrozenie_task[client] = INVALID_HANDLE; } } public Action:FreezePlayer(client) { if(mrozenie_task[client] != INVALID_HANDLE) return Plugin_Continue; cod_set_user_bonus_trim(client, cod_get_user_trim(client, 0, 1, 0)-10000); mrozenie_task[client] = CreateTimer(3.0, UnFreezePlayer, client, TIMER_FLAG_NO_MAPCHANGE); PrintToChat(client, "[COD:MW] Zostaniesz odmrozony za 3 sekundy."); SetEntityRenderColor(client, 255, 0, 170, 174); return Plugin_Continue; } public Action:UnFreezePlayer(Handle:timer, any:client) { if(!IsValidClient(client)) return Plugin_Continue; cod_set_user_bonus_trim(client, cod_get_user_trim(client, 0, 1, 0)+10000); mrozenie_task[client] = INVALID_HANDLE; SetEntityRenderColor(client, 255, 255, 255, 255); return Plugin_Continue; }