[Tutorial] Modificarea modelului unei arme.

Tutoriale scripting, cod si portiuni de cod.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
LondoN eXtream
Membru eXtream
Membru eXtream
Posts: 2755
Joined: 10 Oct 2014, 06:21
Detinator Steam: Da
SteamID: /id/london_extreamcs
Reputatie: Fost scripter eXtreamCS
Fost moderator ajutator
Membru Club eXtreamCS (6 luni)
Fond eXtream: 0
Location: Roman, Neamț
Has thanked: 3 times
Been thanked: 12 times

26 Oct 2016, 18:45

In acest tutorial, o sa va explic cum puteti schimba modelul unei arme.

In primul rand, in header adaugam.

Code: Select all

#include < hamsandwich >
new const m_pPlayer = 41, XO_WEAPON = 4;
new const test_model[] = "link-catre-model";
Aceste 2 constante ne vor ajuta la aflarea ownerului entitatii. [entitatea fiind arme careia dorim sa ii modificam modelul]

In al doilea rand adaugam in plugin_init:

Code: Select all

RegisterHam(Ham_Item_Deploy, "weapon_knife", "CMD_WeaponKnife");
Ham Item Deploy se executa atunci cand jucatorul primeste arma in mana.
"weapon_knife" reprezinta arma careia vrem sa ii schimbam modelul.

Pe urma descarcam modelul jucatorilor care nu il au

Code: Select all

public plugin_precache() {
          precache_model(test_model)
}
Acum va voi arata defapt functia in care modelul se schimba

Code: Select all

public CMD_WeaponKnife(ent)
{
//ent rerezinta weapon_knife.
new id = get_pdata_cbase(ent, m_pPlayer, XO_WEAPON);
// am flat ownerul entitatii weapon_knife.
// cea ce mai ramane de facut este sa setam modelul
set_pev(id, pev_viewmodel2, test_model);
return HAM_IGNORED;
// si nu in ultimul rand, sa nu uitam de return.
}
Sper ca v-a fost de folos acest tutorial!
Credite: luxor / Hamlet
RoyalServer
Lux0R^
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 1222
Joined: 13 Jul 2013, 16:31
Detinator Steam: Da
Reputatie: Scripter eXtreamCS
Moderator ajutator
Has thanked: 15 times
Been thanked: 12 times

27 Oct 2016, 10:26

o singura observatie, nu e link pentru model ca nu ii dai un link de net, ii calea (path) modelului
Pauza pana in iulie... licenta ^^

Fara pm-uri pentru pluginuri de zm/furien + tot ce tine de vip.

Codul Scripterului: scripting/codul-scripterului-t362300.html#p2754224
User avatar
Fuffy
Membru, skill +1
Membru, skill +1
Posts: 299
Joined: 07 Jan 2016, 08:34
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

29 Oct 2016, 15:34

Eu sincer n-as folosi ham_item_deploy decat daca as vrea sa modific modeul 'default' al serverului(adica toata lumea sa-l aiba), dar daca-s vrea sa dau ceva privat, modele de vip, admini, etc, etc ... n-as avea cum cu ham_item_deploy.

Specifica si faptul ca registerham e inregistrat default ca find 'post' pentru ca n-ai adaugat 1 sau 'true' e automat false deci va fi executat DUPA ce primeste arma nu cand o primeste.

Despre 'ownerul' entitatii knife ( adica cel care tine cutitul in mana ) puteai folosi new id = pev_owner( ent ); si era mult mai usor de inteles pentru incepatori.

Ar fi mai simplu daca ai explica separat fiecare functie si dupa care la final ai afisa un model/exemplu de sursa.

ps: pentru siguranta ar trebui sa adaugi si un pev_valid(ent.....
AMXX Blue e acum doar pe github.
User avatar
HamletEagle
Fost moderator
Fost moderator
Posts: 750
Joined: 21 Sep 2013, 15:05
Detinator Steam: Da
CS Status: Inactiv cateva zile.
SteamID: privat
Reputatie: Fost Scripter eXtreamCS.com
Fost Moderator ajutator
Has thanked: 19 times
Been thanked: 85 times

06 Nov 2016, 21:12

Eu sincer n-as folosi ham_item_deploy decat daca as vrea sa modific modeul 'default' al serverului(adica toata lumea sa-l aiba), dar daca-s vrea sa dau ceva privat, modele de vip, admini, etc, etc ... n-as avea cum cu ham_item_deploy.
ItemDeploy se executa pentru fiecare player in parte. Ai cum sa faci ce zici tu acolo.
Specifica si faptul ca registerham e inregistrat default ca find 'post' pentru ca n-ai adaugat 1 sau 'true' e automat false deci va fi executat DUPA ce primeste arma nu cand o primeste.
Ca fiind pre* 1 inseamna true, 0 e default. E ok ce a facut.
Daca vreti ajutorul meu, nu dati bump la topic, fara intrebari de genu "cat mai dureaza/mai astept mult?".
User avatar
Fuffy
Membru, skill +1
Membru, skill +1
Posts: 299
Joined: 07 Jan 2016, 08:34
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

08 Nov 2016, 10:49

Ziceam doar Sa specifics, nu e post ca default?

Aa e post=0, deci pre e default, mda ... Ma Rog e ok.

Daca se poate atunci ar putea Sa arate si niste exemple.(edit: Exemple cum dai arme private userilor , in diferite situatii... )

Chiar daca stiu cum ma referam pentru altii :) :P tot a facut un tut.
AMXX Blue e acum doar pe github.
User avatar
georgik5
Membru, skill +1
Membru, skill +1
Posts: 398
Joined: 16 Aug 2008, 22:37
Detinator Steam: Da
SteamID: di57inct
Has thanked: 9 times
Been thanked: 5 times

08 Dec 2016, 21:35

Inainte sa umblii cu pdata, intotdeauna verifica ca validitatea entitatii sa fie 2(private data initialized), altfel risti crash.
User avatar
Fuffy
Membru, skill +1
Membru, skill +1
Posts: 299
Joined: 07 Jan 2016, 08:34
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

09 Dec 2016, 17:43

georgik5 wrote:Inainte sa umblii cu pdata, intotdeauna verifica ca validitatea entitatii sa fie 2(private data initialized), altfel risti crash.
i-am scris eu asta mai sus deja , haha :D :P nu cred ca risca server-crash, doar niste errori in consola ... si in functie de cat de utilizat/fortat e plugin-ul paote risca crash.
AMXX Blue e acum doar pe github.
Post Reply

Return to “Scripting”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 13 guests