Skocz do zawartości
M0N0

Plugin triple jump dla rangi

Rekomendowane odpowiedzi

Witam, chciałbym się zapytać czy byłaby możliwość zrobienia pluginu, który by umożliwiał potrójny skok dla danej rangi (np. svipa) ? Poprosiłbym o nie wysyłanie mnie pod generatory vip, ponieważ zależy mi na tym, aby plugin/skrypt był możliwy do edycji pod względem liczby skoków, a z tego co mi wiadomo, nie jest to możliwe na generatorach darmowych.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
#include <sourcemod>
#include <sdktools>
#include <cstrike>
#include <sdkhooks>
public Plugin myinfo = {
	name = "VIP Generator",
	author = "Adi - live4net",
	description = "Automatycznie wygenerowany VIP na stronie sklepcs.pl",
	version = "1.02",
	url = "http://sklepcs.pl"
}
int g_fLastButtons[MAXPLAYERS+1], g_fLastFlags[MAXPLAYERS+1], g_iJumps[MAXPLAYERS+1];

public void OnPluginStart() {
	HookEvent("player_spawn", Event_PlayerSpawn);
}
public void OnMapStart() {
}
public Action Event_PlayerSpawn(Handle event, const char[] name, bool dontBroadcast)
{
	int client = GetClientOfUserId(GetEventInt(event, "userid"));
	if (IsValidPlayer(client) && IsPlayerVip(client)) {
	}
}
public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon)
{
	if (IsValidPlayer(client) && IsPlayerVip(client))
	{
		int	fCurFlags = GetEntityFlags(client);	
		int fCurButtons	= GetClientButtons(client);
					
		if (g_fLastFlags[client] & FL_ONGROUND)
		{		
			if (!(fCurFlags & FL_ONGROUND) &&!(g_fLastButtons[client] & IN_JUMP) &&	fCurButtons & IN_JUMP) 
			{
				g_iJumps[client]++;			
			}
		}
		else if (fCurFlags & FL_ONGROUND)
		{
			g_iJumps[client] = 0;						
		}
		else if (!(g_fLastButtons[client] & IN_JUMP) && fCurButtons & IN_JUMP)
		{
			if ( 1 <= g_iJumps[client] < 3)
			{						
				g_iJumps[client]++;											
				float vVel[3];
				GetEntPropVector(client, Prop_Data, "m_vecVelocity", vVel);	
								
				vVel[2] = 250.0;
				TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, vVel);	
			}							
		}
		g_fLastFlags[client] = fCurFlags;				
		g_fLastButtons[client] = fCurButtons;
	}
}
stock bool IsValidPlayer(int client) {
	if(client >= 1 && client <= MaxClients && IsClientConnected(client) && !IsFakeClient(client) && IsClientInGame(client) )
	return true;
	return false;
}
stock bool IsPlayerVip(int client) {
    if (CheckCommandAccess(client, "check_vip", ADMFLAG_RESERVATION, false)) return true;
    return false;
}

 

Wygenerowany jakiś vip na szybko

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
22 godziny temu, szogun napisał:

#include <sourcemod>
#include <sdktools>
#include <cstrike>
#include <sdkhooks>
public Plugin myinfo = {
	name = "VIP Generator",
	author = "Adi - live4net",
	description = "Automatycznie wygenerowany VIP na stronie sklepcs.pl",
	version = "1.02",
	url = "http://sklepcs.pl"
}
int g_fLastButtons[MAXPLAYERS+1], g_fLastFlags[MAXPLAYERS+1], g_iJumps[MAXPLAYERS+1];

public void OnPluginStart() {
	HookEvent("player_spawn", Event_PlayerSpawn);
}
public void OnMapStart() {
}
public Action Event_PlayerSpawn(Handle event, const char[] name, bool dontBroadcast)
{
	int client = GetClientOfUserId(GetEventInt(event, "userid"));
	if (IsValidPlayer(client) && IsPlayerVip(client)) {
	}
}
public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon)
{
	if (IsValidPlayer(client) && IsPlayerVip(client))
	{
		int	fCurFlags = GetEntityFlags(client);	
		int fCurButtons	= GetClientButtons(client);
					
		if (g_fLastFlags[client] & FL_ONGROUND)
		{		
			if (!(fCurFlags & FL_ONGROUND) &&!(g_fLastButtons[client] & IN_JUMP) &&	fCurButtons & IN_JUMP) 
			{
				g_iJumps[client]++;			
			}
		}
		else if (fCurFlags & FL_ONGROUND)
		{
			g_iJumps[client] = 0;						
		}
		else if (!(g_fLastButtons[client] & IN_JUMP) && fCurButtons & IN_JUMP)
		{
			if ( 1 <= g_iJumps[client] < 3)
			{						
				g_iJumps[client]++;											
				float vVel[3];
				GetEntPropVector(client, Prop_Data, "m_vecVelocity", vVel);	
								
				vVel[2] = 250.0;
				TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, vVel);	
			}							
		}
		g_fLastFlags[client] = fCurFlags;				
		g_fLastButtons[client] = fCurButtons;
	}
}
stock bool IsValidPlayer(int client) {
	if(client >= 1 && client <= MaxClients && IsClientConnected(client) && !IsFakeClient(client) && IsClientInGame(client) )
	return true;
	return false;
}
stock bool IsPlayerVip(int client) {
    if (CheckCommandAccess(client, "check_vip", ADMFLAG_RESERVATION, false)) return true;
    return false;
}

 

Wygenerowany jakiś vip na szybko

Super, lecz mam pytanie, iż za bardzo nie znam się na pluginach, gdzie mogę zmienić flagę/rangę gdzie są te skoki przypisywane ? Chciałbym zmienić ją na flagę "t"

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
46 minut temu, M0N0 napisał:

ADMFLAG_RESERVATION

Zmień to na to ADMFLAG_CUSTOM6

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
38 minut temu, BobPixel napisał:

Zmień to na to ADMFLAG_CUSTOM6

Nadal po zmienie każdy kto ma flage "a" ma 3 skoki, a zmieniłem. Nwm w czym problem. Ale Myślę, że już sobie jakoś poradzę, dziękuję za pomoc @szogun.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
1 godzinę temu, M0N0 napisał:

Nadal po zmienie każdy kto ma flage "a" ma 3 skoki, a zmieniłem. Nwm w czym problem. Ale Myślę, że już sobie jakoś poradzę, dziękuję za pomoc @szogun.

A skompilowałeś plugin? 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
1 minutę temu, VestSmart napisał:

A skompilowałeś plugin? 

Oczywiście,ogólnie poradziłem sobie jakoś z tym problemem, teraz szukam pluginu, który co drugą runde by wyświetlał wiadomość w hud np. "Teraz możecie skakać"

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.


×
×
  • Dodaj nową pozycję...