Cichobiegi SM
Sniper Elite
06.07.2015
Witam.
Ma ktoś pomysł jak zrobić aby gracz chodził po cichu? Tylko jeden, taka jakby moc.
Próbowałem tak:
AddNormalSoundHook(NormalSHook:sound_hook); public Action:sound_hook(clients[64], &numClients, String:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags) { if(StrContains(sample, "player/footsteps", false) != -1) { StopSound(entity, channel, sample); ClientCommand(clients[0], "playgamesound Music.StopAllMusic"); PrintToChatAll("Normal Sound: %s", sample); return Plugin_Handled; } return Plugin_Continue; }
oraz zabierałem graczowi flage FL_ONGROUND.
Pierwszy sposób nie działa, drugi powoduje że gracz ciągle kuca chociaż już nie trzyma ctrl.
Maximus Mxh
06.07.2015
#include <amxmodx> #include <fun> #include <hamsandwich> forward amxbans_admin_connect(id); new bool:g_Vip[33]; public plugin_init(){ register_plugin("VIP Ultimate", "12.3.0.2", "benio101 & speedkill"); RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1); } public client_authorized(id){ if(get_user_flags(id) & 131072 == 131072){ client_authorized_vip(id); } } public client_authorized_vip(id){ g_Vip[id]=true; } public client_disconnect(id){ if(g_Vip[id]){ client_disconnect_vip(id); } } public client_disconnect_vip(id){ g_Vip[id]=false; } public SpawnedEventPre(id){ if(g_Vip[id]){ if(is_user_alive(id)){ SpawnedEventPreVip(id); } } } public SpawnedEventPreVip(id){ set_user_footsteps(id,1); } public amxbans_admin_connect(id){ client_authorized(id); }plugin na flagę admin Level f daje ciche chodzenie
sharkowy
06.07.2015
public OnPluginStart() { HookEvent("player_footstep", Event_FootStep, EventHookMode_Pre); } public Action:Event_FootStep(Handle:event, const String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event, "userid")); SetEntProp(client, Prop_Data, "m_fFlags", 4); }
Sprawdź takie cuś, wygooglowane.
Linux'
06.07.2015
Sam nad tym myslalem kiedys, opublikowane w necie jest tylko to co podales. będę myslal, jak wymysle to dam znac. Proponuje moze w prethinku wykryc dzwiek odpowiedzialny za chod i go blokowac.
th7nder
09.08.2015
Żaden z powyższych sposobów wymienionych o góry nie zadziała, trzeba podejść do tego z innej spory,
Pozdrawiam - właściciel działających cichych kroków(bez buga na lewtiacje) (;
plx211
10.08.2015
To dziala tylko trzeba umiec zrobic
Dla tych co nie wiedza o co chodzi to trzeba:
1) Wyslac do graczy sv_footstep 0 (przy pomocy sendconvar)
2) emitowac po stronie servera dzwiek 'stup' z wyjatkiem osob ktore maja aktywna danną zmienna
Użytkownik plx211 edytował ten post 10.08.2015 06:37
Dla tych co nie wiedza o co chodzi to trzeba:
1) Wyslac do graczy sv_footstep 0 (przy pomocy sendconvar)
2) emitowac po stronie servera dzwiek 'stup' z wyjatkiem osob ktore maja aktywna danną zmienna
Użytkownik plx211 edytował ten post 10.08.2015 06:37
Sniper Elite
10.08.2015
Jokby ktoś chciął to proszę kod.
#include <sourcemod> #include <sdktools> new bool:cichobiegi[MAXPLAYERS+1] = false; new Handle:TFootstepsEnabledConVar; public OnPluginStart() { TFootstepsEnabledConVar = FindConVar("sv_footsteps"); AddNormalSoundHook(Event_SoundPlayed); } public OnClientPutInServer(client) { cichobiegi[client] = false; SendConVarValue(client, TFootstepsEnabledConVar, "0"); } /*public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon) { SendConVarValue(client, TFootstepsEnabledConVar, "0"); }*/ public Action:Event_SoundPlayed(clients[64],&numClients,String:sample[PLATFORM_MAX_PATH],&entity,&channel,&Float:volume,&level,&pitch,&flags) { if (entity && entity <= MaxClients && (StrContains(sample, "physics") != -1 || StrContains(sample, "footsteps") != -1)) { if (IsClientInGame(entity) && cichobiegi[entity]) { //PrintToChat(entity, "Daje cichobiegi"); return Plugin_Handled; } else { //PrintToChat(entity, "Emituje dzwiek"); EmitSoundToAll(sample, entity); return Plugin_Handled; } } return Plugin_Continue }
Wszystko jest zależne od zmiennej cichobiegi.
plx211
10.08.2015
wrzuc to na pastebin (lub wklej) bo usunelo tab'y.
po za tym gdzie podziekowania ?
Użytkownik plx211 edytował ten post 10.08.2015 20:28