AMXX Parachute [Auto Parachute]

Pluginuri pentru modul AmxModX.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

User avatar
CryWolf
Administrator
Administrator
Posts: 6505
Joined: 07 Aug 2008, 16:33
Detinator Steam: Da
Reputatie: Administrator
Fost Scripter
Manager CS2.eXtream.Ro
Fost Detinator ZM.eXtream.Ro
Fost manager CS.eXtream.Ro
Fost manager CSGO.eXtream.Ro
Fost manager global
Location: Botosani
Discord: crywolf1989
Has thanked: 202 times
Been thanked: 850 times
Contact:

01 Mar 2011, 10:07

Descriere: Acest plugin va da o parasuta care poate fi folosita apasand tasta "E" (USE), nu necesita cumparare

Descarcare: Link ! || Mirror !

LINK NOU: http://www20.zippyshare.com/v/64875205/file.html

Nume: AMXX Parachute
Versiune: 0.2.3
Autor: KRoT@L

Instalare:
1. Fisierul parachute.txt il puneti in addons/amxmodx/data/lang
2. Fisierul amx_parachute.amxx il puneti in addons/amxmodx/plugins
3. Fisierul amx_parachute.sma il puneti in addons/amxmodx/scripting
4. Fisierul parachute.mdl il puneti in ../hlds/cstrike/models
5. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:

Code: Select all

amx_parachute.amxx
Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
  • sv_parachute 1/0 - 1 plugin activ / 0 plugin inactiv (default 1)
    parachute_cost 1000 - Costul parasutei (nu mai este necesar veti avea parasuta fara sa o mai cumparati)
    para_free 0 / 1 - Necesar sa fie pe 1
Comenzi administrative (se tasteaza in consola si trebuie sa fiti administrator):
-

Comenzi publice (se tasteaza in joc prin apasarea tastei Y):
-

Module necesare (se sterge ; din fata modulului de mai jos; acestea le gasiti in fisierul amxmodx\configs\modules.ini):
- Engine
- CStrike

Sper sa va fie de folos, Succes!
Last edited by Cosmin on 18 Jul 2014, 17:10, edited 1 time in total.
Reason: #Link nou de download !
NU IMI MAI DA-TI PM CU CERERE AJUTOR/SAMD, FOLOSITI FORUMUL, CITESC MAJORITATEA TOPICURILOR.
www.dark-arena.com , SERVERE CS / CS2 / L4D AU REVENIT ONLINE.
www.diasporaiptv.ro - SERVICII PREMIUM IPTV

Image

Image
RoyalServer
User avatar
Skizu
Membru, skill +2
Membru, skill +2
Posts: 801
Joined: 14 Nov 2010, 21:34
Detinator Steam: Da
Reputatie: Ban 3 luni !
Membru Club eXtreamCS (o luna)
Restrictie PM
Location: /home/public_html
Has thanked: 101 times
Been thanked: 84 times
Contact:

01 Mar 2011, 10:32

Chiar imi trebuie mersi !
User avatar
blackmetal
Membru, skill +1
Membru, skill +1
Posts: 167
Joined: 10 Jan 2010, 19:28
Detinator Steam: Nu
Detinator server CS: respawn.nsdapcs.org
Has thanked: 4 times
Been thanked: 8 times
Contact:

05 Mar 2011, 14:25

nu merge foarte bine
plus ca ai multe logs....
cum se pot dezactiva?
Resurse si Tutoriale Cstrike => http://forum.nsdapcs.org/
Pagina Mea => http://nsdapcs.org
Steam Fara Bani : http://goo.gl/W8jQZ
Free Booster : http://nsdapcs.org/booster-district/
User avatar
CryWolf
Administrator
Administrator
Posts: 6505
Joined: 07 Aug 2008, 16:33
Detinator Steam: Da
Reputatie: Administrator
Fost Scripter
Manager CS2.eXtream.Ro
Fost Detinator ZM.eXtream.Ro
Fost manager CS.eXtream.Ro
Fost manager CSGO.eXtream.Ro
Fost manager global
Location: Botosani
Discord: crywolf1989
Has thanked: 202 times
Been thanked: 850 times
Contact:

05 Mar 2011, 17:07

blackmetal wrote:nu merge foarte bine
plus ca ai multe logs....
cum se pot dezactiva?
explica ce nu functioneaza bine, si explica ce ai vrut sa spui la logs

@TzUcK - am spus eu undeva ca am nevoie de mirroruri ? sters, al meu tot pe mediafire este urcat.
NU IMI MAI DA-TI PM CU CERERE AJUTOR/SAMD, FOLOSITI FORUMUL, CITESC MAJORITATEA TOPICURILOR.
www.dark-arena.com , SERVERE CS / CS2 / L4D AU REVENIT ONLINE.
www.diasporaiptv.ro - SERVICII PREMIUM IPTV

Image

Image
No_Sadyst#
Membru, skill +1
Membru, skill +1
Posts: 294
Joined: 08 Jul 2008, 05:08
Detinator Steam: Da
CS Status: Citesct forumul
Detinator server CS: Pub.QcK-Zone.COm
Has thanked: 6 times
Been thanked: 2 times

16 Mar 2011, 02:01

Am facut exact ce spune in tutorial , iar cand il bag pe server mi se opreste serverul...
MOTIVUL ?
Image
User avatar
CryWolf
Administrator
Administrator
Posts: 6505
Joined: 07 Aug 2008, 16:33
Detinator Steam: Da
Reputatie: Administrator
Fost Scripter
Manager CS2.eXtream.Ro
Fost Detinator ZM.eXtream.Ro
Fost manager CS.eXtream.Ro
Fost manager CSGO.eXtream.Ro
Fost manager global
Location: Botosani
Discord: crywolf1989
Has thanked: 202 times
Been thanked: 850 times
Contact:

16 Mar 2011, 08:42

Am refacut pasii de instalare, uitate atent la punctul 4.
NU IMI MAI DA-TI PM CU CERERE AJUTOR/SAMD, FOLOSITI FORUMUL, CITESC MAJORITATEA TOPICURILOR.
www.dark-arena.com , SERVERE CS / CS2 / L4D AU REVENIT ONLINE.
www.diasporaiptv.ro - SERVICII PREMIUM IPTV

Image

Image
No_Sadyst#
Membru, skill +1
Membru, skill +1
Posts: 294
Joined: 08 Jul 2008, 05:08
Detinator Steam: Da
CS Status: Citesct forumul
Detinator server CS: Pub.QcK-Zone.COm
Has thanked: 6 times
Been thanked: 2 times

17 Mar 2011, 02:58

Am modificat ... Acuma nu mi se mai opreste serverul , dar mai este o problema !
Cand sar si tin apasat pe "E" nu reactioneaza cu nimic ! Nu scoate parasuta !
Image
User avatar
TwEky.
Utilizator restrictionat
Utilizator restrictionat
Posts: 906
Joined: 11 Feb 2010, 23:34
Detinator Steam: Da
CS Status: Tot Acolo Stau.!
Detinator server CS: Da
SteamID: darky_pglarea
Reputatie: Utilizator Restrictionat: Tweky
Has thanked: 56 times
Been thanked: 84 times
Contact:

17 Mar 2011, 03:08

No_Sadyst# wrote:Am modificat ... Acuma nu mi se mai opreste serverul , dar mai este o problema !
Cand sar si tin apasat pe "E" nu reactioneaza cu nimic ! Nu scoate parasuta !
vezi poate ai un bind pe E , si adauga si cvar in amxx.cfg :|

OFF:

Code: Select all

Am modificat ... Acuma nu mi se mai opreste serverul ,
=)) =)) dai 2 palme poate se opreste..
CryWolf Image Mihaita
Mihaita Image CryWolf
REGULI GENERALE : Afișează regulile forumului
1. Utilizati corect limba romana (folositi cuvinte intregi, virgula, punctul si cratima). NU FOLOSITI limbaj de chat!
2. Raspundeti concret! Fara offtopic, fara mesaje scurte, inutile sau deja postate!
* offtopic = reprezinta devierea de la subiectul care se discuta
3. Folosirea cuvintelor sau inregistrarea cu nume obscene/jignitoare duce la restrictionarea accesului, stergerea contului, etc.
4. Este interzis orice atac la persoana. Discutati ideea, nu persoana !
5. Restrictii reclame :
a) Reclama este permisa in subiecte atat timp cat ele au legatura cu idea care se discuta.
b) In semnatura este permisa o singura reclama SIMPLA de tip TEXT cu dimensiunea fontului setat pe NORMAL
c) Reclama nu este permisa in campurile personale gen: Locatie, CS Status.
d) Nu aveti voie sa deschideti topicuri cu referire exacta la un site in scopul obtinerii de vizite, se considera reclama !
6. Nu folositi imagini in semnatura mai mari decat 500x120. Puteti folosi mai multe imagini care, toate sa nu depaseasca marimea impusa !
7. Folositi CAUTAREA si apoi intrebati pentru ceva daca nu exista pe forum! Numele topicurilor create trebuie sa reflecte continutul subiectului pe care se discuta. Nu vor fi permise topicuri de genul: help, ajutor pls, cum fac, etc
8. Este permisa continuarea unei discutii vechi de pe forum, chiar daca aceasta a fost deschisa cu cativa ani in urma. NU se permite insa dublu-post, triplu-post sau UP-uri.
* dublu-post / triplu - post = adaugarea unor mesaje unul dupa altul intr-o discutie a forumului de catre aceeasi persoana
* UP = adaugarea unor mesaje unul dupa altul cu scopul de a scoate in evidenta discutia respectiva
9. Orice fel de continut cu caracter erotic va fi sters, iar daca este necesar se vor aplica avertismente.
10. Nu este permisa promovarea firmelor de hosting in afara de http://www.eXtreamHost.com , fie ca este vorba de o reclama directa sau indirecta.
11. Nu este permisa postarea de continut ilegal: warez, carding (bine cunoscutele "metode" de furat domenii etc.) si alte practici "neortodoxe", se vor aplica avertismente sau ban, dupa caz si antecedente.

SANCTIONAM DRASTIC INCALCAREA ACESTOR REGULI SI ORICE ABUZ !


WARNINGS/Avertismente
3 Avertismente = BAN pe forum pentru o anumita perioada de timp, in functie de gravitatea regulilor incalcate!
1 Avertisment = 15 de zile

Mesaje private
Abuzul in orice fel de folosirea mesajelor private va duce la sanctionare. In concluzie, vi se va lua dreptul de a mai trimite mesaje.
Reclamatiile cat si penalizarile se regasesc aici: discutii-forum/reclamatii-mesaje-private-t335539.html

Suplimentar
1. In semnatura nu sunt permise linkuri catre jocuri (site-uri) gen bitefight, monstergame, etc.
2. La profilul Detinator server CS se permite reclama catre un server de Counter-Strike.
3. Orice insulta adusa asupra unui administrator se penalizeaza cu ban permanent. Orice insulta adusa asupra unui moderator se penalizeaza (in functie de gravitatea situatiei) de la avertisment pana la ban permanent.
4. Nu se permite ridicarea subiectelor cu mesaje gen "UP!" unul dupa altul, indiferent de timpul dintre raspunsuri.


Atentionari
1. Nu se permite schimbarea numelui pe forum
2. Nu aveti voie cu mai mult de 1 cont / persoana (vi se sterg toate mesajele si contul de utilizator de pe forum drept penalizare) - cei care abuzeaza si isi fac mai multe conturi, risca sa primeasca ban permanent

 

[regulia][/regulia]
Model postare addonsuri : Afiseaza modelul
Acesta este un tip standard pentru postarea unui addons

A. Continut

- Nu mai stergeti folderul scripting din amxmodx pe motiv ca nu avem nevoie sau ca face lag !
- Nu includeti in addons mai multe pluginuri care fac acelasi lucru, gen hpk.
- Nu includeti in addons pluginul show_ip la care orice jucator are acces la comanda amx_ipban.
- Nu includeti in addons pluginuri care nu stiti ce fac.
- Nu personalizati addons-ul cu reclame catre alte site-uri/forum-uri,etc...
- Postati intotdeauna .sma-ul pluginurilor incluse.

B. Postare

Titlul: Va contine tipul addons-ului ( amxmodx/amxmod/adminmod/war3ft/superhero/csdm/etc..)
- Va rog nu folositi in numele topic-ului caractere ! Gen : "-->> addons by me <--"
- Deoarece am observat cateva confuzii, cand postati un addons, nu scrieti in interiorul postului "titlu : addons,blablabla"


Descriere:

Ce contine addons-ul. Adica ce mod, ce versiune, ce alte facilitati are in plus (booster,hlguard,webmod,statsme,etc.)
* Puteti folosi urmatorii termeni :

* Normal - addons standard.
* Normal+ - addons standard dar cu cateva lucruri modificate.
* War3ft - addons cu puteri war3ft.
* UWC3 - addons cu puteri war3ft diverse.
* Respawn/CSDM - addons care te reinvie imediat dupa ce mori.
* Soccerjam - addons cu fifa/cs instalat.
* Zombie - addons in care jucatorii trebuie 'infectati' de un zombie.
* DeathRun - addons in care jucatorii trebuie sa treaca de obstacole
* Hide N'Seek - addons in
* Divers - addons Neinclus in aceste tipuri (daca credeti ca mai trebuie adaugat un alt tip trimiteti-mi mesaj pe privat !)

Autor: Cine a facut addonsul respectiv
Versiune: 1.x 2.x
Descarcare:

Code:
[url=Linkul_catre_addons]Link![/url]


Pluginuri: aici veti scrie ce pluginuri are addons-ul postat (fara cele de baza) si ce fac acestea !
plugin1.amxx - ce face pluginul respectiv
plugin2.amxx - ce face pluginul respectiv
plugin3.amxx - ce face pluginul respectiv

ATENTIE !
- Daca vreti sa postati un addons care nu este facut de dvs.,folositi intai cautarea pentru a va asigura ca addons-ul respectiv nu este deja postat de altcineva !
- De asemenea,daca incercati sa ne pacaliti cu un addons copiat si punandu-va pe dvs ca si autor,topicul va fi mutat la Cos si riscati sa primiti warn !
- NU postati tot link-ul catre addons ! Ci folositi ]URL :
Code:
[url=linkul_catre_addons]cuvant[/url]


C. Raspuns/Reply
1.Cei care posteaza addons-ul !
Daca vi se zice "gj,misto addons" nu raspundeti cu "merci,alte pareri",etc...

2.Cei care raspund !
Nu faceti reply-uri de gen-ul "gj","bravo","misto addons","gg tare",etc...

3.Copiere !
Daca vi se pare ca un addons postat este copiat, nu faceti replay cu "copiat,praf","addons-ul este copiat","nu tu l-ai facut".etc.. ci veniti cu o dovada daca vreti sa fiti bagati in seama! Daca aduceti acuzatii false riscati sa primiti warn ! De asemenea, nu aduceti cuvinte vulgare la adresa autorului, veti primi fara nici o ezitare warn sau chiar ban !
Model postare servere :Afiseaza modelul
Va rugam respectati urmatorul model de postare al serverului, completand campurile cu datele corecte:

Titlul va contine: NUMELE / ADRESA IP a serverului si in paranteze patrate Non.Steam / Steam / Steam & Non.Steam
Adresa poate fi de tip: NUME / IP
Port: portul acestuia
Jucatori: 18 / 22 / 24 (sau cat aveti setat)
Tipul poate fi: Non.Stop (merge 24/24 ore) sau PartTime (functioneaza doar ziua sau intre anumite ore ale zilei/noptii)
Modul poate fi: Normal / ZombieMod / SourceMod / Metamod:Source

Anticheat: Protejat / Neprotejat
Tara: RO / US / DE (sau orice alte INITIALE ale tarii respective)

EXEMPLU:
Titlu (sau numele topicului): ExTrEaM [Steam & Non.Steam]
Continut:
    Adresa: extream.idle.ro (acesta este doar un exemplu!)
    Port: 27015
    Jucatori: 18
    Tip: Non.Stop
    Mod: Normal
    Anticheat: Neprotejat
    Tara: RO

----------- Sfarsit exemplu ---------------------

* Nu va lasati adresa la SITE / FORUM in model pentru ca se considera reclama si primiti avertisment sau topicul dvs. ajunge la cos!
* Titlurile vor fi colorate cu rosu ca in exemplul de deasupra !
* Cine NU respecta modelul prezentat i se va STERGE topicul !!
* NU aveti voie sa adaugati comentarii de genul: serverul meu este cel mai tare..etc. pentru ca iarasi vi se va sterge topicul ! Insa puteti lasa alte informatii diverse (un ID Yahoo, un mail, etc.)
No_Sadyst#
Membru, skill +1
Membru, skill +1
Posts: 294
Joined: 08 Jul 2008, 05:08
Detinator Steam: Da
CS Status: Citesct forumul
Detinator server CS: Pub.QcK-Zone.COm
Has thanked: 6 times
Been thanked: 2 times

17 Mar 2011, 15:01

Nu am nici un bind + ca am adaugat si cvar'urile !
Image
No_Sadyst#
Membru, skill +1
Membru, skill +1
Posts: 294
Joined: 08 Jul 2008, 05:08
Detinator Steam: Da
CS Status: Citesct forumul
Detinator server CS: Pub.QcK-Zone.COm
Has thanked: 6 times
Been thanked: 2 times

19 Mar 2011, 01:21

Sa inteleg ca nu stie nimeni de la ce sa fie ?
Image
User avatar
CryWolf
Administrator
Administrator
Posts: 6505
Joined: 07 Aug 2008, 16:33
Detinator Steam: Da
Reputatie: Administrator
Fost Scripter
Manager CS2.eXtream.Ro
Fost Detinator ZM.eXtream.Ro
Fost manager CS.eXtream.Ro
Fost manager CSGO.eXtream.Ro
Fost manager global
Location: Botosani
Discord: crywolf1989
Has thanked: 202 times
Been thanked: 850 times
Contact:

19 Mar 2011, 12:28

Eu tot nu inteleg ce nu iti functioneaza :-? dai un restore defaults la tastatura in cs.
NU IMI MAI DA-TI PM CU CERERE AJUTOR/SAMD, FOLOSITI FORUMUL, CITESC MAJORITATEA TOPICURILOR.
www.dark-arena.com , SERVERE CS / CS2 / L4D AU REVENIT ONLINE.
www.diasporaiptv.ro - SERVICII PREMIUM IPTV

Image

Image
User avatar
nivnea
Membru, skill 0
Membru, skill 0
Posts: 40
Joined: 28 Feb 2011, 22:14
Detinator Steam: Nu
CS Status: Incerc sa ajut!1
Detinator server CS: Am IP nu e dinamic
SteamID: nu s sp
Location: P'a icea
Contact:

03 Apr 2011, 22:40

Pff...puteti folosi si amx_parachute care se cumpara doar ca trebue modificat sma-ul si o veti avea fara sa va o dea (orcum vo da la runda 2) doar apasati e si functioneaza.
| Afiseaza codul
#include <amxmodx> 
#include <amxmisc> 
#include <engine> 
#include <cstrike> 
#include <fun> 

new bool:has_parachute[33] 
new para_ent[33] 
new gCStrike = 0 
new pDetach, pFallSpeed, pEnabled, pCost, pPayback 

#define PARACHUTE_LEVEL ADMIN_ALL 

public plugin_init() 
{ 
   register_plugin("Parachute", "1.3", "Ech0") 
   pEnabled = register_cvar("sv_parachute", "1" ) 
   pFallSpeed = register_cvar("parachute_fallspeed", "100") 
   pDetach = register_cvar("parachute_detach", "1") 

   if (cstrike_running()) gCStrike = true 

   if (gCStrike) { 

      pCost = register_cvar("parachute_cost", "1000") 
      pPayback = register_cvar("parachute_payback", "75") 

      register_concmd("amx_parachute", "admin_give_parachute", PARACHUTE_LEVEL, "<nick, #userid or @team>" ) 
   } 

   register_clcmd("say", "HandleSay") 
   register_clcmd("say_team", "HandleSay") 

   register_event("ResetHUD", "newSpawn", "be") 
   register_event("DeathMsg", "death_event", "a") 

   //Setup jtp10181 CVAR 
   new cvarString[256], shortName[16] 
   copy(shortName,15,"chute") 

   register_cvar("jtp10181","",FCVAR_SERVER|FCVAR_SPONLY) 
   get_cvar_string("jtp10181",cvarString,255) 

   if (strlen(cvarString) == 0) { 
      formatex(cvarString,255,shortName) 
      set_cvar_string("jtp10181",cvarString) 
   } 
   else if (contain(cvarString,shortName) == -1) { 
      format(cvarString,255,"%s,%s",cvarString, shortName) 
      set_cvar_string("jtp10181",cvarString) 
   } 
} 

public plugin_natives() 
{ 
   set_module_filter("module_filter") 
   set_native_filter("native_filter") 
} 

public module_filter(const module[]) 
{ 
   if (!cstrike_running() && equali(module, "cstrike")) { 
      return PLUGIN_HANDLED 
   } 

   return PLUGIN_CONTINUE 
} 

public native_filter(const name[], index, trap) 
{ 
   if (!trap) return PLUGIN_HANDLED 

   return PLUGIN_CONTINUE 
} 

public plugin_precache() 
{ 
   precache_model("models/parachute.mdl") 
} 

public client_connect(id) 
{ 
   parachute_reset(id) 
} 

public client_disconnect(id) 
{ 
   parachute_reset(id) 
} 

public death_event() 
{ 
   new id = read_data(2) 
   parachute_reset(id) 
} 

parachute_reset(id) 
{ 
   if(para_ent[id] > 0) { 
      if (is_valid_ent(para_ent[id])) { 
         remove_entity(para_ent[id]) 
      } 
   } 

   if (is_user_alive(id)) set_user_gravity(id, 1.0) 

   has_parachute[id] = false 
   para_ent[id] = 0 
} 

public newSpawn(id) 
{ 
   if(para_ent[id] > 0) { 
      remove_entity(para_ent[id]) 
      set_user_gravity(id, 1.0) 
      para_ent[id] = 0 
   } 

   if (!gCStrike || access(id,PARACHUTE_LEVEL) || get_pcvar_num(pCost) <= 0) { 
      has_parachute[id] = true 
      //set_view(id, CAMERA_3RDPERSON) 
   } 
} 

public HandleSay(id) 
{ 
   if(!is_user_connected(id)) return PLUGIN_CONTINUE 

   new args[128] 
   read_args(args, 127) 
   remove_quotes(args) 

   if (gCStrike) { 
      if (equali(args, "buy_parachute")) { 
         buy_parachute(id) 
         return PLUGIN_HANDLED 
      } 
      else if (equali(args, "sell_parachute")) { 
         sell_parachute(id) 
         return PLUGIN_HANDLED 
      } 
      else if (containi(args, "give_parachute") == 0) { 
         give_parachute(id,args[15]) 
         return PLUGIN_HANDLED 
      } 
   } 

   if (containi(args, "parachute") != -1) { 
      if (gCStrike) client_print(id, print_chat, "[AMXX] Parachute commands: buy_parachute, sell_parachute, give_parachute") 
      client_print(id, print_chat, "[AMXX] To use your parachute press and hold your +use button while falling") 
   } 

   return PLUGIN_CONTINUE 
} 

public buy_parachute(id) 
{ 
   if (!gCStrike) return PLUGIN_CONTINUE 
   if (!is_user_connected(id)) return PLUGIN_CONTINUE 

   if (!get_pcvar_num(pEnabled)) { 
      client_print(id, print_chat, "[AMXX] Parachute plugin is disabled") 
      return PLUGIN_HANDLED 
   } 

   if (has_parachute[id]) { 
      client_print(id, print_chat, "[AMXX] You already have a parachute") 
      return PLUGIN_HANDLED 
   } 

   new money = cs_get_user_money(id) 
   new cost = get_pcvar_num(pCost) 

   if (money < cost) { 
      client_print(id, print_chat, "[AMXX] You don't have enough moneyfor a parachute - Costs $%i", cost) 
      return PLUGIN_HANDLED 
   } 

   cs_set_user_money(id, money - cost) 
   client_print(id, print_chat, "[AMXX] You have bought a parachute. To use it, press +use while falling.") 
   has_parachute[id] = true 

   return PLUGIN_HANDLED 
} 

public sell_parachute(id) 
{ 
   if (!gCStrike) return PLUGIN_CONTINUE 
   if (!is_user_connected(id)) return PLUGIN_CONTINUE 

   if (!get_pcvar_num(pEnabled)) { 
      client_print(id, print_chat, "[AMXX] Parachute plugin is disabled") 
      return PLUGIN_HANDLED 
   } 

   if (!has_parachute[id]) { 
      client_print(id, print_chat, "[AMXX] You don't have a parachute to sell") 
      return PLUGIN_HANDLED 
   } 

   if (access(id,PARACHUTE_LEVEL)) { 
      client_print(id, print_chat, "[AMXX] You cannot sell your free admin parachute") 
      return PLUGIN_HANDLED 
   } 

   parachute_reset(id) 

   new money = cs_get_user_money(id) 
   new cost = get_pcvar_num(pCost) 

   new sellamt = floatround(cost * (get_pcvar_num(pPayback) / 100.0)) 
   cs_set_user_money(id, money + sellamt) 

   client_print(id, print_chat, "[AMX] You have sold your used parachute for $%d", sellamt) 

   return PLUGIN_CONTINUE 
} 

public give_parachute(id,args[]) 
{ 
   if (!gCStrike) return PLUGIN_CONTINUE 
   if (!is_user_connected(id)) return PLUGIN_CONTINUE 

   if (!get_pcvar_num(pEnabled)) { 
      client_print(id, print_chat, "[AMXX] Parachute plugin is disabled") 
      return PLUGIN_HANDLED 
   } 

   if (!has_parachute[id]) { 
      client_print(id, print_chat, "[AMXX] You don't have a parachute to give") 
      return PLUGIN_HANDLED 
   } 

   new player = cmd_target(id, args, 4) 
   if (!player) return PLUGIN_HANDLED 

   new id_name[32], pl_name[32] 
   get_user_name(id, id_name, 31) 
   get_user_name(player, pl_name, 31) 

   if(has_parachute[player]) { 
      client_print(id, print_chat, "[AMXX] %s already has a parachute.", pl_name) 
      return PLUGIN_HANDLED 
   } 

   parachute_reset(id) 
   has_parachute[player] = true 

   client_print(id, print_chat, "[AMXX] You have given your parachute to %s.", pl_name) 
   client_print(player, print_chat, "[AMXX] %s has given thier parachute to you.", id_name) 

   return PLUGIN_HANDLED 
} 

public admin_give_parachute(id, level, cid) { 

   if (!gCStrike) return PLUGIN_CONTINUE 

   if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED 

   if (!get_pcvar_num(pEnabled)) { 
      client_print(id, print_chat, "[AMXX] Parachute plugin is disabled") 
      return PLUGIN_HANDLED 
   } 

   new arg[32], name[32], name2[32], authid[35], authid2[35] 
   read_argv(1,arg,31) 
   get_user_name(id,name,31) 
   get_user_authid(id,authid,34) 

   if (arg[0]=='@'){ 
      new players[32], inum 
      if (equali("T",arg[1]))      copy(arg[1],31,"TERRORIST") 
      if (equali("ALL",arg[1]))   get_players(players,inum) 
      else                  get_players(players,inum,"e",arg[1]) 

      if (inum == 0) { 
         console_print(id,"No clients in such team") 
         return PLUGIN_HANDLED 
      } 

      for(new a = 0; a < inum; a++) { 
         has_parachute[players[a]] = true 
      } 

      switch(get_cvar_num("amx_show_activity"))   { 
         case 2:   client_print(0,print_chat,"ADMIN %s: gave a parachute to ^"%s^" players",name,arg[1]) 
         case 1:   client_print(0,print_chat,"ADMIN: gave a parachute to ^"%s^" players",arg[1]) 
      } 

      console_print(id,"[AMXX] You gave a parachute to ^"%s^" players",arg[1]) 
      log_amx("^"%s<%d><%s><>^" gave a parachute to ^"%s^"", name,get_user_userid(id),authid,arg[1]) 
   } 
   else { 

      new player = cmd_target(id,arg,6) 
      if (!player) return PLUGIN_HANDLED 

      has_parachute[player] = true 

      get_user_name(player,name2,31) 
      get_user_authid(player,authid2,34) 

      switch(get_cvar_num("amx_show_activity")) { 
         case 2:   client_print(0,print_chat,"ADMIN %s: gave a parachute to ^"%s^"",name,name2) 
         case 1:   client_print(0,print_chat,"ADMIN: gave a parachute to ^"%s^"",name2) 
      } 

      console_print(id,"[AMXX] You gave a parachute to ^"%s^"", name2) 
      log_amx("^"%s<%d><%s><>^" gave a parachute to ^"%s<%d><%s><>^"", name,get_user_userid(id),authid,name2,get_user_userid(player),authid2) 
   } 
   return PLUGIN_HANDLED 
} 

public client_PreThink(id) 
{ 
   //parachute.mdl animation information 
   //0 - deploy - 84 frames 
   //1 - idle - 39 frames 
   //2 - detach - 29 frames 

   if (!get_pcvar_num(pEnabled)) return 
   if (!is_user_alive(id) || !has_parachute[id]) return 

   new Float:fallspeed = get_pcvar_float(pFallSpeed) * -1.0 
   new Float:frame 

   new button = get_user_button(id) 
   new oldbutton = get_user_oldbutton(id) 
   new flags = get_entity_flags(id) 

   if (para_ent[id] > 0 && (flags & FL_ONGROUND)) { 

      if (get_pcvar_num(pDetach)) { 

         if (get_user_gravity(id) == 0.1) set_user_gravity(id, 1.0) 

         if (entity_get_int(para_ent[id],EV_INT_sequence) != 2) { 
            entity_set_int(para_ent[id], EV_INT_sequence, 2) 
            entity_set_int(para_ent[id], EV_INT_gaitsequence, 1) 
            entity_set_float(para_ent[id], EV_FL_frame, 0.0) 
            entity_set_float(para_ent[id], EV_FL_fuser1, 0.0) 
            entity_set_float(para_ent[id], EV_FL_animtime, 0.0) 
            entity_set_float(para_ent[id], EV_FL_framerate, 0.0) 
            return 
         } 

         frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 2.0 
         entity_set_float(para_ent[id],EV_FL_fuser1,frame) 
         entity_set_float(para_ent[id],EV_FL_frame,frame) 

         if (frame > 254.0) { 
            remove_entity(para_ent[id]) 
            para_ent[id] = 0 
         } 
      } 
      else { 
         remove_entity(para_ent[id]) 
         set_user_gravity(id, 1.0) 
         para_ent[id] = 0 
      } 

      return 
   } 

   if (button & IN_USE) { 

      new Float:velocity[3] 
      entity_get_vector(id, EV_VEC_velocity, velocity) 

      if (velocity[2] < 0.0) { 

         if(para_ent[id] <= 0) { 
            para_ent[id] = create_entity("info_target") 
            if(para_ent[id] > 0) { 
               entity_set_string(para_ent[id],EV_SZ_classname,"parachute") 
               entity_set_edict(para_ent[id], EV_ENT_aiment, id) 
               entity_set_edict(para_ent[id], EV_ENT_owner, id) 
               entity_set_int(para_ent[id], EV_INT_movetype, MOVETYPE_FOLLOW) 
               entity_set_model(para_ent[id], "models/parachute.mdl") 
               entity_set_int(para_ent[id], EV_INT_sequence, 0) 
               entity_set_int(para_ent[id], EV_INT_gaitsequence, 1) 
               entity_set_float(para_ent[id], EV_FL_frame, 0.0) 
               entity_set_float(para_ent[id], EV_FL_fuser1, 0.0) 
            } 
         } 

         if (para_ent[id] > 0) { 

            entity_set_int(id, EV_INT_sequence, 3) 
            entity_set_int(id, EV_INT_gaitsequence, 1) 
            entity_set_float(id, EV_FL_frame, 1.0) 
            entity_set_float(id, EV_FL_framerate, 1.0) 
            set_user_gravity(id, 0.1) 

            velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed 
            entity_set_vector(id, EV_VEC_velocity, velocity) 

            if (entity_get_int(para_ent[id],EV_INT_sequence) == 0) { 

               frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 1.0 
               entity_set_float(para_ent[id],EV_FL_fuser1,frame) 
               entity_set_float(para_ent[id],EV_FL_frame,frame) 

               if (frame > 100.0) { 
                  entity_set_float(para_ent[id], EV_FL_animtime, 0.0) 
                  entity_set_float(para_ent[id], EV_FL_framerate, 0.4) 
                  entity_set_int(para_ent[id], EV_INT_sequence, 1) 
                  entity_set_int(para_ent[id], EV_INT_gaitsequence, 1) 
                  entity_set_float(para_ent[id], EV_FL_frame, 0.0) 
                  entity_set_float(para_ent[id], EV_FL_fuser1, 0.0) 
               } 
            } 
         } 
      } 
      else if (para_ent[id] > 0) { 
         remove_entity(para_ent[id]) 
         set_user_gravity(id, 1.0) 
         para_ent[id] = 0 
      } 
   } 
   else if ((oldbutton & IN_USE) && para_ent[id] > 0 ) { 
      remove_entity(para_ent[id]) 
      set_user_gravity(id, 1.0) 
      para_ent[id] = 0 
   } 
}
punetzi asta in sma amx_parachute compilati si puneti amxx in plugins se gaseste in scripting/compiled(pentru cei care nu shtiu)
I'm playing real RF... I'm playing RF Origin!
Image
Join Now http://rf-origin.com
Post Reply

Return to “AmxModX”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 4 guests