Skocz do zawartości
[Brak rozwiązania] Problem z Eventem player_spawn
Przestarzałe tematy

Rekomendowane odpowiedzi

Witam, mam problem z eventem w pluginie, mianowicie przy Spawnie gracza pojawia się błąd: 

Spoiler

L 02/08/2020 - 21:52:13: [SM] Blaming: DeathrunKlasy_ReGi.smx
L 02/08/2020 - 21:52:13: [SM] Call stack trace:
L 02/08/2020 - 21:52:13: [SM]   [1] Line 308, C:\Users\Alsen\Desktop\SourceMod\DeathrunKlasy_ReGi.sp::SpawnEvent
L 02/08/2020 - 21:54:43: [SM] Exception reported: Instruction contained invalid parameter
L 02/08/2020 - 21:54:43: [SM] Blaming: DeathrunKlasy_ReGi.smx
L 02/08/2020 - 21:54:43: [SM] Call stack trace:
L 02/08/2020 - 21:54:43: [SM]   [1] Line 308, C:\Users\Alsen\Desktop\SourceMod\DeathrunKlasy_ReGi.sp::SpawnEvent

 

Mój Kod eventu wygląda tak

Spoiler
public void SpawnEvent(Event event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(GetEventInt(event, "userid"));
    if(IsValidClient(client)&&!IsClientSourceTV(client))
    {
        switch(g_iKlasa[client])
        {
            case 0:
            {
                SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", 1.4);
                SetEntityGravity(client, 0.3);
                RemoveAllWeapons(client);
                GivePlayerItem(client, "weapon_deagle");
            }
            case 1:
            {
                SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", 1.2);
                RemoveAllWeapons(client);
                GivePlayerItem(client, "weapon_deagle");  //Line 308
                GivePlayerItem(client, "weapon_smokegrenade");
                GivePlayerItem(client, "weapon_molotov");
                GivePlayerItem(client, "weapon_hegrenade");
                GivePlayerItem(client, "weapon_flashbang");
            }
        }
    }
}



void RemoveAllWeapons(int client)
{
    if(IsValidClient(client))
    {
        int ent;
        for(int i; i < 2; i++)
        {
            if((ent = GetPlayerWeaponSlot(client, i)) != -1)
            {
                RemovePlayerItem(client, ent);
                RemoveEdict(ent);
            }
        }
    }
}

 

Linijka 308 w tym przypadku to GivePlayerItem(client, "weapon_deagle");

 

Dla podanych wartości klasy normalnie przypisuje się prędkość i grawitacja, jednak problem jest tylko z GivePlayerItem, gracz nie dostaje żadnej broni przy odrodzeniu

 

Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie mam pojęcia co może być nie tak bo kod wygląda dobrze. Ale sugestie:
-Sprawdź czy w case 0: również wywala błąd z GivePlayerItem
-W FORze w RemoveAllWeapons nie ma przypisania żadnej wartości do zmiennej i. Nie jestem pewien czy to działa dobrze bez przypisania

-Sprawdź czy GivePlayerItem działa ale nie na weapon_deagle

Sygnatura użytkownika

Hej! Pamiętaj uhonorować reputacją KAŻDEGO użytkownika który Ci pomógł! 👮‍♂️

 

Moje pluginy: Ultimate Weather | XiaolinMod | Knife Round | Storm Circle |  AutoBunnyHop | Remove Weapons RoundEnd
Moje artykuły: Przejrzysty kod | Optymalizacja warunków IF | Usuń martwy kod | Notacja węgierska | Co to backdoor? | Jak wgrać plugin? | Lokalna kompilacja | Licencja na plugin | Wektory | Nowa składnia sm | Funkcje czasowe | Spolszczenie pluginu

Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 4 miesiące temu...
  • Moderator poziom 2

Wiadomość wygenerowana automatycznie

 

Brak rozwiązania problemu

Jeżeli się z tym nie zgadzasz, raportuj ten post

Sygnatura użytkownika

» Support: https://discord.com/invite/zMXt97R63v

» Steam: https://steamcommunity.com/id/pawelsteam/

» Discord: Paweł#8244

» PluginyCS: https://pluginycs.pl/profile/Pawel

» Przyjmuję zlecenia na paczki oraz pluginy.  «

Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ostatnio przeglądający ten temat (5 użytkowników)

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...