Šiame forume galima rasti pamokas, patarimus, skriptus ir kitą naudingą informciją.
Terror
Senbūvis
Posts: 1086 Joined: 2015 Feb 27 19:29
Location: Alytus
Post
by Terror » 2015 Dec 27 11:52
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;}
hleV
AMX Mod X ekspertai
Posts: 875 Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai
Post
by hleV » 2015 Dec 27 16:13
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: { }}
Terror
Senbūvis
Posts: 1086 Joined: 2015 Feb 27 19:29
Location: Alytus
Post
by Terror » 2015 Dec 27 17:14
viskas puikiai veikia,Ačiū labai
laimiukas3
Moderatorius
Posts: 4569 Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:
Post
by laimiukas3 » 2016 Jan 05 23:53
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
hleV
AMX Mod X ekspertai
Posts: 875 Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai
Post
by hleV » 2016 Jan 06 03:38
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ų).
laimiukas3
Moderatorius
Posts: 4569 Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:
Post
by laimiukas3 » 2016 Jan 06 12:03
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;}
hleV
AMX Mod X ekspertai
Posts: 875 Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai
Post
by hleV » 2016 Jan 06 22:26
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.
laimiukas3
Moderatorius
Posts: 4569 Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:
Post
by laimiukas3 » 2016 Jan 14 17:28
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
hleV
AMX Mod X ekspertai
Posts: 875 Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai
Post
by hleV » 2016 Jan 14 17:39
Sukompiliuok mano kodą esantį pirmam post'e ir žiūrėk ar CT gauna T modelį ir atvirkščiai.
laimiukas3
Moderatorius
Posts: 4569 Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:
Post
by laimiukas3 » 2016 Jan 14 18:57
hleV wrote: Sukompiliuok mano kodą esantį pirmam post'e ir žiūrėk ar CT gauna T modelį ir atvirkščiai.
atrodo veikia
Attachments
Users browsing this forum: No registered users and 12 guests