User
Pass
2FA
 
 

Ajutor

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Freakz Forum Index -> Trash Bin -> Trash -> Programming / Scripting / Database
Author Message1210
PoisoN<3

[Mentally Stable]



Status: Offline
(since 26-09-2015 15:54)
Joined: 05 Mar 2015
Posts: 146, Topics: 26
Location: Romania

Reputation: 28.3
Votes: 4

Post Posted: 10-03-2015, 11:43:33 | Translate post to: ... (Click for more languages)

Daca am un server de furien,si vreau sa pun ca superknife , un knife de pe gamebanana,cum pot face asta?
0 0
  
Back to top
View user's profile Send private message
destroi112

[DEV]



Status: Offline
(since 12-03-2020 22:13)
Joined: 24 May 2014
Posts: 4042, Topics: 119
Location: ---------

Reputation: 515.9
Votes: 118

   
Post Posted: 28-05-2015, 18:50:59 | Translate post to: ... (Click for more languages)

Bun o sa explic in pasi (chiar daca topicul e vechi ,na poate se uita autorul PoisoN<3 ;totusi nu trebuia sa intrebi aici )
1)Adaugam inc-urile necesare;
Code:

#include<amxmodx>//inc-ul ce foloseste functiile principale AMXMODX
#include<hamsandwich>//tot ce tine de RegisterHam si functiile acesteia
#include<fakemeta>//folosim inc-ul acesta pentru a pune modelul pe arma (functia set_pev mai exact)

2)Declaram un bool nou ce sa reprezinte superknife-ul nostru.
Code:

new bool:super_knife[33]; //aici stabilim 2 valori true(adevarat) si false(fals) cand vrei sa ii dam playerului knife-ul trebuie ca valoare din acest bool sa fie true.
//aici am declarat cele 2 modele punandu-le in 2 constante pentru a fii mai usor atunci cand vrem sa schimbam modelul
new SuperKnifeModel_V[] = "models/v_sfreakz.mdl";
new SuperKnifeModel_P[] = "models/v_pfreakz.mdl";

3)In public plugin_init() adaugi.
Code:

register_event("CurWeapon", "PunemSkinPentruKnife", "be", "1=1");
//sa zicem ca vrem sa ii dispara dupa ce moare sau la respawn.
register_event("DeathMsg", "DeleteKnifeOnDeath", "a");
//si la respawn folosim.
RegisterHam(Ham_Spawn, "player", "StergeLaSpawn", 1)

4)adaugam in public plugin_precache() cele 2 mdl.
Code:

//aici noi verificam daca modelul nostru e in ftp pentru a putea fii descarcat si folosit de jucator in-game.
precache_model(SuperKnifeModel_V);
precache_model(SuperKnifeModel_P);

5)Incepem sa deschidem publicurile.
Code:

//punem skinurile
public PunemSkinPentruKnife(id)
{
        if(!is_user_connected(id) || !is_user_alive(id)) //verificam daca jucatorul nu e conectat sau e mort
             return PLUGIN_HANDLED; //ne intoarcem la inceput si verificam din nou pana cele 2 conditii de sus sunt indeplinite(adica sa fie on si sa nu fie mort)

    if(get_user_weapon(id) == CSW_KNIFE) //verificam daca arma jucatorului este knife (noi vrem sa punem skinul la un knife so..)
    {
      if(super_knife[id])//daca are superknife (true) adevarat adica daca detine atunci executa....
      {
       set_pev(id, pev_viewmodel2, SuperKnifeModel_V); //punem v_model adica modelul pe care il vede playerul nostru in mana.
       set_pev(id,pev_weaponmodel, SuperKnifeModel_P);//punem p_model adica modelul pe care alti player il vad la playerul nostru in mana.
      }
    }
    return PLUGIN_CONTINUE;//cand ajunge la sfarsitul functie si le indeplineste pe toate se intoarce.
}

//acum daca vrem ca playerul nostru sa piarda knife-ul cand moare sau cand se respawneaza folosim.
public StergeLaSpawn(id)
{
   super_knife[id] = false;//atribuim constantei valoarea falsa
}

public DeleteKnifeOnDeath()
{
static Victim; //initializam 1 constanta noua
Victim = read_data(2)//salvam in ea informatia despre victima;

if(super_knife[Victim])//verificam victima sa vedem daca are superknife
 super_knife[Victim] = false;//atribuim constantei valoarea falsa

return PLUGIN_HANDLED;//ne intoarcem din nou daca nu gaseste nimic la victima.
}

6)acum tot ce mai ramane e sa stabilim cand facem constanta de superknife true ^_^ avem mai multe variante .
Code:

1)Folosim un clcmd pe care il adaugam in public plugin_init()
register_clcmd("say /superknife","comanda_superknife");//ce am facut noi aici am folosit o comanda ce se activeaza cand scrii /superknife in chat aceste cuvinte activeza publicul comanda_superknife pe care urmeaza sa il cream.

public comanda_superknife(id)
{
  engclient_cmd(id,"weapon_knife");//"prindem" modelul de arma knife (suna ciudat dar nu stiu cum sa explic altfel)
  super_knife[id] = true; //i-am setat playerului super knife-ul true.
  PunemSkinPentruKnife(id)//pentru ca pluginul sa ajunga mai repede la publicul in care schimba modelele am pus aici sa se duca direct acolo
}


Bun acum sa vedem ce am obtinut.
Spoiler:

Cam atat sper ca ai intelesc cum se face iar modelele le gasesti pe internet si le folosesti poti sa le vezi folosin Half Life Model Viewer.Bafta



Retired from Amxmodx

0 0
  
Back to top
View user's profile Send private message
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Freakz Forum Index -> Trash Bin -> Trash -> Programming / Scripting / Database  


The time now is 07-02-2025, 08:53:29
Copyright info

Based on phpBB ro/com
B

 
 
 







I forgot my password


This message appears only once, so
like us now until it's too late ! :D
x