Skocz do zawartości
Sqower

[Rozwiązane] Problem z dodaniem vipa do klasy

Rekomendowane odpowiedzi

Witam, przerabiałem item na klase i gdy chciałem dodać by klasa była tylko vip wywalało mi błędy 

Czy mógł by ktoś mi pokazać co zrobiłem źle z góry dzięki 

Spoiler

#include <sourcemod>
#include <sdkhooks>
#include <sdktools>
#include <codmod>

new const String:nazwa[] = "Pyro (PREMIUM)";
new const String:opis[] = "Posiadasz 1/LW szansy na podpalenie przeciwnika";
new const String:bronie[] = "#weapon_galilar#weapon_glock";
new const inteligencja = 0;
new const zdrowie = 5;
new const obrazenia = 5;
new const wytrzymalosc = 15;
new const kondycja = 20;

new bool:ma_item[65],
	wartosc_itemu[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);
}
public OnClientPutInServer(client)
{
	SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}
public OnClientDisconnect(client)
{
	SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}
public cod_class_enabled(client)
{
  if(!(GetUserFlagBits(client) & ADMFLAG_RESERVATION))
	{
		PrintToChat(client, "Klasa premium!");
		return COD_STOP;
	}
   	return COD_CONTINUE;
  	ma_item[client] = true; 
}
public cod_class_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)
		IgniteEntity(client, 2.0);

	return Plugin_Continue;
}

 

 

Przez Vasto_Lorde,

Proszę o spoilery na długaśny kod :(((

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Spoiler

#include <sourcemod>
#include <sdkhooks>
#include <sdktools>
#include <codmod>

new const String:nazwa[] = "Pyro (PREMIUM)";
new const String:opis[] = "Posiadasz 1/LW szansy na podpalenie przeciwnika";
new const String:bronie[] = "#weapon_galilar#weapon_glock";
new const inteligencja = 0;
new const zdrowie = 5;
new const obrazenia = 5;
new const wytrzymalosc = 15;
new const kondycja = 20;

new bool:ma_item[65],
	wartosc_itemu[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);
}

public OnClientPutInServer(client)
{
	SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public OnClientDisconnect(client)
{
	SDKUnhook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public cod_class_enabled(client)
{
	if(!(GetUserFlagBits(client) & ADMFLAG_RESERVATION))
	{
		PrintToChat(client, "Klasa premium!");
		return COD_STOP;
	}

  	ma_item[client] = true;
	return COD_CONTINUE;
}

public cod_class_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)
		IgniteEntity(client, 2.0);

	return Plugin_Continue;
}

 

Oprócz błędy z returnem, nie widzę nic innego.

Przez Vasto_Lorde,

Proszę o spoilery na długaśny kod :(((

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzięki bardzo , A takie pytanie jak ustawić np żeby było 1/3 podpalenie ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@Sqower W cod_class_enabled gdy ustawiasz graczowi że ma tę klasę, musisz ustawić wartosc_itemu[client] na jakąś liczbę. Jeśli ustawisz:
1 - 100% szans

2 - 50% szans

3 - 33% szans

4 - 25% szans

 

I tak dalej

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzięki Panowie można zamknąć

Ps następnym razem nie zapomnę o spoilerach ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...