Player Models

Šiame forume galima rasti pamokas, patarimus, skriptus ir kitą naudingą informciją.
Terror
Senbūvis
Posts: 1086
Joined: 2015 Feb 27 19:29
Location: Alytus

Re: Player Models

Post by Terror »

turetu pagal ideja veikti bet pagal ideja tik STEAM viskas gerai o ant B flago ir zaidejams neuzdeda models

Code: Select all

#include <amxmodx>#include <hamsandwich>#include <cstrike>#include <pmodel> new const STEAM_T_Model[] = "arsteam_te"new const STEAM_CT_Model[] = "arsteam_ct"new const T_Model[] = "Jailbreakbg_t"new const CT_Model[] = "Jailbreakbg_ct"new const NEW_T_Model[] = "Jailbreakgolden_terror"new const NEW_CT_Model[] = "Jailbreakgolden_ct" public plugin_precache(){    PrecachePlayerModel(STEAM_T_Model)    PrecachePlayerModel(STEAM_CT_Model)    PrecachePlayerModel(T_Model)    PrecachePlayerModel(CT_Model)    PrecachePlayerModel(NEW_T_Model)    PrecachePlayerModel(NEW_CT_Model)} public plugin_init(){    register_plugin("Steam models", "1.0", "hleV")    RegisterHam(Ham_Spawn, "player", "Fwd_Spawn", 1)     UsePlayerModels()} public client_disconnect(id){    SetPlayerModel(id)} public Fwd_Spawn(id){    if( !is_user_steam(id))        return       if (!is_user_alive(id))        return     if (cs_get_user_team(id) == CS_TEAM_T)        SetPlayerModel(id, STEAM_T_Model)     if (cs_get_user_team(id) == CS_TEAM_CT)        SetPlayerModel(id, STEAM_CT_Model)        if (!(get_user_flags(id) & ADMIN_LEVEL_B))        return          if (!is_user_alive(id))        return           if (cs_get_user_team(id) == CS_TEAM_T)        SetPlayerModel(id, T_Model)     if (cs_get_user_team(id) == CS_TEAM_CT)        SetPlayerModel(id, CT_Model)            if (!(get_user_flags(id) & ADMIN_ALL))        return            if (!is_user_alive(id))        return              if (cs_get_user_team(id) == CS_TEAM_T)        SetPlayerModel(id, NEW_T_Model)     if (cs_get_user_team(id) == CS_TEAM_CT)        SetPlayerModel(id, NEW_CT_Model)} stock bool:is_user_steam(id){    // Author Sh0oter    static dp_pointer;    if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))    {        server_cmd("dp_clientinfo %d", id);        server_exec();        return (get_pcvar_num(dp_pointer) == 2) ? true : false ;    }    return false;}

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: Player Models

Post by hleV »

Pasistenk suprast kaip Fwd_Spawn iš eilės vykdo pateiktas instrukcijas. Tuo labiau suprask, ką daro return. Tavo atveju reikia naudot if ir else sąlygas. Va pvz.:

Code: Select all

if (!is_user_alive(id))    return; // Negyvas, sustabdom funkcija if (is_user_steam(id)){    // Steam zaidejas. Tikrinam team ir nustatom Steam modelius}else{    // Non-Steam     if (get_user_flags(id) & ADMIN_LEVEL_B)    {        // Turi admin flag. Tikrinam team ir nustatom admin modelius    }    else    {        // Paprastas zaidejas. Tikrinam team ir nustatom modelius    }}
Kitas dalykas, čia susijęs su kodo optimizacija, tai neiššaukinėk tų pačių funkcijų daugiau kartų nei reikia. Išsaugok jų reikšmę į kintamąjį.

Code: Select all

// Blogaiif (cs_get_user_team(id) == CS_TEAM_T){ } if (cs_get_user_team(id) == CS_TEAM_CT){ }

Code: Select all

// Geriaunew CsTeams:team = cs_get_user_team(id); if (team == CS_TEAM_T){ }else if (team == CS_TEAM_CT){ }

Code: Select all

// Geriauswitch (cs_get_user_team(id)){    case CS_TEAM_T:    {     }    case CS_TEAM_CT:    {        }}
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

Terror
Senbūvis
Posts: 1086
Joined: 2015 Feb 27 19:29
Location: Alytus

Re: Player Models

Post by Terror »

viskas puikiai veikia,Ačiū labai

User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

Re: Player Models

Post by laimiukas3 »

version
AMX Mod X 1.8.3-dev+4978

kas cia gali buti ne taip ?
su senesnem amxmod nebudavo pvz AMX Mod X 1.8.3-dev+4841

Code: Select all

L 01/05/2016 - 19:02:48: [CSTRIKE] Invalid player 11L 01/05/2016 - 19:02:48: [AMXX] Displaying debug trace (plugin "tesingas_modelio_keitimas.amxx", version "unknown")L 01/05/2016 - 19:02:48: [AMXX] Run time error 10: native error (native "cs_get_user_team")L 01/05/2016 - 19:02:48: [AMXX]    [0] pmodel.inc::__OnSetClientKeyValue (line 73) 

Code: Select all

public plugin_init(){    RegisterHam(Ham_Spawn, "player", "Fwd_Spawn", 1)     UsePlayerModels()} public client_disconnected(id){    SetPlayerModel(id)} public Fwd_Spawn(id){    if( !is_user_steam(id))        return       if (!is_user_alive(id))        return     if (cs_get_user_team(id) == CS_TEAM_T)        SetPlayerModel(id, T_Model)     if (cs_get_user_team(id) == CS_TEAM_CT)        SetPlayerModel(id, CT_Model)} stock bool:is_user_steam(id){    static dp_pointer;    if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))    {        server_cmd("dp_clientinfo %d", id);        server_exec();        return (get_pcvar_num(dp_pointer) == 2) ? true : false ;    }    return false;}
turbut kazkas su pmodel inc nedraugauja su naujausio amxmod inc failais butu saunu kad hlev sutvarkytum :)
Image
Image
Image

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: Player Models

Post by hleV »

Pridėjau is_user_connected() patikrinimą, bandyk iš naujo atsisiųst pmodel.inc. Taip pat paredagavau pirmą post'ą, kad naudotų [inline] BBkodą (kad kiečiau atrodytų).
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

Re: Player Models

Post by laimiukas3 »

klaidos nebemeto
bet ha dabar viena modeli priskiria vienoda abiems tm kas cj ne taip ? :)

Code: Select all

#include <amxmodx>#include <hamsandwich>#include <cstrike>#include <pmodel> new const T_Model[] = "arsteam_te"new const CT_Model[] = "arsteam_ct" public plugin_precache(){    PrecachePlayerModel(T_Model)    PrecachePlayerModel(CT_Model)} public plugin_init(){    RegisterHam(Ham_Spawn, "player", "Fwd_Spawn", 1)     UsePlayerModels()} public client_disconnected(id){    SetPlayerModel(id)} public Fwd_Spawn(id){    if( !is_user_steam(id))        return       if (!is_user_alive(id))        return     if (cs_get_user_team(id) == CS_TEAM_T)        SetPlayerModel(id, T_Model)     if (cs_get_user_team(id) == CS_TEAM_CT)        SetPlayerModel(id, CT_Model)} stock bool:is_user_steam(id){    // Author Sh0oter    static dp_pointer;    if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))    {        server_cmd("dp_clientinfo %d", id);        server_exec();        return (get_pcvar_num(dp_pointer) == 2) ? true : false ;    }    return false;}
Image
Image
Image

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: Player Models

Post by hleV »

Hm. Gali patikrint ar su mano pavyzdiniu kodu (pirmam post'e) irgi vienodus modelius nustato? Jei ne, tai gali naudot tą kodą kaip pagrindą, tau tereiktų pridėt is_user_steam() check'ą ir

Code: Select all

public client_disconnected(id){    SetPlayerModel(id)}
ir aišku pakeist modelių pavadinimus kode.
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

Re: Player Models

Post by laimiukas3 »

hleV wrote:Hm. Gali patikrint ar su mano pavyzdiniu kodu (pirmam post'e) irgi vienodus modelius nustato? Jei ne, tai gali naudot tą kodą kaip pagrindą, tau tereiktų pridėt is_user_steam() check'ą ir

Code: Select all

public client_disconnected(id){    SetPlayerModel(id)}
ir aišku pakeist modelių pavadinimus kode.
eh hleV nesigauna man niekas gal rades laisva minutele galetum numesti aiskiau kaip atrodyti turetu viskas :)
Image
Image
Image

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: Player Models

Post by hleV »

Sukompiliuok mano kodą esantį pirmam post'e ir žiūrėk ar CT gauna T modelį ir atvirkščiai.
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

Re: Player Models

Post by laimiukas3 »

hleV wrote:Sukompiliuok mano kodą esantį pirmam post'e ir žiūrėk ar CT gauna T modelį ir atvirkščiai.
atrodo veikia
Attachments
2016-01-14_00009.jpg
2016-01-14_00010.jpg
Image
Image
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests