Skocz do zawartości

Rekomendowane odpowiedzi

@MAGNET mam problem z twoim pluginem, strasznie spamuje błędami

 

L 09/18/2018 - 19:40:57: [SM] Blaming: AchievementsGO.smx
L 09/18/2018 - 19:40:57: [SM] Call stack trace:
L 09/18/2018 - 19:40:57: [SM] [0] GetArrayCell
L 09/18/2018 - 19:40:57: [SM] [1] Line 146, D:\Users\Adminek\Desktop\Piaskownica\include\AchievementsGO/AchievementsGO_Natives.sp::UpdatePoints
L 09/18/2018 - 19:40:57: [SM] [2] Line 96, D:\Users\Adminek\Desktop\Piaskownica\include\AchievementsGO/AchievementsGO_Natives.sp::AddPoint
L 09/18/2018 - 19:40:57: [SM] [4] AGO_AddPoint
L 09/18/2018 - 19:40:57: [SM] [5] Line 122, C:\Users\*\Desktop\a\addons\sourcemod\scripting\sampleAchievement.sp::Event_PlayerDeath
 

Udostępnij tę odpowiedź


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

Pokaż kod, w którym stosujesz te natywy

 

Oraz nie wiem czy dobrze wykonałem misje z AWP

Cytat

#pragma semicolon 1

#include <sourcemod>
#include <AchievementsGO>
#include <store>


int AGO_Zabij[6];
int AGO_Zgin[3];
int AGO_HS[3];
int AGO_Saper[3];
int AGO_Podloz[3];
int AGO_Ace[3];
int AGO_Wybuch[3];
int AGO_Awp[3];

int AceCounter[MAXPLAYERS];

public Plugin myinfo =
{
    name = "AchievementsGO example",
    author = "MAGNET | YouTube: Koduj z Magnetem",
    description = "Example showing how to create your own Achievements",
    version = "0.1",
    url = "http://go-code.pl/"
};

public OnPluginStart()
{
    HookEvent("player_death", Event_PlayerDeath, EventHookMode_Post); 
    HookEvent("player_death", Event_PlayerDeathAWP, EventHookMode_Post); 
    HookEvent("round_start", OnRoundStart, EventHookMode_PostNoCopy); 
    
    HookEvent("bomb_planted", Event_BombPlanted);
    HookEvent("bomb_defused", Event_BombDefused);
    HookEvent("bomb_exploded", Event_BombExploded);
    
}

public void AGO_OnAchievementAccomplished(int client, int IdOfAchievement)
{
    PrintToChat(client, "Ukonczono. ID: %d", IdOfAchievement);
    
}

public void AGO_OnRegisterAchievements()
{
    AGO_Zabij[0] = AGO_AddAchievement("Szeregowy", "Zabij 10 graczy", "Rozdział II", 10);
    AGO_Zabij[1] = AGO_AddAchievement("Zabójca II", "Zabij 30 graczy", "Rozdział II", 30);
    AGO_Zabij[2] = AGO_AddAchievement("Zabójca II", "Zabij 50 graczy", "Ścieżka zabójcy", 50);
    AGO_Zabij[3] = AGO_AddAchievement("Zabójca II", "Zabij 100 graczy", "Ścieżka zabójcy", 100);
    AGO_Zabij[4] = AGO_AddAchievement("Zabójca II", "Zabij 150 graczy", "Ścieżka zabójcy", 150);
    AGO_Zabij[5] = AGO_AddAchievement("Leon zawodowiec", "Zabij 200 graczy", "Ścieżka zabójcy", 200);
    
    AGO_Zgin[0] = AGO_AddAchievement("No one always wins...", "Die 10 times", "Rozdział I", 10);
    AGO_Zgin[1] = AGO_AddAchievement("Dawca krwi", "Die 100 times", "Rozdział II", 100);
    AGO_Zgin[2] = AGO_AddAchievement("Goofball", "Die 500 times", "Scieżka Loosera", 500);
    
    AGO_HS[0] = AGO_AddAchievement("Headache", "HS 10 times", "Rozdział I", 10);
    AGO_HS[1] = AGO_AddAchievement("BooM! Headshot!", "HS 50 times", "Rozdział II", 50);
    AGO_HS[2] = AGO_AddAchievement("Mindblower", "HS 250 times", "Killer path", 250);

    AGO_Saper[0] = AGO_AddAchievement("You are a good sapper", "Defuse 3 bombs", "Rozdział I", 3);
    AGO_Saper[1] = AGO_AddAchievement("Advanced sapper", "Defuse 20 bombs", "Rozdział II", 20);
    AGO_Saper[2] = AGO_AddAchievement("Why would anyone need defuse?", "Defuse 50 bombs", "Sapper path", 50);
    
    AGO_Podloz[0] = AGO_AddAchievement("So you are a terrorist?", "Plant 3 bombs", "Rozdział I", 3);
    AGO_Podloz[1] = AGO_AddAchievement("Known on the bombsites", "Plant 20 bombs", "Rozdział II", 20);
    AGO_Podloz[2] = AGO_AddAchievement("Just one BIG BOOM", "Plant 50 bombs", "Pyro path", 50);
    
    AGO_Ace[0] = AGO_AddAchievement("Ace", "Ace 1 time", "", 1);
    AGO_Ace[1] = AGO_AddAchievement("Respect+", "Ace 5 times", "", 5);
    AGO_Ace[2] = AGO_AddAchievement("ACE BABY!", "Ace 50 time", "", 50);
    
    AGO_Wybuch[0] = AGO_AddAchievement("Acex", "Ace 1 time", "", 1);
    AGO_Wybuch[1] = AGO_AddAchievement("Respectx+", "Ace 5 times", "", 5);
    AGO_Wybuch[2] = AGO_AddAchievement("ACE BABYx!", "Ace 50 time", "", 50);
    
    AGO_Awp[0] = AGO_AddAchievement("Snajper", "Ace 1 time", "", 1);
    AGO_Awp[1] = AGO_AddAchievement("Snajper+", "Ace 5 times", "", 5);
    AGO_Awp[2] = AGO_AddAchievement("ACE Snajper!", "Ace 50 time", "", 50);
}

public void Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast)
{
    int victimId = GetClientOfUserId(event.GetInt("userid"));
    int attackerId = GetClientOfUserId(GetEventInt(event, "userid"));
    bool headshot = event.GetBool("headshot");
    
    for (int i = 0; i < 3; i++)    AGO_AddPoint(attackerId, AGO_Zabij);
    
    for (int i = 0; i < 3; i++)    AGO_AddPoint(victimId, AGO_Zgin);
    
    AceCounter[attackerId]++;
    
    if(AceCounter[attackerId] == 5)
    {
        for (int i = 0; i < 3; i++)    AGO_AddPoint(attackerId, AGO_Ace);
    }
    
    if(headshot)
    {
        for (int i = 0; i < 3; i++)    AGO_AddPoint(attackerId, AGO_HS);
    }
    
}

public OnRoundStart(Event event, const char[] name, bool dontBroadcast) 

    for (int i = 0; i < MAXPLAYERS; i++)    AceCounter = 0;
}  

public Action Event_BombPlanted(Handle event, const char[] name, bool dontBroadcast)
{
    int attackerId = GetClientOfUserId(GetEventInt(event, "userid"));
    
    for (int i = 0; i < 3; i++)    AGO_AddPoint(attackerId, AGO_Podloz);
}

public Action Event_BombDefused(Handle event, const char[] name, bool dontBroadcast)
{
    int attackerId = GetClientOfUserId(GetEventInt(event, "userid"));
    
    for (int i = 0; i < 3; i++)    AGO_AddPoint(attackerId, AGO_Saper);
}

public Action Event_BombExploded(Handle event, const char[] name, bool dontBroadcast)
{
    int attackerId = GetClientOfUserId(GetEventInt(event, "userid"));
    
    for (int i = 0; i < 3; i++)    AGO_AddPoint(attackerId, AGO_Wybuch);
}

public Action Event_PlayerDeathAWP(Handle event, const char[] name, bool dontBroadcast)
{
    int attackerId = GetClientOfUserId(GetEventInt(event, "userid"));
    
    char sWeapon[32];
    
    GetClientWeapon(attackerId, sWeapon, sizeof(sWeapon));
    
    if (StrEqual(sWeapon, "weapon_awp"))
    {
       for (int i = 0; i < 3; i++)    AGO_AddPoint(attackerId, AGO_Awp);
    }
}

 

Edytowane przez MAGNET

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

dla ścisłości: [SM] [5] Line 122, C:\Users\*\Desktop\a\addons\sourcemod\scripting\sampleAchievement.sp::Event_PlayerDeath, to która linijka u Ciebie?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Przed chwilą, MAGNET napisał:

dla ścisłości: [SM] [5] Line 122, C:\Users\*\Desktop\a\addons\sourcemod\scripting\sampleAchievement.sp::Event_PlayerDeath, to która linijka u Ciebie?

    for (int i = 0; i < 3; i++)    AGO_AddPoint(attackerId, AGO_Zabij);
 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

hmm nie masz indeksowania - powinno być

for (int i = 0; i < 3; i++)    AGO_AddPoint(attackerId, AGO_Zabij[i]);

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Przed chwilą, MAGNET napisał:

hmm nie masz indeksowania - powinno być


for (int i = 0; i < 3; i++)    AGO_AddPoint(attackerId, AGO_Zabij[i]);

 

 

mam tak tlyko mi tutaj skasowało te i

for (int i = 0; i < 3; i++)	AGO_AddPoint(attackerId, AGO_Zabij[i]);

 

 

Edytowane przez BubuCSP
Przez MAGNET,

ok, to na przyszłość używaj znacznika od kodu ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

W każdym razie, nie podałeś jeszcze z logów z jakim błędem mamy do czynienia. Podejrzewam, że invalid index, expected -1 czy coś takiego

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
3 minuty temu, MAGNET napisał:

1754473602_Beztytuu.png.e7a5cd83b755ca81408cf15336a79797.png
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

dobra wiem, powiedź jak naprawić to bo wgrałem to i wgl cały serwer się posypał Menu admina nie działało rękawice skiny były inne niż powinny . 

 

L 09/18/2018 - 21:47:15: [SM] Blaming: AchievementsGO.smx
L 09/18/2018 - 21:47:15: [SM] Call stack trace:
L 09/18/2018 - 21:47:15: [SM]   [0] GetArrayCell
L 09/18/2018 - 21:47:15: [SM]   [1] Line 146, D:\Users\Adminek\Desktop\Piaskownica\include\AchievementsGO/AchievementsGO_Natives.sp::UpdatePoints
L 09/18/2018 - 21:47:15: [SM]   [2] Line 96, D:\Users\Adminek\Desktop\Piaskownica\include\AchievementsGO/AchievementsGO_Natives.sp::AddPoint
L 09/18/2018 - 21:47:15: [SM]   [4] AGO_AddPoint
L 09/18/2018 - 21:47:15: [SM]   [5] Line 122, C:\Users\*\Desktop\a\addons\sourcemod\scripting\sampleAchievement.sp::Event_PlayerDeath
L 09/18/2018 - 21:47:17: [SM] Exception reported: Invalid index -1 (count: 0)

 

Moja 146 i 96 linijka oraz 122

 

146
{

96 
	AGO_Saper[1] = AGO_AddAchievement("Advanced sapper", "Defuse 20 bombs", "Rozdział II", 20);


122

	for (int i = 0; i < 3; i++)	AGO_AddPoint(attackerId, AGO_Zabij[i]);

 

Edytowane przez BubuCSP
Przez MAGNET,

Skoro powoduje błędy, to na razie wyłączyć musisz

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Hmm, czy restartowałeś serwer? Po wgraniu sampleAchievement lub jego modyfikacji?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Przed chwilą, MAGNET napisał:

Hmm, czy restartowałeś serwer?

tak. 

 

Ogółem nawet misji żadnych nie ma

Edytowane przez BubuCSP

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Spróbuj zrobić to jeszcze raz. Jeśli problem dalej będzie występował, przejdziemy na PW bo do bazy danych bd musial zajrzec

Udostępnij tę odpowiedź


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

Spróbuj zrobić to jeszcze raz. Jeśli problem dalej będzie występował, przejdziemy na PW bo do bazy danych bd musial zajrzec

To akurat śmieszne bo włączyło się i działa. Lol po entym restarcie..

 

Wytłumaczyl byś jeszcze jak zrobić misje z bronią? 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

W event_player death:

char weapon[64];
GetClientWeapon(client, weapon, sizeof(weapon));

if(StrEqual(weapon, "weapon_ak47"))	AddPoint.......

Co do problemu, to kiedy ingerujesz w plugin, który wykorzystuje natywy, co bardzo prawdopodobne jest, że będzie się sypał, dopóki nie wykonasz restartu

Udostępnij tę odpowiedź


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

W event_player death:


char weapon[64];
GetClientWeapon(client, weapon, sizeof(weapon));

if(StrEqual(weapon, "weapon_ak47"))	AddPoint.......

Co do problemu, to kiedy ingerujesz w plugin, który wykorzystuje natywy, co bardzo prawdopodobne jest, że będzie się sypał, dopóki nie wykonasz restartu

 

Wykonałem kilka razy nie wiem czemu nie zaskoczyło, Teraz też nie wykonałem restartu tylko wyłączyłem i włączyłem serwer. 

 

 

po dodaniu 

 

har weapon[64];
	GetClientWeapon(client, weapon, sizeof(weapon));

	if(StrEqual(weapon, "weapon_awp"))	AGO_AddPoint(attackerId, AGO_Awp[i]);

Podczas kompilowania sypie błędami albo ja czegoś nie widzę albo czegoś nie dodałem... 

Edytowane przez BubuCSP

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Musisz mówić jakie to błędy, ale zapewne musisz poprawić pobieranie nazwy broni - zamiast client daj attackerId

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
2 minuty temu, MAGNET napisał:

Musisz mówić jakie to błędy, ale zapewne musisz poprawić pobieranie nazwy broni - zamiast client daj attackerId

 

2uQmjU9.png

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jak dostajesz konsole pełną błędów shadows blabla, to znaczy, że zdublowałeś nazwę zmiennej, bo gdzieś w kodzie występuje taka sama

Podeślij całość to będzie najłatwiej znaleźć problem

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Dnia 18.09.2018 o 22:46, MAGNET napisał:

Jak dostajesz konsole pełną błędów shadows blabla, to znaczy, że zdublowałeś nazwę zmiennej, bo gdzieś w kodzie występuje taka sama

Podeślij całość to będzie najłatwiej znaleźć problem

Masz tu cały kod 

 

 

Spoiler

 

 

Udostępnij tę odpowiedź


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

#pragma semicolon 1

#include <sourcemod>
#include <AchievementsGO>
#include <store>


int AGO_Zabij[6];
int AGO_Zgin[3];
int AGO_HS[3];
int AGO_Saper[3];
int AGO_Podloz[3];
int AGO_Ace[3];
int AGO_Wybuch[3];
int AGO_Awp[3];

int AceCounter[MAXPLAYERS];

public Plugin myinfo =
{
    name = "AchievementsGO example",
    author = "MAGNET | YouTube: Koduj z Magnetem",
    description = "Example showing how to create your own Achievements",
    version = "0.1",
    url = "http://go-code.pl/"
};

public OnPluginStart()
{
	HookEvent("player_death", Event_PlayerDeath, EventHookMode_Post); 
	HookEvent("player_death", Event_AWP, EventHookMode_Post); 
	HookEvent("round_start", OnRoundStart, EventHookMode_PostNoCopy); 
	
	HookEvent("bomb_planted", Event_BombPlanted);
	HookEvent("bomb_defused", Event_BombDefused);
	HookEvent("bomb_exploded", Event_BombExploded);
	
}

public void AGO_OnAchievementAccomplished(int client, int IdOfAchievement)
{
	PrintToChat(client, "Ukonczono. ID: %d", IdOfAchievement);
	
}

public void AGO_OnRegisterAchievements()
{
	AGO_Zabij[0] = AGO_AddAchievement("Szeregowy", "Zabij 10 graczy", "Rozdział II", 10);
	AGO_Zabij[1] = AGO_AddAchievement("Zabójca II", "Zabij 30 graczy", "Rozdział II", 30);
	AGO_Zabij[2] = AGO_AddAchievement("Zabójca II", "Zabij 50 graczy", "Ścieżka zabójcy", 50);
	AGO_Zabij[3] = AGO_AddAchievement("Zabójca II", "Zabij 100 graczy", "Ścieżka zabójcy", 100);
	AGO_Zabij[4] = AGO_AddAchievement("Zabójca II", "Zabij 150 graczy", "Ścieżka zabójcy", 150);
	AGO_Zabij[5] = AGO_AddAchievement("Leon zawodowiec", "Zabij 200 graczy", "Ścieżka zabójcy", 200);
	
	AGO_Zgin[0] = AGO_AddAchievement("No one always wins...", "Die 10 times", "Rozdział I", 10);
	AGO_Zgin[1] = AGO_AddAchievement("Dawca krwi", "Die 100 times", "Rozdział II", 100);
	AGO_Zgin[2] = AGO_AddAchievement("Goofball", "Die 500 times", "Scieżka Loosera", 500);
	
	AGO_HS[0] = AGO_AddAchievement("Headache", "HS 10 times", "Rozdział I", 10);
	AGO_HS[1] = AGO_AddAchievement("BooM! Headshot!", "HS 50 times", "Rozdział II", 50);
	AGO_HS[2] = AGO_AddAchievement("Mindblower", "HS 250 times", "Killer path", 250);

	AGO_Saper[0] = AGO_AddAchievement("You are a good sapper", "Defuse 3 bombs", "Rozdział I", 3);
	AGO_Saper[1] = AGO_AddAchievement("Advanced sapper", "Defuse 20 bombs", "Rozdział II", 20);
	AGO_Saper[2] = AGO_AddAchievement("Why would anyone need defuse?", "Defuse 50 bombs", "Sapper path", 50);
	
	AGO_Podloz[0] = AGO_AddAchievement("So you are a terrorist?", "Plant 3 bombs", "Rozdział I", 3);
	AGO_Podloz[1] = AGO_AddAchievement("Known on the bombsites", "Plant 20 bombs", "Rozdział II", 20);
	AGO_Podloz[2] = AGO_AddAchievement("Just one BIG BOOM", "Plant 50 bombs", "Pyro path", 50);
	
	AGO_Ace[0] = AGO_AddAchievement("Ace", "Ace 1 time", "", 1);
	AGO_Ace[1] = AGO_AddAchievement("Respect+", "Ace 5 times", "", 5);
	AGO_Ace[2] = AGO_AddAchievement("ACE BABY!", "Ace 50 time", "", 50);
	
	AGO_Wybuch[0] = AGO_AddAchievement("Acex", "Ace 1 time", "", 1);
	AGO_Wybuch[1] = AGO_AddAchievement("Respectx+", "Ace 5 times", "", 5);
	AGO_Wybuch[2] = AGO_AddAchievement("ACE BABYx!", "Ace 50 time", "", 50);
	
	AGO_Awp[0] = AGO_AddAchievement("Snajper", "Ace 1 time", "", 1);
	AGO_Awp[1] = AGO_AddAchievement("Snajper+", "Ace 5 times", "", 5);
	AGO_Awp[2] = AGO_AddAchievement("ACE Snajper!", "Ace 50 time", "", 50);
}

public void Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast)
{
	int victimId = GetClientOfUserId(event.GetInt("userid"));
	int attackerId = GetClientOfUserId(GetEventInt(event, "userid"));
	bool headshot = event.GetBool("headshot");
	
	for (int i = 0; i < 3; i++)	AGO_AddPoint(attackerId, AGO_Zabij[i]);
	
	for (int i = 0; i < 3; i++)	AGO_AddPoint(victimId, AGO_Zgin[i]);
	
	AceCounter[attackerId]++;
	
	if(AceCounter[attackerId] == 5)
	{
		for (int i = 0; i < 3; i++)	AGO_AddPoint(attackerId, AGO_Ace[i]);
	}
	
	if(headshot)
	{
		for (int i = 0; i < 3; i++)	AGO_AddPoint(attackerId, AGO_HS[i]);
	}
	
}

public OnRoundStart(Event event, const char[] name, bool dontBroadcast) 
{ 
    for (int i = 0; i < MAXPLAYERS; i++)	AceCounter[i] = 0;
}  

public Action Event_BombPlanted(Handle event, const char[] name, bool dontBroadcast)
{
	int attackerId = GetClientOfUserId(GetEventInt(event, "userid"));
	
	for (int i = 0; i < 3; i++)	AGO_AddPoint(attackerId, AGO_Podloz[i]);
}

public Action Event_BombDefused(Handle event, const char[] name, bool dontBroadcast)
{
	int attackerId = GetClientOfUserId(GetEventInt(event, "userid"));
	
	for (int i = 0; i < 3; i++)	AGO_AddPoint(attackerId, AGO_Saper[i]);
}

public Action Event_BombExploded(Handle event, const char[] name, bool dontBroadcast)
{
	int attackerId = GetClientOfUserId(GetEventInt(event, "userid"));
	
	for (int i = 0; i < 3; i++)	AGO_AddPoint(attackerId, AGO_Wybuch[i]);
}

public Action Event_AWP(Handle event, const char[] name, bool dontBroadcast)
{
	int attackerId = GetClientOfUserId(GetEventInt(event, "userid"));
	
	char sWeapon[64];
    
	GetClientWeapon(attackerId, sWeapon, sizeof(sWeapon));
	
	if(StrEqual(sWeapon, "weapon_awp"))
	{
		for (int i = 0; i < 3; i++)	AGO_AddPoint(attackerId, AGO_Awp[i]);
	}
}

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość Qesik

 

GetClientOfUserId(GetEventInt(event, "userid"));

na

GetClientOfUserId(GetEventInt(event, "attacker"));

To raz, dwa nie lepiej pobrać broń w taki sposób?

char sWeapon[64];
GetEventString(event, "weapon", sWeapon, sizeof sWeapon);

?

Oczywiście wtedy pobrana broń jest oznaczona jako "awp", a nie "weapon_awp"

Można to zmienić dodając po tym co podałem wyżej, to:

Format(weapon, 64, "weapon_%s", sWeapon);

Może mnie ktos poprawić jeśli się mylę

 

Nie zapomnij o 

for (int i = 0; i < 3; i++)

Edytowane przez Qesik
Przez MAGNET,

Wszystko, co powiedziałeś, jest jak najbardziej w porządku. Czy lepiej - nie wiem ;)

Przez MAGNET,

Wszystko, co powiedziałeś, jest jak najbardziej w porządku. Czy lepiej - nie wiem ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
2 minuty temu, Qesik napisał:

 


GetClientOfUserId(GetEventInt(event, "userid"));

na


GetClientOfUserId(GetEventInt(event, "attacker"));

To raz, dwa nie lepiej pobrać broń w taki sposób?


char sWeapon[64];
GetEventString(event, "weapon", sWeapon, sizeof sWeapon);

?

Oczywiście wtedy pobrana broń jest oznaczona jako "awp", a nie "weapon_awp"

Można to zmienić dodając po tym co podałem wyżej, to:


Format(weapon, 64, "weapon_%s", sWeapon);

Może mnie ktos poprawić jeśli się mylę

 

Wiem domyśliłem się już ... Już mi wszystko działa. 

Przez MAGNET,

Pomoc udzielona

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No, to jak wszystko działa to chociaż raz mógłbyś napisać "dziękuję", albo strzelić repkę tym, którzy tej pomocy udzielali. Niewdzięcznik.

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ę...