Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
CoD Nowy

Klasa ze zmienionym modelem broni crashuje serwer.

cod nowy

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 Kaski8

    Pomocny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:71
  • Lokalizacja:Dolnyśląsk
Offline

Napisano 26.12.2014 19:22

Kolejny problem :D

 

Stworzyłem sb o to taką klase

#include <amxmodx>

#include <amxmisc>
#include <codmod>
#include <engine>
#include <fakemeta>
#include <fun>
#include <cstrike>
#include <hamsandwich>
        
 
#define DMG_BULLET (1<<1)    
   
new const nazwa[]   = "Transporter";
new const opis[]    = "Ostra amunicja i tyle w temacie.";
new const bronie    = (1<<CSW_HEGRENADE)|(1<<CSW_M4A1)|(1<<CSW_DEAGLE);
new const zdrowie   = 40;
new const kondycja  = 40;
new const inteligencja = 10;
new const wytrzymalosc = 40;
    
new skoki[33];
 
new bool:ma_klase[33];
 
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
 
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
 
register_event("CurWeapon", "eventKnife_Niewidzialnosc", "be", "1=1");
 
   
register_forward(FM_CmdStart, "fwCmdStart_MultiJump");
 
register_event("CurWeapon", "ModelBroni_CurWeapon", "be", "1=1");
register_forward(FM_SetModel, "ModelBroni_fw_SetModel");
        RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
 
public plugin_precache()
{
precache_model("models/olesnica/p_m4a4.mdl");
precache_model("models/olesnica/v_m4a4.mdl");
precache_model("");
}
 
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_IMMUNITY))
{
client_print(id, print_chat, "[Transporter] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
give_item(id, "weapon_hegrenade");
cs_set_user_defuse(id, 1);
ma_klase[id] = true;
   
return COD_CONTINUE;
}
 
public cod_class_disabled(id)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
    ma_klase[id] = false;
 
}
 
public eventKnife_Niewidzialnosc(id)
{
if(!ma_klase[id])
return;
 
if( read_data(2) == CSW_KNIFE )
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 30);
}
else
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
}
}
 
public fwCmdStart_MultiJump(id, uc_handle)
{
if(!is_user_alive(id) || !ma_klase[id])
return FMRES_IGNORED;
 
new flags = pev(id, pev_flags);
 
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
{
skoki[id]--;
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
skoki[id] = 3;
 
return FMRES_IGNORED;
}
 
public ModelBroni_CurWeapon(id)
{
        new weapon = read_data(2);
 
        if(ma_klase[id])
        {
                if(weapon == CSW_M4A1)
                {
                        set_pev(id, pev_viewmodel2, "models/olesnica/v_m4a4.mdl")
                        set_pev(id, pev_weaponmodel2, "models/olesnica/p_m4a4.mdl")
                }
        }
}
 
public ModelBroni_fw_SetModel(entity, model[])
{
        if(!pev_valid(entity))
                return FMRES_IGNORED
 
        if(!equali(model, "models/w_m4a1.mdl"))
                return FMRES_IGNORED;
 
        new entityowner = pev(entity, pev_owner);
 
        if(!ma_klase[entityowner])
                return FMRES_IGNORED;
 
        engfunc(EngFunc_SetModel, entity, "")
        return FMRES_SUPERCEDE
}
 
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
    if(!is_user_connected(idattacker))
        return HAM_IGNORED;
    
    if(!ma_klase[idattacker])
        return HAM_IGNORED;
    
    if(damagebits & DMG_BULLET)
    {
        new weapon = get_user_weapon(idattacker);
        
 
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, 7.0, 0.15, idinflictor, damagebits);
                
    }
    
    return HAM_IGNORED;

}

 

I po wgraniu na server nastepuje crash, niestety hosting ma problemy ze stroną i nawet do konsoli nie moge zajrzeć, w logach nic nie ma,a plik z errorami nie zaktualizowal sie i jest ostatni wpis o godzinie 14 :) Czyli troche niefortunnie na razie. No scieżka do modelu jest taka jak w klasie podałem modele mają taką nazwe nwm co sprawdzić już ;/ Ktoś może powiedzieć co może być przyczyną czytałem na innych (z podobnymi problemami)  tematach ale nie pomogło. Może coś przeoczyłem.

 

 

Edit: Teraz zauważyłem że plik z errorami sie zatrzymal na 14:19 ale to jest plik z wczoraj, z dzisiaj nie posiadam wg. :c


Użytkownik Kaski8 edytował ten post 26.12.2014 19:29

  • +
  • -
  • 0

#2 Xeane

    Profesjonalista

  • Użytkownik

Reputacja: 47
Pomocny

  • Postów:162
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Chorzów
Offline

Napisano 26.12.2014 20:26

zmien: precache_model(""); na precache_model("models/w_m4a1.mdl");

engfunc(EngFunc_SetModel, entity, "") na engfunc(EngFunc_SetModel, entity, "models/w_m4a1.mdl")

Sprawdź dokładnie czy nie zrobiłeś żadnej literówki w ścieżce do modelu, sprawdź czy model jest wgrany


  • +
  • -
  • 1

#3 Kaski8

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:71
  • Lokalizacja:Dolnyśląsk
Offline

Napisano 26.12.2014 20:37

siedziałem, siedziałem, siedziałem i wykminiłem ! to co Ty napisałeś tyle że podałem scieżkę do w_m4a4 bo takowy model też posiadałem ale nie czułem potrzeby żeby ktoś widział leżącą m4 o tym wygladzie wiec nie dodawałem wcześniej i w ostatniej linijce też dopisałem że ma zamienić na w_m4a4 i działa JEEEEST !!! Xeane widze, że często się udzielasz w tym Cod-owym. To co Ty napisałeś też by pomogło już sprawdziłem więc i + dla ciebie można zamknąć. A tu sma poprawnej klasy jakby komus miało się przydać kiedys co poprawić whatevere.

 

 

#include <amxmodx>


#include <amxmisc>

#include <codmod>

#include <engine>

#include <fakemeta>

#include <fun>

#include <cstrike>

#include <hamsandwich>

        

 

#define DMG_BULLET (1<<1)    

   

new const nazwa[]   = "Transporter";

new const opis[]    = "Ostra amunicja i tyle w temacie.";

new const bronie    = (1<<CSW_HEGRENADE)|(1<<CSW_M4A1)|(1<<CSW_DEAGLE);

new const zdrowie   = 40;

new const kondycja  = 40;

new const inteligencja = 10;

new const wytrzymalosc = 40;

    

new skoki[33];

 

new bool:ma_klase[33];

 

public plugin_init()

{

register_plugin(nazwa, "1.0", "amxx.pl");

 

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

 

register_event("CurWeapon", "eventKnife_Niewidzialnosc", "be", "1=1");

 

   

register_forward(FM_CmdStart, "fwCmdStart_MultiJump");

 

register_event("CurWeapon", "ModelBroni_CurWeapon", "be", "1=1");

register_forward(FM_SetModel, "ModelBroni_fw_SetModel");

        RegisterHam(Ham_TakeDamage, "player", "TakeDamage");

}

 

public plugin_precache()

{

precache_model("models/olesnica/p_m4a4.mdl");

precache_model("models/olesnica/v_m4a4.mdl");

precache_model("models/olesnica/w_m4a4.mdl");

}

 

public cod_class_enabled(id)

{

if(!(get_user_flags(id) & ADMIN_IMMUNITY))

{

client_print(id, print_chat, "[Transporter] Nie masz uprawnien, aby uzywac tej klasy.")

return COD_STOP;

}

give_item(id, "weapon_hegrenade");

cs_set_user_defuse(id, 1);

ma_klase[id] = true;

   

return COD_CONTINUE;

}

 

public cod_class_disabled(id)

{

set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);

    ma_klase[id] = false;

 

}

 

public eventKnife_Niewidzialnosc(id)

{

if(!ma_klase[id])

return;

 

if( read_data(2) == CSW_KNIFE )

{

set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 30);

}

else

{

set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);

}

}

 

public fwCmdStart_MultiJump(id, uc_handle)

{

if(!is_user_alive(id) || !ma_klase[id])

return FMRES_IGNORED;

 

new flags = pev(id, pev_flags);

 

if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])

{

skoki[id]--;

new Float:velocity[3];

pev(id, pev_velocity,velocity);

velocity[2] = random_float(265.0,285.0);

set_pev(id, pev_velocity,velocity);

}

else if(flags & FL_ONGROUND)

skoki[id] = 3;

 

return FMRES_IGNORED;

}

 

public ModelBroni_CurWeapon(id)

{

        new weapon = read_data(2);

 

        if(ma_klase[id])

        {

                if(weapon == CSW_M4A1)

                {

                        set_pev(id, pev_viewmodel2, "models/olesnica/v_m4a4.mdl")

                        set_pev(id, pev_weaponmodel2, "models/olesnica/p_m4a4.mdl")

                }

        }

}

 

public ModelBroni_fw_SetModel(entity, model[])

{

        if(!pev_valid(entity))

                return FMRES_IGNORED

 

        if(!equali(model, "models/w_m4a1.mdl"))

                return FMRES_IGNORED;

 

        new entityowner = pev(entity, pev_owner);

 

        if(!ma_klase[entityowner])

                return FMRES_IGNORED;

 

        engfunc(EngFunc_SetModel, entity, "models/olesnica/w_m4a4.mdl")

        return FMRES_SUPERCEDE

}

 

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)

{

    if(!is_user_connected(idattacker))

        return HAM_IGNORED;

    

    if(!ma_klase[idattacker])

        return HAM_IGNORED;

    

    if(damagebits & DMG_BULLET)

    {

        new weapon = get_user_weapon(idattacker);

        

 

if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET)

cod_inflict_damage(idattacker, this, 7.0, 0.15, idinflictor, damagebits);

                

    }

    

    return HAM_IGNORED;

}


Użytkownik Kaski8 edytował ten post 26.12.2014 20:39

  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cod nowy

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych