hlmod.hu
https://hlmod.hu/

Anti frag lopás (error)
https://hlmod.hu/viewtopic.php?f=9&t=8882
Oldal: 1 / 1

Szerző:  expert [ 2013.06.09. 17:22 ]
Hozzászólás témája:  Anti frag lopás (error)

Miért dobálja az errorokat ??
SMA Forráskód: [ Mindet kijelol ]
  1. L 06/09/2013 - 16:56:02: [AMXX] [0] anti_frag_lopas.sma::sebzes_event (line 34)
  2. L 06/09/2013 - 16:56:02: [AMXX] Displaying debug trace (plugin "anti_frag_lopas.amxx")
  3. L 06/09/2013 - 16:56:02: [AMXX] Run time error 4: index out of bounds

ez van a 34. sorban
SMA Forráskód: [ Mindet kijelol ]
  1. sebzesek[tamado] += sebzes;

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fun>
  3. #include <hamsandwich>
  4. #include <cstrike>
  5. #include <colorchat>
  6.  
  7. #define PLUGIN "Frag Lopas Chat Uzenettel"
  8. #define VERSION "1.0"
  9. #define AUTHOR "Silent"
  10.  
  11. new sebzok[32];
  12. new sebzesek[32];
  13. new sebzettek[32];
  14.  
  15.  
  16. public plugin_init() {
  17. register_plugin(PLUGIN, VERSION, AUTHOR);
  18. register_event("DeathMsg", "halal_event", "ae");
  19. register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
  20. RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
  21. }
  22.  
  23. public spawn_event(id)
  24. {
  25. sebzok[id] = 0;
  26. sebzesek[id] = 0;
  27. sebzettek[id] = 0;
  28. }
  29.  
  30. public sebzes_event(aldozat)
  31. {
  32. new tamado = get_user_attacker(aldozat);
  33. new sebzes = read_data(2);
  34. sebzesek[tamado] += sebzes;
  35. if(sebzesek[tamado] >= 50)
  36. {
  37. sebzok[tamado] = aldozat;
  38. sebzettek[aldozat] = tamado;
  39. }
  40. }
  41.  
  42. public halal_event()
  43. {
  44. new aldozat = read_data(2);
  45. new tamado = read_data(1);
  46. if(sebzettek[aldozat] && sebzettek[aldozat] != tamado)
  47. {
  48. new fragetkap = sebzettek[aldozat];
  49. new fragetkapneve[32];
  50. sebzok[fragetkap] = 0;
  51. sebzesek[fragetkap] = 0;
  52. sebzettek[aldozat] = 0;
  53. get_user_name(fragetkap, fragetkapneve, 31);
  54. if( is_user_connected(fragetkap) )
  55. {
  56. set_user_frags(fragetkap, get_user_frags(fragetkap) +1);
  57. cs_set_user_deaths(fragetkap, get_user_deaths(fragetkap))
  58. ColorChat(0, NORMAL, "[Anti-Frag]^x03%s ^x04kapott +1 fraget !", fragetkapneve);
  59. }
  60. }
  61. }
  62.  

Szerző:  Anonymous1337 [ 2013.06.10. 17:09 ]
Hozzászólás témája:  Re: Anti frag lopás (error)

expert írta:
Miért dobálja az errorokat ??
SMA Forráskód: [ Mindet kijelol ]
  1. L 06/09/2013 - 16:56:02: [AMXX] [0] anti_frag_lopas.sma::sebzes_event (line 34)
  2. L 06/09/2013 - 16:56:02: [AMXX] Displaying debug trace (plugin "anti_frag_lopas.amxx")
  3. L 06/09/2013 - 16:56:02: [AMXX] Run time error 4: index out of bounds

ez van a 34. sorban
SMA Forráskód: [ Mindet kijelol ]
  1. sebzesek[tamado] += sebzes;

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fun>
  3. #include <hamsandwich>
  4. #include <cstrike>
  5. #include <colorchat>
  6.  
  7. #define PLUGIN "Frag Lopas Chat Uzenettel"
  8. #define VERSION "1.0"
  9. #define AUTHOR "Silent"
  10.  
  11. new sebzok[32];
  12. new sebzesek[32];
  13. new sebzettek[32];
  14.  
  15.  
  16. public plugin_init() {
  17. register_plugin(PLUGIN, VERSION, AUTHOR);
  18. register_event("DeathMsg", "halal_event", "ae");
  19. register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
  20. RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
  21. }
  22.  
  23. public spawn_event(id)
  24. {
  25. sebzok[id] = 0;
  26. sebzesek[id] = 0;
  27. sebzettek[id] = 0;
  28. }
  29.  
  30. public sebzes_event(aldozat)
  31. {
  32. new tamado = get_user_attacker(aldozat);
  33. new sebzes = read_data(2);
  34. sebzesek[tamado] += sebzes;
  35. if(sebzesek[tamado] >= 50)
  36. {
  37. sebzok[tamado] = aldozat;
  38. sebzettek[aldozat] = tamado;
  39. }
  40. }
  41.  
  42. public halal_event()
  43. {
  44. new aldozat = read_data(2);
  45. new tamado = read_data(1);
  46. if(sebzettek[aldozat] && sebzettek[aldozat] != tamado)
  47. {
  48. new fragetkap = sebzettek[aldozat];
  49. new fragetkapneve[32];
  50. sebzok[fragetkap] = 0;
  51. sebzesek[fragetkap] = 0;
  52. sebzettek[aldozat] = 0;
  53. get_user_name(fragetkap, fragetkapneve, 31);
  54. if( is_user_connected(fragetkap) )
  55. {
  56. set_user_frags(fragetkap, get_user_frags(fragetkap) +1);
  57. cs_set_user_deaths(fragetkap, get_user_deaths(fragetkap))
  58. ColorChat(0, NORMAL, "[Anti-Frag]^x03%s ^x04kapott +1 fraget !", fragetkapneve);
  59. }
  60. }
  61. }
  62.  



Üdv!
Előre elnézést ha nem jó, még csak most tanulok PAWN nyelven!
Az idáig szerzett tudásom alapján erre jutottam:

Ez:
SMA Forráskód: [ Mindet kijelol ]
  1. if( is_user_connected(fragetkap) )
  2. {

NEM KELL BELE!

Tesztelve, HIBÁTLANUL működik, és nem ír
ERROR -t
!

The source:

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fun>
  3. #include <hamsandwich>
  4. #include <cstrike>
  5. #include <colorchat>
  6.  
  7. #define PLUGIN "Frag Lopas Chat Uzenettel"
  8. #define VERSION "1.0"
  9. #define AUTHOR "Silent"
  10.  
  11. new sebzok[32];
  12. new sebzesek[32];
  13. new sebzettek[32];
  14.  
  15.  
  16. public plugin_init() {
  17. register_plugin(PLUGIN, VERSION, AUTHOR);
  18. register_event("DeathMsg", "halal_event", "ae");
  19. register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
  20. RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
  21. }
  22.  
  23. public spawn_event(id)
  24. {
  25. sebzok[id] = 0;
  26. sebzesek[id] = 0;
  27. sebzettek[id] = 0;
  28. }
  29.  
  30. public sebzes_event(aldozat)
  31. {
  32. new tamado = get_user_attacker(aldozat);
  33. new sebzes = read_data(2);
  34. sebzesek[tamado] += sebzes;
  35. if(sebzesek[tamado] >= 50)
  36. {
  37. sebzok[tamado] = aldozat;
  38. sebzettek[aldozat] = tamado;
  39. }
  40. }
  41.  
  42. public halal_event()
  43. {
  44. new aldozat = read_data(2);
  45. new tamado = read_data(1);
  46. if(sebzettek[aldozat] && sebzettek[aldozat] != tamado)
  47. {
  48. new fragetkap = sebzettek[aldozat];
  49. new fragetkapneve[32];
  50. sebzok[fragetkap] = 0;
  51. sebzesek[fragetkap] = 0;
  52. sebzettek[aldozat] = 0;
  53. get_user_name(fragetkap, fragetkapneve, 31);
  54. set_user_frags(fragetkap, get_user_frags(fragetkap) +1);
  55. ColorChat(0, BLUE, "[Anti-Frag]^x04%s kapott +1 fraget.", fragetkapneve);
  56. }
  57. }


Remélem tudtam segíteni!

Üdv.
Anonymous1337

Szerző:  expert [ 2013.06.10. 17:18 ]
Hozzászólás témája:  Re: Anti frag lopás (error)

az kell bele mivel ha olyannak akarja adni a freget aki közben lement a szerverről akkor ugyan úgy errorozik, majd nézd meg neked is tuti van error csak nem nézted, meg amit te raktál ide ki az nem frissite egyböl a freget

Szerző:  Anonymous1337 [ 2013.06.10. 19:07 ]
Hozzászólás témája:  Re: Anti frag lopás (error)

expert írta:
az kell bele mivel ha olyannak akarja adni a freget aki közben lement a szerverről akkor ugyan úgy errorozik, majd nézd meg neked is tuti van error csak nem nézted, meg amit te raktál ide ki az nem frissite egyböl a freget


Ez csak egy ötlet volt! Ha ez se vált be, akkor nem tudom mi lehet a gond.

Szerző:  Metal [ 2013.06.11. 11:10 ]
Hozzászólás témája:  Re: Anti frag lopás (error)

A hiba oka az, hogy a tömb, amit használsz rossz indexet kap, konkrétan túlindexelődik.
Megoldás az, ha az indexet lecsekkolod, hogy valóban van-e olyan indexe.
Ehhez használhatod a sizeof operátort is.
pl:

SMA Forráskód: [ Mindet kijelol ]
  1. public sebzes_event(aldozat)
  2. {
  3. new tamado = get_user_attacker(aldozat);
  4. if (tamado >= sizeof sebzesek)
  5. return;
  6.  
  7. new sebzes = read_data(2);
  8. sebzesek[tamado] += sebzes;
  9. if(sebzesek[tamado] >= 50)
  10. {
  11. sebzok[tamado] = aldozat;
  12. sebzettek[aldozat] = tamado;
  13. }
  14. }



expert írta:
Miért dobálja az errorokat ??
SMA Forráskód: [ Mindet kijelol ]
  1. L 06/09/2013 - 16:56:02: [AMXX] [0] anti_frag_lopas.sma::sebzes_event (line 34)
  2. L 06/09/2013 - 16:56:02: [AMXX] Displaying debug trace (plugin "anti_frag_lopas.amxx")
  3. L 06/09/2013 - 16:56:02: [AMXX] Run time error 4: index out of bounds

ez van a 34. sorban
SMA Forráskód: [ Mindet kijelol ]
  1. sebzesek[tamado] += sebzes;

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fun>
  3. #include <hamsandwich>
  4. #include <cstrike>
  5. #include <colorchat>
  6.  
  7. #define PLUGIN "Frag Lopas Chat Uzenettel"
  8. #define VERSION "1.0"
  9. #define AUTHOR "Silent"
  10.  
  11. new sebzok[32];
  12. new sebzesek[32];
  13. new sebzettek[32];
  14.  
  15.  
  16. public plugin_init() {
  17. register_plugin(PLUGIN, VERSION, AUTHOR);
  18. register_event("DeathMsg", "halal_event", "ae");
  19. register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
  20. RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
  21. }
  22.  
  23. public spawn_event(id)
  24. {
  25. sebzok[id] = 0;
  26. sebzesek[id] = 0;
  27. sebzettek[id] = 0;
  28. }
  29.  
  30. public sebzes_event(aldozat)
  31. {
  32. new tamado = get_user_attacker(aldozat);
  33. new sebzes = read_data(2);
  34. sebzesek[tamado] += sebzes;
  35. if(sebzesek[tamado] >= 50)
  36. {
  37. sebzok[tamado] = aldozat;
  38. sebzettek[aldozat] = tamado;
  39. }
  40. }
  41.  
  42. public halal_event()
  43. {
  44. new aldozat = read_data(2);
  45. new tamado = read_data(1);
  46. if(sebzettek[aldozat] && sebzettek[aldozat] != tamado)
  47. {
  48. new fragetkap = sebzettek[aldozat];
  49. new fragetkapneve[32];
  50. sebzok[fragetkap] = 0;
  51. sebzesek[fragetkap] = 0;
  52. sebzettek[aldozat] = 0;
  53. get_user_name(fragetkap, fragetkapneve, 31);
  54. if( is_user_connected(fragetkap) )
  55. {
  56. set_user_frags(fragetkap, get_user_frags(fragetkap) +1);
  57. cs_set_user_deaths(fragetkap, get_user_deaths(fragetkap))
  58. ColorChat(0, NORMAL, "[Anti-Frag]^x03%s ^x04kapott +1 fraget !", fragetkapneve);
  59. }
  60. }
  61. }
  62.  

Szerző:  Silent [ 2013.06.11. 21:16 ]
Hozzászólás témája:  Re: Anti frag lopás (error)

Na mondjuk azt nem értem, hogy ez hogy képes túl indexelődni.. 1-32 playerid van nem?

Szerző:  Metal [ 2013.06.12. 11:09 ]
Hozzászólás témája:  Re: Anti frag lopás (error)

pl nem játékos által hal. (world, stb ,bár azok tudtommal 0ás indexűek :) )

Szerző:  expert [ 2013.06.12. 22:01 ]
Hozzászólás témája:  Re: Anti frag lopás (error)

öszi szépen Metal, tesztelem :D

Szerző:  fuck604 [ 2013.06.12. 22:14 ]
Hozzászólás témája:  Re: Anti frag lopás (error)

Metal írta:
pl nem játékos által hal. (world, stb ,bár azok tudtommal 0ás indexűek :) )

awawaw végre kijavíthatlak:)
nem 0-ás indexűek mert egyszer megnéztem asszem a lávának. ha jól emlékszem 63volt

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/