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

Problem z natywami w klasach i pluginie

cod nowy

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 Winner

    Zaawansowany

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:75
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 05.04.2012 10:42

Witam,na poczatku gdy odpalilem serwer wszystko bylo dobrze i dzialalo ale po czasie gdy przybywa graczy to w error logach wywala pełno błędów:

1. Klasa Medyk


[ENGINE] Invalid entity 75
[AMXX] Displaying debug trace (plugin "codclass_elitemedyk.amxx")
[AMXX] Run time error 10: native error (native "entity_get_edict")
[AMXX] [0] codclass_elitemedyk.sma::MedkitThink (line 88)

Tutaj jest funkcja :
public MedkitThink(ent)
{
new id = entity_get_edict(ent, EV_ENT_owner);
new dist = 300;
new heal = 5+floatround(cod_get_user_intelligence(id)*0.5);
if (entity_get_edict(ent, EV_ENT_euser2) == 1)
{
  new Float:forigin[3];
  entity_get_vector(ent, EV_VEC_origin, forigin);

  new entlist[33];
  new numfound = find_sphere_class(0,"player", float(dist),entlist, 32,forigin);

  for (new i=0; i < numfound; i++)
  {
   new pid = entlist[i];
  
   if (get_user_team(pid) != get_user_team(id))
	continue;
  
   new maksymalne_zdrowie = 100+cod_get_user_health(pid);
   new zdrowie = get_user_health(pid);
   new Float:nowe_zdrowie = (zdrowie+heal<maksymalne_zdrowie)?zdrowie+heal+0.0:maksymalne_zdrowie+0.0;
   if (is_user_alive(pid)) entity_set_float(pid, EV_FL_health, nowe_zdrowie);
  }

  entity_set_edict(ent, EV_ENT_euser2, 0);
  entity_set_float(ent, EV_FL_nextthink, halflife_time() + 1.5);

  return PLUGIN_CONTINUE;
}

if (entity_get_float(ent, EV_FL_ltime) < halflife_time() || !is_user_alive(id))
{
  remove_entity(ent);
  return PLUGIN_CONTINUE;
}

if (entity_get_float(ent, EV_FL_ltime)-2.0 < halflife_time())
  set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 );

new Float:forigin[3];
entity_get_vector(ent, EV_VEC_origin, forigin);
	
new iOrigin[3];
for(new i=0;i<3;i++)
  iOrigin[i] = floatround(forigin[i]);

message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
write_byte( TE_BEAMCYLINDER );
write_coord( iOrigin[0] );
write_coord( iOrigin[1] );
write_coord( iOrigin[2] );
write_coord( iOrigin[0] );
write_coord( iOrigin[1] + dist );
write_coord( iOrigin[2] + dist );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 255 ); // r, g, b
write_byte( 100 );// r, g, b
write_byte( 100 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 0 ); // speed
message_end();

entity_set_edict(ent, EV_ENT_euser2 ,1);
entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.5);

	
return PLUGIN_CONTINUE;
}

2. Klasa Inżynier :


[AMXX] Displaying debug trace (plugin "codclass_inzynier.amxx")
[AMXX] Run time error 10: native error (native "menu_setprop")
[AMXX] [0] codclass_inzynier.sma::OpcjeDzialka (line 123)
[AMXX] [1] codclass_inzynier.sma::ham_ItemDeploy_Post (line 256)

Tutaj funkja lini 123 :


public OpcjeDzialka(id)
{
new menu,newmenu,menupage
player_menu_info(id,menu,newmenu,menupage);
if(menu > 0 || newmenu != -1)
{
  return PLUGIN_CONTINUE;
}

gMenuDzialko[id] = menu_create("Dzialo", "OpcjeDziala_Handle");
menu_additem(gMenuDzialko[id],"Postaw dzialo");
menu_additem(gMenuDzialko[id],"Zniszcz dzialo");

menu_setprop(menu,MPROP_NUMBER_COLOR,"\y");
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id,gMenuDzialko[id]);
return PLUGIN_CONTINUE;
}

I lInia 256 :


public ham_ItemDeploy_Post(weapon_ent)
{
static owner
owner = get_pdata_cbase(weapon_ent, OFFSET_WPN_WIN, OFFSET_WPN_LINUX);

static weaponid
weaponid = cs_get_weapon_id(weapon_ent)

if(!is_user_alive(owner))
{
  return HAM_IGNORED;
}

static menu,newmenu,menupage
player_menu_info(owner,menu,newmenu,menupage);

if(gMenuDzialko[owner] && newmenu == gMenuDzialko[owner])
{
  show_menu(owner,0,"^n");
  gMenuDzialko[owner] = 0;
}

if(weaponid == CSW_KNIFE && ma_klase[owner])
{
  entity_set_string(owner, EV_SZ_viewmodel, "models/v_tfc_spanner.mdl")
  OpcjeDzialka(owner);
}
return HAM_IGNORED;
}

3. Sklep + punkty

[AMXX] Displaying debug trace (plugin "odznaki.amxx")
[AMXX] Run time error 4: index out of bounds
[AMXX] [0] colorchat.inc::ColorChat (line 74)
[AMXX] [1] odznaki_332623.sma::Sklep_Handle (line 746)

Funkcja lini 74 :


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
zapis=nvault_open("Odznakisave")
register_event("DeathMsg", "eDeath", "a");
register_clcmd("daj_punktyhonoru","daj", ADMIN_IMMUNITY, "<nick>   <ilosc>")
register_clcmd("zabierz_punktyhonoru","zabierz", ADMIN_IMMUNITY, "<nick>   <ilosc>")
register_clcmd("say /sklep", "Sklep")
register_clcmd("say /sklepexp", "kup")
register_clcmd("say /dodatki", "dodatki")
register_clcmd("say /sprzedaj", "Sprzedaj_Perk")
register_clcmd("sklep", "Sklep")
register_clcmd("say /s", "Sklep")
register_clcmd("say /shop", "Sklep")
g_msgStatusText = get_user_msgid("StatusText")

register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")

register_logevent("Poczatek_Rundy", 2, "1=Round_Start")



SyncHudObj4 = CreateHudSyncObj();


/*pcvar_od1 = register_cvar("odznaki_ile1", "500");
pcvar_od2 = register_cvar("odznaki_ile2", "1000");
pcvar_od3 = register_cvar("odznaki_ile3", "1500");
pcvar_od4 = register_cvar("odznaki_ile4", "2000");
pcvar_od5 = register_cvar("odnzaki_ile5", "3000");

pcvar_koszt1 = register_cvar("odznaki_koszt1", "5");
pcvar_koszt2 = register_cvar("odznaki_koszt2", "10");
pcvar_koszt3 = register_cvar("odznaki_koszt3", "15");
pcvar_koszt4 = register_cvar("odznaki_koszt4", "20");
pcvar_koszt5 = register_cvar("odnzaki_koszt5", "30");

od1 = get_pcvar_num(pcvar_od1)
od2 = get_pcvar_num(pcvar_od2)
od3 = get_pcvar_num(pcvar_od3)
od4 = get_pcvar_num(pcvar_od4)
od5 = get_pcvar_num(pcvar_od5)

koszt1 = get_pcvar_num(pcvar_koszt1)
koszt2 = get_pcvar_num(pcvar_koszt2)
koszt3 = get_pcvar_num(pcvar_koszt3)
koszt4 = get_pcvar_num(pcvar_koszt4)
koszt5 = get_pcvar_num(pcvar_koszt5)*/





// CVARS
qee = register_cvar("codpytania_plugin", "1");			   // 0 - Plugin Disable; 1 - Plugin Enable
mode = register_cvar("codpytania_rodzaj", "1");				// 0 - Questions; 1 - Equation; 2 - random;
odliczanie = register_cvar("codpytania_odliczanie", "10");		// Time Countdown to the questions
zakonczenie = register_cvar("codpytania_koniec", "30");		  // Time to write answer
style = register_cvar("codpytania_styl", "0");			   // Style to show questions 0 - HudMessage; 1 - ClientPrint
first = register_cvar("codpytania_maxliczba1", "100");	  // First number to equation
second = register_cvar("codpytania_maxliczba2", "200");	 // Second number to equation
RGB = register_cvar("codpytania_kolor", "255255255");		  // Colors of HudMessages
PosX = register_cvar("codpytania_posx", "-1.0");			 // Position X of HudMessage
PosY = register_cvar("codpytania_posy", "0.28");			 // Position Y of HudMessage
minExp = register_cvar("codpytania_mindoswiadczenia", "100");		   // Minimum doswiadczenia dawanego
maxExp = register_cvar("codpytania_maxdoswiadczenia", "2000");		  // Maximum doswiadczenia dodanego
minPK = register_cvar("codpytania_minpunktowhonoru", "2");		  // Minimum punktow honoru dodanych
maxPK = register_cvar("codpytania_maxpunktowhonoru", "25");		 // Maximum punktow honoru dodanych
show_time = register_cvar("codpytania_czas", "15.0");	 // How long do you want to see a shout

/* Cvary do amxx.cfg
codpytania_plugin "1" // 0 - Wylacza Plugin; 1 - Wlacza dzialanie Plugin
codpytania_rodzaj "2" // 0 - pytania słowne, 1 - równania matematyczne, 2 - losowo (równanie lub pytanie))
codpytania_czas "60.0" // Czas w sekundach co ile ma się pokazać pytanie
codpytania_odliczanie "5" // Odliczanie w sekundach do zadania pytania
codpytania_koniec "30" // Czas w sekundach ile gracze mają na odpowiedź
codpytania_styl "0" // W jakim formacie mają pojawiać się pytania? 0 - HudMessage, 1 - Client_Print
codpytania_maxliczba1 "100" // Maksymalna wartość pierwszej liczby w równaniu
codpytania_maxliczba2 "200" // Maksymalna wartość drugiej liczby w równaniu
codpytania_kolor "255255255" // Kolor RGB pytania w HudMessage (Standard biały)
codpytania_posx "-1.0" // Pozycja na osi X
codpytania_posy "0.28" // Pozycja na osi Y
codpytania_mindoswiadczenia "50" // Minimalna ilosc dodanego doswiadczenia
codpytania_maxdoswiadczenia "500" // Maksymalna ilosc dodanego doswiadczenia
codpytania_minpunktowhonoru "2" // Minimalna ilosc dodanych punktow honoru
codpytania_maxpunktowhonoru "20" // Maksymalna ilosc dodanych punktow honoru
codpytania_czas "18.0" // Czas jak długo ma się pokazywać wiadomość w HUD
*/


start = czas;

// ARRAYS
questions = ArrayCreate(64,10)
answers = ArrayCreate(64,10)

// REGISTERS
register_clcmd("say", "say_handle");
register_clcmd("Pytanie", "pytanie");
register_clcmd("Odpowiedz", "odpowiedz");
register_clcmd("say /admin_pytania", "admin_menu");
register_clcmd("admin_pytania", "admin_menu");

set_task(float(start), "g_count", 2000);

// FILES
new szDir[128];
get_configsdir(szDir, charsmax(szDir));
add(szDir, sizeof szDir, "/Pytania_Cod");

if (!dir_exists(szDir))
  mkdir(szDir);

format(gszFile, charsmax(gszFile), "%s/pytania.ini", szDir);
if(!file_exists(gszFile))
  write_file(gszFile, "^"Stolica Polski to?^" ^"Warszawa^"");

SyncHudObj = CreateHudSyncObj();

ZaladujPlik();

}


I funkcja 746 :


public Sklep_Handle(id, menu, item)
{

if(!is_user_connected(id)){
  ColorChat(id, RED, "^x03[Sklep]^x04 Aby korzystac z Sklepu musisz byc zywy.");
  return PLUGIN_CONTINUE;
}
client_cmd(id, "spk QTM_CodMod/selectprocod");

if(item == MENU_EXIT)
{
  menu_destroy(menu);
  return PLUGIN_CONTINUE;
}
menu_display(id, menu);
new hp = get_user_health(id);
switch(item)
{
  case 0:
  {
   if(Odznaki[id] < 15)
   {
	ColorChat(id, RED, "^x03[Sklep]^x04 Nie masz wystarczajacej ilosci Punktow Honoru.")
	return PLUGIN_CONTINUE;
   }
   Odznaki[id]-=15
   cod_set_user_perk(id, -1, -1, 1)
   ColorChat(id, RED, "^x03[Sklep]^x04 Kupiles losowy perk.");
   Sklep(id);
  }
  case 1:
  {		
   new perk = cod_get_user_perk(id);
  
   if(!perk)
   {
	ColorChat(id, RED, "^x03[Sklep]^x04 Nie posiadasz perku do sprzedania")
	return PLUGIN_CONTINUE;
   }
  
   new nazwa_perku_sprzedanego[33];
   cod_get_perk_name(perk, nazwa_perku_sprzedanego[id], 32);
  
   Odznaki[id]+=5;
   ColorChat(id, RED, "^x03[Sklep]^x04 Sprzedales Perk %s za 5 punktow honoru.", nazwa_perku_sprzedanego[id]);
   cod_set_user_perk(id, 0, 0, 0)
   Sklep(id);
  }

  case 2:
  {
   if(Odznaki[id] < 20)
   {
	ColorChat(id, RED, "^x03[Sklep]^x04 Nie masz wystarczajacej ilosci Punktow Honoru.")
	return PLUGIN_CONTINUE;
   }
   else if(cod_get_user_perk(id) == 0)
   {
	ColorChat(id, RED, "^x03[Sklep]^x04 Nie posiadasz perku do naprawy.")
	return PLUGIN_CONTINUE;
   }
   else if(cod_get_perk_durability(id) <= 0)
   {
	ColorChat(id, RED, "^x03[Sklep]^x04 Twoj perk jest zniszczony, juz nie da sie go naprawic.")
	return PLUGIN_CONTINUE;
   }
   else if(cod_get_perk_durability(id) >= 100)
   {
	ColorChat(id, RED, "^x03[Sklep]^x04 Nie mozesz naprawic perku ktory ma pelna wytrzymalosc.")
	return PLUGIN_CONTINUE;
   }
   Odznaki[id]-=20
   cod_set_perk_durability(id, 100);
   ColorChat(id, RED, "^x03[Sklep]^x04 Naprawiles Perk, Kupiles 100 wytrzymalosci");
   Sklep(id);
  }
  case 3:
  {
   dodatki(id)
  }
  /*case 3:
{
  if(Odznaki[id] < 20)
  {
   ColorChat(id, RED, "^x03[Sklep]^x04 Nie masz wystarczajacej ilosci Punktow Honoru.")
   return PLUGIN_CONTINUE;
  }
  Odznaki[id]-=20
  set_user_footsteps(id, 1);
  ColorChat(id, RED, "^x03[Sklep]^x04 Kupiles^x03 Ciche buty (Nie slychac twoich krokow)");
}*/


case 4:
{
  kup(id)
}
/*case 4:
{
if(Odznaki[id] < 10)
{
  ColorChat(id, RED, "^x03[Sklep]^x04 Nie masz wystarczajacej ilosci Punktow Honoru.")
  return PLUGIN_CONTINUE;
}
else if(kupil_redbull[id] == true)

{
  ColorChat(id, RED, "^x03[Sklep]^x04 Redbulla mozesz kupowac raz na runde..")
  return PLUGIN_CONTINUE;

}

Odznaki[id]-=10
set_user_gravity(id,get_user_gravity(id) - 0.3);
set_user_maxspeed(id,get_user_maxspeed(id) + 30.0);
kupil_redbull[id] = true;
ColorChat(id, RED, "[Sklep]^x04 Kupiles^x03 RedBulla");
}*/
}
}


naprawdę proszę mi pomóc bo to juz chyba powoduje crasze serwera, moge rowniez zaplacic kilka zł w sms bo mi na tym zalezy.
  • +
  • -
  • 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