hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.28. 00:13



Jelenlévő felhasználók

Jelenleg 538 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 537 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 4 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Ejtőernyő skin csere.
HozzászólásElküldve: 2017.05.04. 19:55 
Offline
Tag
Avatar

Csatlakozott: 2017.04.28. 12:57
Hozzászólások: 39
Megköszönt másnak: 19 alkalommal
Sziasztok.
Kéne, a paintball szerveremre egy Ejtőernyő skin csere.
Múltkor, kaptam 1-t de beraktam rendesen és ha felcsatlakoztam akkor kifagyott a szerver!
Előre is köszike!

_________________
Nem kell megadott dolgokat tenned ahhoz, hogy népszerű lehess. (...) Csak add magad, és legyél tisztában vele, hogy ki vagy.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ejtőernyő skin csere.
HozzászólásElküldve: 2017.05.04. 20:09 
Offline
Jómunkásember

Csatlakozott: 2015.11.29. 17:07
Hozzászólások: 375
Megköszönt másnak: 76 alkalommal
Megköszönték neki: 53 alkalommal
12. sorban átírod skin nevét és készen vagy.
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <cstrike>
  5. #include <fun>
  6.  
  7. new bool:has_parachute[33]
  8. new para_ent[33]
  9. new gCStrike = 0
  10. new pDetach, pFallSpeed, pEnabled, pCost, pPayback
  11.  
  12. new szModel[] = "models/parachute";
  13.  
  14. #define PARACHUTE_LEVEL ADMIN_LEVEL_A
  15.  
  16. public plugin_init()
  17. {
  18.     register_plugin("Parachute", "1.3", "KRoT@L/JTP10181")
  19.     pEnabled = register_cvar("sv_parachute", "1" )
  20.     pFallSpeed = register_cvar("parachute_fallspeed", "100")
  21.     pDetach = register_cvar("parachute_detach", "1")
  22.  
  23.     if (cstrike_running()) gCStrike = true
  24.  
  25.     if (gCStrike) {
  26.  
  27.         pCost = register_cvar("parachute_cost", "0")
  28.         pPayback = register_cvar("parachute_payback", "75")
  29.  
  30.         register_concmd("amx_parachute", "admin_give_parachute", PARACHUTE_LEVEL, "<nick, #userid or @team>" )
  31.     }
  32.  
  33.     register_clcmd("say", "HandleSay")
  34.     register_clcmd("say_team", "HandleSay")
  35.  
  36.     register_event("ResetHUD", "newSpawn", "be")
  37.     register_event("DeathMsg", "death_event", "a")
  38.  
  39.     //Setup jtp10181 CVAR
  40.     new cvarString[256], shortName[16]
  41.     copy(shortName,15,"chute")
  42.  
  43.     register_cvar("jtp10181","",FCVAR_SERVER|FCVAR_SPONLY)
  44.     get_cvar_string("jtp10181",cvarString,255)
  45.  
  46.     if (strlen(cvarString) == 0) {
  47.         formatex(cvarString,255,shortName)
  48.         set_cvar_string("jtp10181",cvarString)
  49.     }
  50.     else if (contain(cvarString,shortName) == -1) {
  51.         format(cvarString,255,"%s,%s",cvarString, shortName)
  52.         set_cvar_string("jtp10181",cvarString)
  53.     }
  54. }
  55.  
  56. public plugin_natives()
  57. {
  58.     set_module_filter("module_filter")
  59.     set_native_filter("native_filter")
  60. }
  61.  
  62. public module_filter(const module[])
  63. {
  64.     if (!cstrike_running() && equali(module, "cstrike")) {
  65.         return PLUGIN_HANDLED
  66.     }
  67.  
  68.     return PLUGIN_CONTINUE
  69. }
  70.  
  71. public native_filter(const name[], index, trap)
  72. {
  73.     if (!trap) return PLUGIN_HANDLED
  74.  
  75.     return PLUGIN_CONTINUE
  76. }
  77.  
  78. public plugin_precache()
  79. {
  80.     precache_model(szModel)
  81. }
  82.  
  83. public client_connect(id)
  84. {
  85.     parachute_reset(id)
  86. }
  87.  
  88. public client_disconnect(id)
  89. {
  90.     parachute_reset(id)
  91. }
  92.  
  93. public death_event()
  94. {
  95.     new id = read_data(2)
  96.     parachute_reset(id)
  97. }
  98.  
  99. parachute_reset(id)
  100. {
  101.     if(para_ent[id] > 0) {
  102.         if (is_valid_ent(para_ent[id])) {
  103.             remove_entity(para_ent[id])
  104.         }
  105.     }
  106.  
  107.     if (is_user_alive(id)) set_user_gravity(id, 1.0)
  108.  
  109.     has_parachute[id] = false
  110.     para_ent[id] = 0
  111. }
  112.  
  113. public newSpawn(id)
  114. {
  115.     if(para_ent[id] > 0) {
  116.         remove_entity(para_ent[id])
  117.         set_user_gravity(id, 1.0)
  118.         para_ent[id] = 0
  119.     }
  120.  
  121.     if (!gCStrike || access(id,PARACHUTE_LEVEL) || get_pcvar_num(pCost) <= 0) {
  122.         has_parachute[id] = true
  123.         //set_view(id, CAMERA_3RDPERSON)
  124.     }
  125. }
  126.  
  127. public HandleSay(id)
  128. {
  129.     if(!is_user_connected(id)) return PLUGIN_CONTINUE
  130.  
  131.     new args[128]
  132.     read_args(args, 127)
  133.     remove_quotes(args)
  134.  
  135.     if (gCStrike) {
  136.         if (equali(args, "buy_parachute")) {
  137.             buy_parachute(id)
  138.             return PLUGIN_HANDLED
  139.         }
  140.         else if (equali(args, "sell_parachute")) {
  141.             sell_parachute(id)
  142.             return PLUGIN_HANDLED
  143.         }
  144.         else if (containi(args, "give_parachute") == 0) {
  145.             give_parachute(id,args[15])
  146.             return PLUGIN_HANDLED
  147.         }
  148.     }
  149.  
  150.     if (containi(args, "parachute") != -1) {
  151.         if (gCStrike) client_print(id, print_chat, "[AMXX] Ejtőernyő parancsok: buy_parachute, sell_parachute, give_parachute")
  152.         client_print(id, print_chat, "[AMXX] Az ejtőernyő használatához nyomd meg az E betűt")
  153.     }
  154.  
  155.     return PLUGIN_CONTINUE
  156. }
  157.  
  158. public buy_parachute(id)
  159. {
  160.     if (!gCStrike) return PLUGIN_CONTINUE
  161.     if (!is_user_connected(id)) return PLUGIN_CONTINUE
  162.  
  163.     if (!get_pcvar_num(pEnabled)) {
  164.         client_print(id, print_chat, "[AMXX] Ejtőernyő plugin kikapcsolva")
  165.         return PLUGIN_HANDLED
  166.     }
  167.  
  168.     if (has_parachute[id]) {
  169.         client_print(id, print_chat, "[AMXX] Neked már van ejtőernyőd")
  170.         return PLUGIN_HANDLED
  171.     }
  172.  
  173.     new money = cs_get_user_money(id)
  174.     new cost = get_pcvar_num(pCost)
  175.  
  176.     if (money < cost) {
  177.         client_print(id, print_chat, "[AMXX] Nincs elég pénzed az ejtőernyő vásárlásához - Costs $%i", cost)
  178.         return PLUGIN_HANDLED
  179.     }
  180.  
  181.     cs_set_user_money(id, money - cost)
  182.     client_print(id, print_chat, "[AMXX] Vettél egy ejtőernyőt Használathoz nyomd meg az E betűt")
  183.     has_parachute[id] = true
  184.  
  185.     return PLUGIN_HANDLED
  186. }
  187.  
  188. public sell_parachute(id)
  189. {
  190.     if (!gCStrike) return PLUGIN_CONTINUE
  191.     if (!is_user_connected(id)) return PLUGIN_CONTINUE
  192.  
  193.     if (!get_pcvar_num(pEnabled)) {
  194.         client_print(id, print_chat, "[AMXX] Ejtőernyő plugin kikapcsolva")
  195.         return PLUGIN_HANDLED
  196.     }
  197.  
  198.     if (!has_parachute[id]) {
  199.         client_print(id, print_chat, "[AMXX] Neked nincs ejtőernyőd ezért nem tudod eladni")
  200.         return PLUGIN_HANDLED
  201.     }
  202.  
  203.     if (access(id,PARACHUTE_LEVEL)) {
  204.         client_print(id, print_chat, "[AMXX] Te nem adhatod el az admin által adott ingyen ejtőernyőt!")
  205.         return PLUGIN_HANDLED
  206.     }
  207.  
  208.     parachute_reset(id)
  209.  
  210.     new money = cs_get_user_money(id)
  211.     new cost = get_pcvar_num(pCost)
  212.  
  213.     new sellamt = floatround(cost * (get_pcvar_num(pPayback) / 100.0))
  214.     cs_set_user_money(id, money + sellamt)
  215.  
  216.     client_print(id, print_chat, "[AMX] Eladtad a használt ejtőernyőd ennyiért: $%d", sellamt)
  217.  
  218.     return PLUGIN_CONTINUE
  219. }
  220.  
  221. public give_parachute(id,args[])
  222. {
  223.     if (!gCStrike) return PLUGIN_CONTINUE
  224.     if (!is_user_connected(id)) return PLUGIN_CONTINUE
  225.  
  226.     if (!get_pcvar_num(pEnabled)) {
  227.         client_print(id, print_chat, "[AMXX] Ejtőernyő plugin bekapcsolva")
  228.         return PLUGIN_HANDLED
  229.     }
  230.  
  231.     if (!has_parachute[id]) {
  232.         client_print(id, print_chat, "[AMXX] Te nem tudod használni az ejtőernyőd mert nincs.")
  233.         return PLUGIN_HANDLED
  234.     }
  235.  
  236.     new player = cmd_target(id, args, 4)
  237.     if (!player) return PLUGIN_HANDLED
  238.  
  239.     new id_name[32], pl_name[32]
  240.     get_user_name(id, id_name, 31)
  241.     get_user_name(player, pl_name, 31)
  242.  
  243.     if(has_parachute[player]) {
  244.         client_print(id, print_chat, "[AMXX] %s már van ejtőernyője.", pl_name)
  245.         return PLUGIN_HANDLED
  246.     }
  247.  
  248.     parachute_reset(id)
  249.     has_parachute[player] = true
  250.  
  251.     client_print(id, print_chat, "[AMXX] Adtál ejtőernyöt neki : %s.", pl_name)
  252.     client_print(player, print_chat, "[AMXX] %s használja az ejtőernyőt amit te adtál neki.", id_name)
  253.  
  254.     return PLUGIN_HANDLED
  255. }
  256.  
  257. public admin_give_parachute(id, level, cid) {
  258.  
  259.     if (!gCStrike) return PLUGIN_CONTINUE
  260.  
  261.     if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED
  262.  
  263.     if (!get_pcvar_num(pEnabled)) {
  264.         client_print(id, print_chat, "[AMXX] ejtőernyő plugin kikapcsolva")
  265.         return PLUGIN_HANDLED
  266.     }
  267.  
  268.     new arg[32], name[32], name2[32], authid[35], authid2[35]
  269.     read_argv(1,arg,31)
  270.     get_user_name(id,name,31)
  271.     get_user_authid(id,authid,34)
  272.  
  273.     if (arg[0]=='@'){
  274.         new players[32], inum
  275.         if (equali("T",arg[1]))     copy(arg[1],31,"TERRORIST")
  276.         if (equali("ALL",arg[1]))   get_players(players,inum)
  277.         else                        get_players(players,inum,"e",arg[1])
  278.  
  279.         if (inum == 0) {
  280.             console_print(id,"No clients in such team")
  281.             return PLUGIN_HANDLED
  282.         }
  283.  
  284.         for(new a = 0; a < inum; a++) {
  285.             has_parachute[players[a]] = true
  286.         }
  287.  
  288.         switch(get_cvar_num("amx_show_activity"))   {
  289.             case 2: client_print(0,print_chat,"ADMIN %s: adott egy ejtőernyőt ^"%s^" playernek",name,arg[1])
  290.             case 1: client_print(0,print_chat,"ADMIN: Adott egy ejtőernyőt ^"%s^" playernek",arg[1])
  291.         }
  292.  
  293.         console_print(id,"[AMXX] Te adtál egy ejtőernyőt ^"%s^" playernek",arg[1])
  294.         log_amx("^"%s<%d><%s><>^" adtál ejtőernyőt ^"%s^"", name,get_user_userid(id),authid,arg[1])
  295.     }
  296.     else {
  297.  
  298.         new player = cmd_target(id,arg,6)
  299.         if (!player) return PLUGIN_HANDLED
  300.  
  301.         has_parachute[player] = true
  302.  
  303.         get_user_name(player,name2,31)
  304.         get_user_authid(player,authid2,34)
  305.  
  306.         switch(get_cvar_num("amx_show_activity")) {
  307.             case 2: client_print(0,print_chat,"ADMIN %s: adtál ejtőernyőt ^"%s^"",name,name2)
  308.             case 1: client_print(0,print_chat,"ADMIN: adtál ejtőernyőt ^"%s^"",name2)
  309.         }
  310.  
  311.         console_print(id,"[AMXX] te adtál ejtőernyőt ^"%s^"", name2)
  312.         log_amx("^"%s<%d><%s><>^" adtál ejtőernyőt ^"%s<%d><%s><>^"", name,get_user_userid(id),authid,name2,get_user_userid(player),authid2)
  313.     }
  314.     return PLUGIN_HANDLED
  315. }
  316.  
  317. public client_PreThink(id)
  318. {
  319.     //parachute.mdl animation information
  320.     //0 - deploy - 84 frames
  321.     //1 - idle - 39 frames
  322.     //2 - detach - 29 frames
  323.  
  324.     if (!get_pcvar_num(pEnabled)) return
  325.     if (!is_user_alive(id) || !has_parachute[id]) return
  326.  
  327.     new Float:fallspeed = get_pcvar_float(pFallSpeed) * -1.0
  328.     new Float:frame
  329.  
  330.     new button = get_user_button(id)
  331.     new oldbutton = get_user_oldbutton(id)
  332.     new flags = get_entity_flags(id)
  333.  
  334.     if (para_ent[id] > 0 && (flags & FL_ONGROUND)) {
  335.  
  336.         if (get_pcvar_num(pDetach)) {
  337.  
  338.             if (get_user_gravity(id) == 0.1) set_user_gravity(id, 1.0)
  339.  
  340.             if (entity_get_int(para_ent[id],EV_INT_sequence) != 2) {
  341.                 entity_set_int(para_ent[id], EV_INT_sequence, 2)
  342.                 entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
  343.                 entity_set_float(para_ent[id], EV_FL_frame, 0.0)
  344.                 entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
  345.                 entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
  346.                 entity_set_float(para_ent[id], EV_FL_framerate, 0.0)
  347.                 return
  348.             }
  349.  
  350.             frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 2.0
  351.             entity_set_float(para_ent[id],EV_FL_fuser1,frame)
  352.             entity_set_float(para_ent[id],EV_FL_frame,frame)
  353.  
  354.             if (frame > 254.0) {
  355.                 remove_entity(para_ent[id])
  356.                 para_ent[id] = 0
  357.             }
  358.         }
  359.         else {
  360.             remove_entity(para_ent[id])
  361.             set_user_gravity(id, 1.0)
  362.             para_ent[id] = 0
  363.         }
  364.  
  365.         return
  366.     }
  367.  
  368.     if (button & IN_USE) {
  369.  
  370.         new Float:velocity[3]
  371.         entity_get_vector(id, EV_VEC_velocity, velocity)
  372.  
  373.         if (velocity[2] < 0.0) {
  374.  
  375.             if(para_ent[id] <= 0) {
  376.                 para_ent[id] = create_entity("info_target")
  377.                 if(para_ent[id] > 0) {
  378.                     entity_set_string(para_ent[id],EV_SZ_classname,"parachute")
  379.                     entity_set_edict(para_ent[id], EV_ENT_aiment, id)
  380.                     entity_set_edict(para_ent[id], EV_ENT_owner, id)
  381.                     entity_set_int(para_ent[id], EV_INT_movetype, MOVETYPE_FOLLOW)
  382.                     entity_set_model(para_ent[id], "models/parachute.mdl")
  383.                     entity_set_int(para_ent[id], EV_INT_sequence, 0)
  384.                     entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
  385.                     entity_set_float(para_ent[id], EV_FL_frame, 0.0)
  386.                     entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
  387.                 }
  388.             }
  389.  
  390.             if (para_ent[id] > 0) {
  391.  
  392.                 entity_set_int(id, EV_INT_sequence, 3)
  393.                 entity_set_int(id, EV_INT_gaitsequence, 1)
  394.                 entity_set_float(id, EV_FL_frame, 1.0)
  395.                 entity_set_float(id, EV_FL_framerate, 1.0)
  396.                 set_user_gravity(id, 0.1)
  397.  
  398.                 velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed
  399.                 entity_set_vector(id, EV_VEC_velocity, velocity)
  400.  
  401.                 if (entity_get_int(para_ent[id],EV_INT_sequence) == 0) {
  402.  
  403.                     frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 1.0
  404.                     entity_set_float(para_ent[id],EV_FL_fuser1,frame)
  405.                     entity_set_float(para_ent[id],EV_FL_frame,frame)
  406.  
  407.                     if (frame > 100.0) {
  408.                         entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
  409.                         entity_set_float(para_ent[id], EV_FL_framerate, 0.4)
  410.                         entity_set_int(para_ent[id], EV_INT_sequence, 1)
  411.                         entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
  412.                         entity_set_float(para_ent[id], EV_FL_frame, 0.0)
  413.                         entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
  414.                     }
  415.                 }
  416.             }
  417.         }
  418.         else if (para_ent[id] > 0) {
  419.             remove_entity(para_ent[id])
  420.             set_user_gravity(id, 1.0)
  421.             para_ent[id] = 0
  422.         }
  423.     }
  424.     else if ((oldbutton & IN_USE) && para_ent[id] > 0 ) {
  425.         remove_entity(para_ent[id])
  426.         set_user_gravity(id, 1.0)
  427.         para_ent[id] = 0
  428.     }
  429. }

 ! Moderátori megjegyzés (kengurumancs):
400 soros ejtőernyő.. gg :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ejtőernyő skin csere.
HozzászólásElküldve: 2017.05.31. 16:20 
Offline
Őskövület
Avatar

Csatlakozott: 2011.12.28. 00:35
Hozzászólások: 2736
Megköszönt másnak: 56 alkalommal
Megköszönték neki: 275 alkalommal
Ha nem tudod megválaszolni legalább hülyeséget ne mondj.. Ha csak a 12. sorban átírod kifog a dobni a szerver.

Ezekben a sorokban kicseréled a modelt és kész is:

12. sor: new szModel[] = "models/parachute";
382. sor: entity_set_model(para_ent[id], "models/parachute.mdl")

Krisznitro írta:
12. sorban átírod skin nevét és készen vagy.
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <cstrike>
  5. #include <fun>
  6.  
  7. new bool:has_parachute[33]
  8. new para_ent[33]
  9. new gCStrike = 0
  10. new pDetach, pFallSpeed, pEnabled, pCost, pPayback
  11.  
  12. new szModel[] = "models/parachute";
  13.  
  14. #define PARACHUTE_LEVEL ADMIN_LEVEL_A
  15.  
  16. public plugin_init()
  17. {
  18.     register_plugin("Parachute", "1.3", "KRoT@L/JTP10181")
  19.     pEnabled = register_cvar("sv_parachute", "1" )
  20.     pFallSpeed = register_cvar("parachute_fallspeed", "100")
  21.     pDetach = register_cvar("parachute_detach", "1")
  22.  
  23.     if (cstrike_running()) gCStrike = true
  24.  
  25.     if (gCStrike) {
  26.  
  27.         pCost = register_cvar("parachute_cost", "0")
  28.         pPayback = register_cvar("parachute_payback", "75")
  29.  
  30.         register_concmd("amx_parachute", "admin_give_parachute", PARACHUTE_LEVEL, "<nick, #userid or @team>" )
  31.     }
  32.  
  33.     register_clcmd("say", "HandleSay")
  34.     register_clcmd("say_team", "HandleSay")
  35.  
  36.     register_event("ResetHUD", "newSpawn", "be")
  37.     register_event("DeathMsg", "death_event", "a")
  38.  
  39.     //Setup jtp10181 CVAR
  40.     new cvarString[256], shortName[16]
  41.     copy(shortName,15,"chute")
  42.  
  43.     register_cvar("jtp10181","",FCVAR_SERVER|FCVAR_SPONLY)
  44.     get_cvar_string("jtp10181",cvarString,255)
  45.  
  46.     if (strlen(cvarString) == 0) {
  47.         formatex(cvarString,255,shortName)
  48.         set_cvar_string("jtp10181",cvarString)
  49.     }
  50.     else if (contain(cvarString,shortName) == -1) {
  51.         format(cvarString,255,"%s,%s",cvarString, shortName)
  52.         set_cvar_string("jtp10181",cvarString)
  53.     }
  54. }
  55.  
  56. public plugin_natives()
  57. {
  58.     set_module_filter("module_filter")
  59.     set_native_filter("native_filter")
  60. }
  61.  
  62. public module_filter(const module[])
  63. {
  64.     if (!cstrike_running() && equali(module, "cstrike")) {
  65.         return PLUGIN_HANDLED
  66.     }
  67.  
  68.     return PLUGIN_CONTINUE
  69. }
  70.  
  71. public native_filter(const name[], index, trap)
  72. {
  73.     if (!trap) return PLUGIN_HANDLED
  74.  
  75.     return PLUGIN_CONTINUE
  76. }
  77.  
  78. public plugin_precache()
  79. {
  80.     precache_model(szModel)
  81. }
  82.  
  83. public client_connect(id)
  84. {
  85.     parachute_reset(id)
  86. }
  87.  
  88. public client_disconnect(id)
  89. {
  90.     parachute_reset(id)
  91. }
  92.  
  93. public death_event()
  94. {
  95.     new id = read_data(2)
  96.     parachute_reset(id)
  97. }
  98.  
  99. parachute_reset(id)
  100. {
  101.     if(para_ent[id] > 0) {
  102.         if (is_valid_ent(para_ent[id])) {
  103.             remove_entity(para_ent[id])
  104.         }
  105.     }
  106.  
  107.     if (is_user_alive(id)) set_user_gravity(id, 1.0)
  108.  
  109.     has_parachute[id] = false
  110.     para_ent[id] = 0
  111. }
  112.  
  113. public newSpawn(id)
  114. {
  115.     if(para_ent[id] > 0) {
  116.         remove_entity(para_ent[id])
  117.         set_user_gravity(id, 1.0)
  118.         para_ent[id] = 0
  119.     }
  120.  
  121.     if (!gCStrike || access(id,PARACHUTE_LEVEL) || get_pcvar_num(pCost) <= 0) {
  122.         has_parachute[id] = true
  123.         //set_view(id, CAMERA_3RDPERSON)
  124.     }
  125. }
  126.  
  127. public HandleSay(id)
  128. {
  129.     if(!is_user_connected(id)) return PLUGIN_CONTINUE
  130.  
  131.     new args[128]
  132.     read_args(args, 127)
  133.     remove_quotes(args)
  134.  
  135.     if (gCStrike) {
  136.         if (equali(args, "buy_parachute")) {
  137.             buy_parachute(id)
  138.             return PLUGIN_HANDLED
  139.         }
  140.         else if (equali(args, "sell_parachute")) {
  141.             sell_parachute(id)
  142.             return PLUGIN_HANDLED
  143.         }
  144.         else if (containi(args, "give_parachute") == 0) {
  145.             give_parachute(id,args[15])
  146.             return PLUGIN_HANDLED
  147.         }
  148.     }
  149.  
  150.     if (containi(args, "parachute") != -1) {
  151.         if (gCStrike) client_print(id, print_chat, "[AMXX] Ejtőernyő parancsok: buy_parachute, sell_parachute, give_parachute")
  152.         client_print(id, print_chat, "[AMXX] Az ejtőernyő használatához nyomd meg az E betűt")
  153.     }
  154.  
  155.     return PLUGIN_CONTINUE
  156. }
  157.  
  158. public buy_parachute(id)
  159. {
  160.     if (!gCStrike) return PLUGIN_CONTINUE
  161.     if (!is_user_connected(id)) return PLUGIN_CONTINUE
  162.  
  163.     if (!get_pcvar_num(pEnabled)) {
  164.         client_print(id, print_chat, "[AMXX] Ejtőernyő plugin kikapcsolva")
  165.         return PLUGIN_HANDLED
  166.     }
  167.  
  168.     if (has_parachute[id]) {
  169.         client_print(id, print_chat, "[AMXX] Neked már van ejtőernyőd")
  170.         return PLUGIN_HANDLED
  171.     }
  172.  
  173.     new money = cs_get_user_money(id)
  174.     new cost = get_pcvar_num(pCost)
  175.  
  176.     if (money < cost) {
  177.         client_print(id, print_chat, "[AMXX] Nincs elég pénzed az ejtőernyő vásárlásához - Costs $%i", cost)
  178.         return PLUGIN_HANDLED
  179.     }
  180.  
  181.     cs_set_user_money(id, money - cost)
  182.     client_print(id, print_chat, "[AMXX] Vettél egy ejtőernyőt Használathoz nyomd meg az E betűt")
  183.     has_parachute[id] = true
  184.  
  185.     return PLUGIN_HANDLED
  186. }
  187.  
  188. public sell_parachute(id)
  189. {
  190.     if (!gCStrike) return PLUGIN_CONTINUE
  191.     if (!is_user_connected(id)) return PLUGIN_CONTINUE
  192.  
  193.     if (!get_pcvar_num(pEnabled)) {
  194.         client_print(id, print_chat, "[AMXX] Ejtőernyő plugin kikapcsolva")
  195.         return PLUGIN_HANDLED
  196.     }
  197.  
  198.     if (!has_parachute[id]) {
  199.         client_print(id, print_chat, "[AMXX] Neked nincs ejtőernyőd ezért nem tudod eladni")
  200.         return PLUGIN_HANDLED
  201.     }
  202.  
  203.     if (access(id,PARACHUTE_LEVEL)) {
  204.         client_print(id, print_chat, "[AMXX] Te nem adhatod el az admin által adott ingyen ejtőernyőt!")
  205.         return PLUGIN_HANDLED
  206.     }
  207.  
  208.     parachute_reset(id)
  209.  
  210.     new money = cs_get_user_money(id)
  211.     new cost = get_pcvar_num(pCost)
  212.  
  213.     new sellamt = floatround(cost * (get_pcvar_num(pPayback) / 100.0))
  214.     cs_set_user_money(id, money + sellamt)
  215.  
  216.     client_print(id, print_chat, "[AMX] Eladtad a használt ejtőernyőd ennyiért: $%d", sellamt)
  217.  
  218.     return PLUGIN_CONTINUE
  219. }
  220.  
  221. public give_parachute(id,args[])
  222. {
  223.     if (!gCStrike) return PLUGIN_CONTINUE
  224.     if (!is_user_connected(id)) return PLUGIN_CONTINUE
  225.  
  226.     if (!get_pcvar_num(pEnabled)) {
  227.         client_print(id, print_chat, "[AMXX] Ejtőernyő plugin bekapcsolva")
  228.         return PLUGIN_HANDLED
  229.     }
  230.  
  231.     if (!has_parachute[id]) {
  232.         client_print(id, print_chat, "[AMXX] Te nem tudod használni az ejtőernyőd mert nincs.")
  233.         return PLUGIN_HANDLED
  234.     }
  235.  
  236.     new player = cmd_target(id, args, 4)
  237.     if (!player) return PLUGIN_HANDLED
  238.  
  239.     new id_name[32], pl_name[32]
  240.     get_user_name(id, id_name, 31)
  241.     get_user_name(player, pl_name, 31)
  242.  
  243.     if(has_parachute[player]) {
  244.         client_print(id, print_chat, "[AMXX] %s már van ejtőernyője.", pl_name)
  245.         return PLUGIN_HANDLED
  246.     }
  247.  
  248.     parachute_reset(id)
  249.     has_parachute[player] = true
  250.  
  251.     client_print(id, print_chat, "[AMXX] Adtál ejtőernyöt neki : %s.", pl_name)
  252.     client_print(player, print_chat, "[AMXX] %s használja az ejtőernyőt amit te adtál neki.", id_name)
  253.  
  254.     return PLUGIN_HANDLED
  255. }
  256.  
  257. public admin_give_parachute(id, level, cid) {
  258.  
  259.     if (!gCStrike) return PLUGIN_CONTINUE
  260.  
  261.     if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED
  262.  
  263.     if (!get_pcvar_num(pEnabled)) {
  264.         client_print(id, print_chat, "[AMXX] ejtőernyő plugin kikapcsolva")
  265.         return PLUGIN_HANDLED
  266.     }
  267.  
  268.     new arg[32], name[32], name2[32], authid[35], authid2[35]
  269.     read_argv(1,arg,31)
  270.     get_user_name(id,name,31)
  271.     get_user_authid(id,authid,34)
  272.  
  273.     if (arg[0]=='@'){
  274.         new players[32], inum
  275.         if (equali("T",arg[1]))     copy(arg[1],31,"TERRORIST")
  276.         if (equali("ALL",arg[1]))   get_players(players,inum)
  277.         else                        get_players(players,inum,"e",arg[1])
  278.  
  279.         if (inum == 0) {
  280.             console_print(id,"No clients in such team")
  281.             return PLUGIN_HANDLED
  282.         }
  283.  
  284.         for(new a = 0; a < inum; a++) {
  285.             has_parachute[players[a]] = true
  286.         }
  287.  
  288.         switch(get_cvar_num("amx_show_activity"))   {
  289.             case 2: client_print(0,print_chat,"ADMIN %s: adott egy ejtőernyőt ^"%s^" playernek",name,arg[1])
  290.             case 1: client_print(0,print_chat,"ADMIN: Adott egy ejtőernyőt ^"%s^" playernek",arg[1])
  291.         }
  292.  
  293.         console_print(id,"[AMXX] Te adtál egy ejtőernyőt ^"%s^" playernek",arg[1])
  294.         log_amx("^"%s<%d><%s><>^" adtál ejtőernyőt ^"%s^"", name,get_user_userid(id),authid,arg[1])
  295.     }
  296.     else {
  297.  
  298.         new player = cmd_target(id,arg,6)
  299.         if (!player) return PLUGIN_HANDLED
  300.  
  301.         has_parachute[player] = true
  302.  
  303.         get_user_name(player,name2,31)
  304.         get_user_authid(player,authid2,34)
  305.  
  306.         switch(get_cvar_num("amx_show_activity")) {
  307.             case 2: client_print(0,print_chat,"ADMIN %s: adtál ejtőernyőt ^"%s^"",name,name2)
  308.             case 1: client_print(0,print_chat,"ADMIN: adtál ejtőernyőt ^"%s^"",name2)
  309.         }
  310.  
  311.         console_print(id,"[AMXX] te adtál ejtőernyőt ^"%s^"", name2)
  312.         log_amx("^"%s<%d><%s><>^" adtál ejtőernyőt ^"%s<%d><%s><>^"", name,get_user_userid(id),authid,name2,get_user_userid(player),authid2)
  313.     }
  314.     return PLUGIN_HANDLED
  315. }
  316.  
  317. public client_PreThink(id)
  318. {
  319.     //parachute.mdl animation information
  320.     //0 - deploy - 84 frames
  321.     //1 - idle - 39 frames
  322.     //2 - detach - 29 frames
  323.  
  324.     if (!get_pcvar_num(pEnabled)) return
  325.     if (!is_user_alive(id) || !has_parachute[id]) return
  326.  
  327.     new Float:fallspeed = get_pcvar_float(pFallSpeed) * -1.0
  328.     new Float:frame
  329.  
  330.     new button = get_user_button(id)
  331.     new oldbutton = get_user_oldbutton(id)
  332.     new flags = get_entity_flags(id)
  333.  
  334.     if (para_ent[id] > 0 && (flags & FL_ONGROUND)) {
  335.  
  336.         if (get_pcvar_num(pDetach)) {
  337.  
  338.             if (get_user_gravity(id) == 0.1) set_user_gravity(id, 1.0)
  339.  
  340.             if (entity_get_int(para_ent[id],EV_INT_sequence) != 2) {
  341.                 entity_set_int(para_ent[id], EV_INT_sequence, 2)
  342.                 entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
  343.                 entity_set_float(para_ent[id], EV_FL_frame, 0.0)
  344.                 entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
  345.                 entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
  346.                 entity_set_float(para_ent[id], EV_FL_framerate, 0.0)
  347.                 return
  348.             }
  349.  
  350.             frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 2.0
  351.             entity_set_float(para_ent[id],EV_FL_fuser1,frame)
  352.             entity_set_float(para_ent[id],EV_FL_frame,frame)
  353.  
  354.             if (frame > 254.0) {
  355.                 remove_entity(para_ent[id])
  356.                 para_ent[id] = 0
  357.             }
  358.         }
  359.         else {
  360.             remove_entity(para_ent[id])
  361.             set_user_gravity(id, 1.0)
  362.             para_ent[id] = 0
  363.         }
  364.  
  365.         return
  366.     }
  367.  
  368.     if (button & IN_USE) {
  369.  
  370.         new Float:velocity[3]
  371.         entity_get_vector(id, EV_VEC_velocity, velocity)
  372.  
  373.         if (velocity[2] < 0.0) {
  374.  
  375.             if(para_ent[id] <= 0) {
  376.                 para_ent[id] = create_entity("info_target")
  377.                 if(para_ent[id] > 0) {
  378.                     entity_set_string(para_ent[id],EV_SZ_classname,"parachute")
  379.                     entity_set_edict(para_ent[id], EV_ENT_aiment, id)
  380.                     entity_set_edict(para_ent[id], EV_ENT_owner, id)
  381.                     entity_set_int(para_ent[id], EV_INT_movetype, MOVETYPE_FOLLOW)
  382.                     entity_set_model(para_ent[id], "models/parachute.mdl")
  383.                     entity_set_int(para_ent[id], EV_INT_sequence, 0)
  384.                     entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
  385.                     entity_set_float(para_ent[id], EV_FL_frame, 0.0)
  386.                     entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
  387.                 }
  388.             }
  389.  
  390.             if (para_ent[id] > 0) {
  391.  
  392.                 entity_set_int(id, EV_INT_sequence, 3)
  393.                 entity_set_int(id, EV_INT_gaitsequence, 1)
  394.                 entity_set_float(id, EV_FL_frame, 1.0)
  395.                 entity_set_float(id, EV_FL_framerate, 1.0)
  396.                 set_user_gravity(id, 0.1)
  397.  
  398.                 velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed
  399.                 entity_set_vector(id, EV_VEC_velocity, velocity)
  400.  
  401.                 if (entity_get_int(para_ent[id],EV_INT_sequence) == 0) {
  402.  
  403.                     frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 1.0
  404.                     entity_set_float(para_ent[id],EV_FL_fuser1,frame)
  405.                     entity_set_float(para_ent[id],EV_FL_frame,frame)
  406.  
  407.                     if (frame > 100.0) {
  408.                         entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
  409.                         entity_set_float(para_ent[id], EV_FL_framerate, 0.4)
  410.                         entity_set_int(para_ent[id], EV_INT_sequence, 1)
  411.                         entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
  412.                         entity_set_float(para_ent[id], EV_FL_frame, 0.0)
  413.                         entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
  414.                     }
  415.                 }
  416.             }
  417.         }
  418.         else if (para_ent[id] > 0) {
  419.             remove_entity(para_ent[id])
  420.             set_user_gravity(id, 1.0)
  421.             para_ent[id] = 0
  422.         }
  423.     }
  424.     else if ((oldbutton & IN_USE) && para_ent[id] > 0 ) {
  425.         remove_entity(para_ent[id])
  426.         set_user_gravity(id, 1.0)
  427.         para_ent[id] = 0
  428.     }
  429. }

_________________
****


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ejtőernyő skin csere.
HozzászólásElküldve: 2017.06.05. 12:25 
Offline
Jómunkásember

Csatlakozott: 2015.11.29. 17:07
Hozzászólások: 375
Megköszönt másnak: 76 alkalommal
Megköszönték neki: 53 alkalommal
Idézet:
400 soros ejtőernyő.. gg :)



Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 4 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 15 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole