-
Postów
210 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
22
Treść opublikowana przez Linux`
-
O ile dobrze pamietam musisz w public canuse odblokowac mozliwosc posiadania alternatywnej broni przypisanej pod usp w silniku csgo. hkp2000 > usp m4a1 > m4a1s p228 > cz75a i tak dalej. Ta gra zawiera bardzo duzo bledow, cod byl pisany tez dosc dawno i nie byl juz rozwijany od tamtego momentu dlatego zawiera duzo niedogodnosci. Moge jedynie polecic ci przejscie na nowego cod moda.
- 2 odpowiedzi
-
- bronie
- niedzialajace
-
(i 4 więcej)
Oznaczone tagami:
-
> #include <sourcemod> #include <sdktools> #include <codmod> new const String:nazwa[] = "Buty Szturmowego"; new const String:opis[] = "Nie slychac twoich krokow"; new bool:ma_item[65]; public Plugin:myinfo = { name = nazwa, author = "Linux`", description = "Cod Item", version = "1.0", url = "http://steamcommunity.com/id/linux2006" }; public OnPluginStart() { cod_register_item(nazwa, opis, 0, 0); AddNormalSoundHook(DzwiekiGracza); } public OnClientPutInServer(client) { if(!IsFakeClient(client)) SendConVarValue(client, FindConVar("sv_footsteps"), "0"); } public cod_item_enabled(client) { ma_item[client] = true; } public cod_item_disabled(client) { ma_item[client] = false; } public Action:DzwiekiGracza(clients[64], &numclients, String:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags) { if(!IsValidClient(entity) || IsFakeClient(entity)) return Plugin_Continue; if((StrContains(sample, "physics") != -1 || StrContains(sample, "footsteps") != -1) && StrContains(sample, "suit") == -1) { if(!ma_item[entity]) EmitSoundToAll(sample, entity); return Plugin_Handled; } return Plugin_Continue; } Na zyczenie dodaje poprawiona wersje do tematu.
-
Nie dziala poniewaz nie podlaczyles zapewne zapisu :). Z darmowych rowniez polece ci wersje plx\a ale gdybys chcial cos calkiem gotowego to tylko nowy cod (czyt sygnature).
-
Pamietam, ze ktoras z bezsensownych aktualizacji popsula classname noza zmieniajac go w zaleznosci od rodzaju. Musisz rozszerzyc dostepna ilosc broni (noza) o nowe classname.
-
#include <sourcemod> #include <sdkhooks> #include <sdktools> #include <codmod> new String:nazwy_broni[][] = { "weapon_none", // 0 "weapon_negev", // 1 "weapon_m249", // 2 "weapon_awp", // 3 "weapon_scar20", // 4 "weapon_g3sg1", // 5 "weapon_aug", // 6 "weapon_sg556", // 7 "weapon_m4a1_silencer", // 8 "weapon_m4a1", // 9 "weapon_ak47", // 10 "weapon_ssg08", // 11 "weapon_famas", // 12 "weapon_galilar", // 13 "weapon_bizon", // 14 "weapon_p90", // 15 "weapon_ump45", // 16 "weapon_mp9", // 17 "weapon_mp7", // 18 "weapon_mac10", // 19 "weapon_sawedoff", // 20 "weapon_mag7", // 21 "weapon_xm1014", // 22 "weapon_nova", // 23 "weapon_fiveseven", // 24 "weapon_elite", // 25 "weapon_revolver", // 26 "weapon_deagle", // 27 "weapon_cz75a", // 28 "weapon_tec9", // 29 "weapon_p250", // 30 "weapon_hkp2000", // 31 "weapon_usp_silencer", // 32 "weapon_glock", // 33 "weapon_knife", // 34 "weapon_taser", // 35 "weapon_decoy", // 36 "weapon_hegrenade", // 37 "weapon_incgrenade", // 38 "weapon_molotov", // 39 "weapon_flashbang", // 40 "weapon_smokegrenade", // 41 "weapon_c4" // 42 }; new naboje_broni[][] = { {0, 0}, // 0 {150, 200}, // 1 {100, 200}, // 2 {10, 30}, // 3 {20, 90}, // 4 {20, 90}, // 5 {30, 90}, // 6 {30, 90}, // 7 {20, 40}, // 8 {30, 90}, // 9 {30, 90}, // 10 {10, 90}, // 11 {25, 90}, // 12 {35, 90}, // 13 {64, 120}, // 14 {50, 100}, // 15 {25, 100}, // 16 {30, 120}, // 17 {30, 120}, // 18 {30, 100}, // 19 {7, 32}, // 20 {5, 32}, // 21 {7, 32}, // 22 {8, 32}, // 23 {20, 100}, // 24 {30, 120}, // 25 {8, 8}, // 26 {7, 35}, // 27 {12, 12}, // 28 {32, 120}, // 29 {13, 26}, // 30 {13, 52}, // 31 {12, 24}, // 32 {20, 120}, // 33 {0, 0}, // 34 {-1, 1}, // 35 {-1, 1}, // 36 {-1, 1}, // 37 {-1, 1}, // 38 {-1, 1}, // 39 {-1, 2}, // 40 {-1, 1}, // 41 {-1, 1} // 42 }; new const String:frakcja[] = "Normalne"; new const String:nazwa[] = "Zwinne Palce"; new const String:opis[] = "Posiadasz natychmiastowe przeladowanie broni"; new bool:ma_item[65]; public Plugin:myinfo = { name = nazwa, author = "Linux`", description = "Cod Item", version = "1.0", url = "http://steamcommunity.com/id/linux2006" }; public OnPluginStart() { cod_register_item(frakcja, nazwa, opis, 0, 0); } public cod_item_enabled(client) { ma_item[client] = true; } public cod_item_disabled(client) { ma_item[client] = false; } public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapons) { if(!IsValidClient(client) || !ma_item[client]) return Plugin_Continue; if(!IsPlayerAlive(client)) return Plugin_Continue; new active_weapon = GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon"); if(active_weapon != -1) { new naboje = GetEntData(active_weapon, FindSendPropInfo("CWeaponCSBase", "m_iClip1")); if((!naboje || buttons & IN_RELOAD) && !(buttons & IN_ATTACK)) { new String:weapon[32]; GetClientWeapon(client, weapon, sizeof(weapon)); new weaponid = GetUserWeaponId(weapon); if(weaponid && naboje < naboje_broni[weaponid][0] && naboje_broni[weaponid][1]) { new amunicja = GetEntProp(active_weapon, Prop_Send, "m_iPrimaryReserveAmmoCount"); if(amunicja) { SetEntData(active_weapon, FindSendPropInfo("CWeaponCSBase", "m_iClip1"), (naboje+amunicja < naboje_broni[weaponid][0])? naboje+amunicja: naboje_broni[weaponid][0]); SetEntProp(active_weapon, Prop_Send, "m_iPrimaryReserveAmmoCount", (amunicja-(naboje_broni[weaponid][0]-naboje) < 1)? 0: amunicja-(naboje_broni[weaponid][0]-naboje)); } } } } return Plugin_Continue; } public GetUserWeaponId(String:weapon[]) { for(new i = 1; i < sizeof(nazwy_broni); i ++) { if(StrEqual(weapon, nazwy_broni[i])) return i; } return -1; }
- 6 odpowiedzi
-
- 1
-
- NOWY]
- Natychmiastowe
-
(i 2 więcej)
Oznaczone tagami:
-
Czego nie rozumiesz? Wyciagasz funkcje z pluginu i wrzucasz do np perku, odpowiednio argumentujac. Kod na rozbrajanie public OnPluginStart() { HookEvent("bomb_begindefuse", BombBeginDefuse); HookEvent("bomb_abortdefuse", BombAbortDefuse); } public Action:BombBeginDefuse(Handle:event, const String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); if(!IsValidClient(client)) return Plugin_Continue; CreateTimer(0.1, C4Timer, client); return Plugin_Continue; } public Action:BombAbortDefuse(Handle:event, const String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); if(!IsValidClient(client)) return Plugin_Continue; SetEntProp(client, Prop_Send, "m_iProgressBarDuration", 0); return Plugin_Continue; } public Action:C4Timer(Handle:timer, any:client) { if(!IsValidClient(client)) return Plugin_Continue; new ent = FindEntityByClassname(-1, "planted_c4"); if(ent != -1) { SetEntPropFloat(ent, Prop_Send, "m_flDefuseCountDown", GetGameTime()+1.0); SetEntProp(client, Prop_Send, "m_iProgressBarDuration", 1); } return Plugin_Continue; }
-
Dlaczego chcesz czyscic bronie co 5 sekund? Jezeli planujesz zabierac je jednorazowo to lepiej wywolywac to przy spawnie, nowej rundzie itp. Natomiast jezeli chcesz po prostu zablokowac calkowicie posiadanie tych broni, lepiej bedzie wowczas wychwycic moment stworzenia bytu. #include <sourcemod> #include <sdkhooks> #include <sdktools> public OnPluginStart() { } public OnEntityCreated(entity, const String:classname[]) { if(entity > MaxClients && IsValidEntity(entity)) { if(StrContains(classname, "weapon_knife", false) == -1 && !StrEqual(classname, "weapon_hegrenade") && StrContains(classname, "weapon_", false) != -1) SDKHook(entity, SDKHook_Spawn, OnEntitySpawned); } } public Action:OnEntitySpawned(entity) { AcceptEntityInput(entity, "kill"); }
-
A to nie tak, ze teraz wystarczy tylko zmieniac czas u siebie na komputerze by miec uprawnienia na zawsze? :P. Jesli juz to zapis tylko mysql. @ Widze to tak, tworzysz zapis i dodajesz rekord do bazy z data przy pierwszym logowaniu gracza na serwer. Potem porownujesz czy od tej daty minely 2 dni, jesli nie, to ustawiasz uprawnienia przy podlaczeniu.
-
new ent = -1; for(new slot = 0; slot < 2; slot ++) { ent = GetPlayerWeaponSlot(client, slot); if(ent != -1) { RemovePlayerItem(client, ent); RemoveEdict(ent); } } ?
-
Problem pojawil sie po kolejnej z dupiatych aktualizacji gry. Zamien if(StrContains(sample, "physics") != -1 || StrContains(sample, "footsteps") != -1) na if((StrContains(sample, "physics") != -1 || StrContains(sample, "footsteps") != -1) && StrContains(sample, "suit") == -1)
-
Ktos ma za ciebie wszystko wykonac a ty chcialbys tylko odcinac kupony? Rownie dobrze mozna samemu sobie zainwestowac w hostingi i domene, potem z nikim nie trzeba sie dzielic i byc na czyjejs lasce. Predzej taka osoba znalazla by sponsora ktory zakupi potrzebne uslugi i otrzyma te maksymalnie 50% zyskow bez jakich kolwiek praw administratora. Twoja oferta jest kompletnie nie logiczna.
-
Z jakimis podstawowymi problemami pewnie sie upora ale po cos wiecej polecalbym jednak pisac do kogos z doswiadczeniem. @Wilku90 mozesz napisac do mnie na steam.
-
+ bardzo dobra jakosc + bardzo dobra cena + dobrze sprawny support - slaba reklama, mala ilosc klientow co przeklada sie na ryzyko ogloszenia upadlosci - brak testowych serwerow - brak publikacji dem, chyba ze na wlasna reke np przez skrypt zamieszczony na innym serwerze www - bardzo amatorski panel hostingu
-
Csgomod pod csgo? jaki to ma sens? Predzej jesli juz koniecznie na silnik source to css, tf2, garry mod.
-
ROZWIĄZANE Czy Sourcemod 1.7.3 pójdzie na v34 protocol7?
Linux` odpowiedział(a) na radek_101 temat w Pytania ogólne
Na v34 bedziesz w stanie uruchomic jedynie scrackowana wersje. Poszukaj na hlmod.ru sa tam praktycznie wszystkie wersje od 1.4 do 1.8 -
Wszyscy twoim zdaniem powinni przejsc na ten smiec csgo? Minimalne ustawienie cvarow typu sv_minrate, sv_minupdaterate spowoduje ze klient nie bedzie mogl odbierac mniejszych wartosci zatem takim plugin jest kompletnie zbedny.
-
Jezeli juz chcesz sie bawic w wlasny serwer to zacznij od postawienia go na linuxie. Uruchamiales serwer bezposrednio, bez panelu? Jezeli startuje to problem bedzie w konfiguracji agenta
-
-nobots w komendzie startowej nic nie wniesie, poniewaz takie boty sa czytane przez serwer jako gracze. Mozna by je wykrywac po sid ale jest z tym troche roboty. Poczytaj o pluginie ani cheat SMAC, powinien rozwiazac twoj problem.
-
Stawialbym na ktorys z tych pluginow 15 "SM CS:GO Franug Knives" (3.0.5 private version) by Franc1sco franug 23 "CS:GO GiveNamedItem Hook Franug Edition" (3.0.5 private version) by Franc1sco franug and Neuro Toxin 34 "SM CS:GO Weapon Paints" (6.1 private version) by Franc1sco franug
-
To pewnie bedzie zwykly mod typu cod/diablo z modelami i nazwami bohaterow :). Zas co do tematu, kazdy model odzwierciedla tak naprawde w jakims znaczeniu bohatera, herosa czy inna postac o tej tematyce.
-
Przy ustawianiu predkosci gracza na 0 tak to wlasnie wyglada, nie ma to zadnego znaczenia czy wywolujesz to przez natyw czy bezposrednio funkcje. Tak wiec tutaj sie nic na to nie zaradzi, tak to w grze po prostu wyglada. Ustaw moze mniejsza ilosc ujemnych punktow, wowczas uzyskasz efekt spowolnienia - moze bardziej przypadnie ci do gustu.
-
#include <sourcemod> #include <sdkhooks> #include <sdktools> #include <codmod> new const String:nazwa[] = "Miotacz lodu"; new const String:opis[] = "Posiadasz 1/LW szans na zamrożenie przeciwnika"; new bool:ma_item[65], wartosc_itemu[65]; new Handle:mrozenie_task[65]; public Plugin:myinfo = { name = nazwa, author = "Linux`", description = "Cod Item", version = "1.0", url = "http://steamcommunity.com/id/linux2006" }; public OnPluginStart() { cod_register_item(nazwa, opis, 1, 1); } public OnClientPutInServer(client) { SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage); } public OnClientDisconnect(client) { SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage); if(mrozenie_task[client] != INVALID_HANDLE) { KillTimer(mrozenie_task[client]); mrozenie_task[client] = INVALID_HANDLE; } } public cod_item_enabled(client, wartosc) { ma_item[client] = true; wartosc_itemu[client] = wartosc; } public cod_item_disabled(client) { ma_item[client] = false; } public Action:OnTakeDamage(client, &attacker, &inflictor, &Float:damage, &damagetype) { if(!IsValidClient(attacker) || !ma_item[attacker]) return Plugin_Continue; if(!IsValidClient(client) || !IsPlayerAlive(client)) return Plugin_Continue; if(GetClientTeam(client) == GetClientTeam(attacker)) return Plugin_Continue; if(GetRandomInt(1, wartosc_itemu[attacker]) == 1) FreezePlayer(client) return Plugin_Continue; } 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; }
-
Jaki cod? Za malo danych.