Dabar yra 2019 Bal 23 06:28




 Puslapis 35 [ 45 pranešimai(ų) ]  Eiti į Ankstesnis  1, 2, 3, 4, 5  Kitas
Autorius Žinutė
 Pranešimo tema: Re: Player Models
Žinutės numeris: #21  StandartinėParašytas: 2015 Gru 27 11:52 
Senbūvis

Užsiregistravo: 2015 Vas 27 19:29
Pranešimai: 1086
Karma: 45

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

  1. #include <amxmodx>
  2. #include <hamsandwich>
  3. #include <cstrike>
  4. #include <pmodel>
  5.  
  6. new const STEAM_T_Model[] = "arsteam_te"
  7. new const STEAM_CT_Model[] = "arsteam_ct"
  8. new const T_Model[] = "Jailbreakbg_t"
  9. new const CT_Model[] = "Jailbreakbg_ct"
  10. new const NEW_T_Model[] = "Jailbreakgolden_terror"
  11. new const NEW_CT_Model[] = "Jailbreakgolden_ct"
  12.  
  13. public plugin_precache()
  14. {
  15.     PrecachePlayerModel(STEAM_T_Model)
  16.     PrecachePlayerModel(STEAM_CT_Model)
  17.     PrecachePlayerModel(T_Model)
  18.     PrecachePlayerModel(CT_Model)
  19.     PrecachePlayerModel(NEW_T_Model)
  20.     PrecachePlayerModel(NEW_CT_Model)
  21. }
  22.  
  23. public plugin_init()
  24. {
  25.     register_plugin("Steam models", "1.0", "hleV")
  26.     RegisterHam(Ham_Spawn, "player", "Fwd_Spawn", 1)
  27.  
  28.     UsePlayerModels()
  29. }
  30.  
  31. public client_disconnect(id)
  32. {
  33.     SetPlayerModel(id)
  34. }
  35.  
  36. public Fwd_Spawn(id)
  37. {
  38.     if( !is_user_steam(id))
  39.         return
  40.    
  41.     if (!is_user_alive(id))
  42.         return
  43.  
  44.     if (cs_get_user_team(id) == CS_TEAM_T)
  45.         SetPlayerModel(id, STEAM_T_Model)
  46.  
  47.     if (cs_get_user_team(id) == CS_TEAM_CT)
  48.         SetPlayerModel(id, STEAM_CT_Model)
  49.    
  50.     if (!(get_user_flags(id) & ADMIN_LEVEL_B))
  51.         return
  52.      
  53.     if (!is_user_alive(id))
  54.         return  
  55.    
  56.     if (cs_get_user_team(id) == CS_TEAM_T)
  57.         SetPlayerModel(id, T_Model)
  58.  
  59.     if (cs_get_user_team(id) == CS_TEAM_CT)
  60.         SetPlayerModel(id, CT_Model)
  61.        
  62.     if (!(get_user_flags(id) & ADMIN_ALL))
  63.         return
  64.        
  65.     if (!is_user_alive(id))
  66.         return 
  67.         
  68.     if (cs_get_user_team(id) == CS_TEAM_T)
  69.         SetPlayerModel(id, NEW_T_Model)
  70.  
  71.     if (cs_get_user_team(id) == CS_TEAM_CT)
  72.         SetPlayerModel(id, NEW_CT_Model)
  73. }
  74.  
  75. stock bool:is_user_steam(id)
  76. {
  77.     // Author Sh0oter
  78.     static dp_pointer;
  79.     if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  80.     {
  81.         server_cmd("dp_clientinfo %d", id);
  82.         server_exec();
  83.         return (get_pcvar_num(dp_pointer) == 2) ? true : false ;
  84.     }
  85.     return false;
  86. }



_________________
Šaudyk.LT - „Siekime tikslo kartu. Tobulėkime“.
50% paramos atgavimas, 1 Gbps pralaidumas, Apsauga nuo DDoS.
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Player Models
Žinutės numeris: #22  StandartinėParašytas: 2015 Gru 27 16:13 
AMX Mod X ekspertai
Vartotojo avataras

Užsiregistravo: 2011 Bal 02 11:23
Pranešimai: 873
Karma: 72

Miestas: Šiauliai


METŲ NARYS
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.:

  1. if (!is_user_alive(id))
  2.     return; // Negyvas, sustabdom funkcija
  3.  
  4. if (is_user_steam(id))
  5. {
  6.     // Steam zaidejas. Tikrinam team ir nustatom Steam modelius
  7. }
  8. else
  9. {
  10.     // Non-Steam
  11.  
  12.     if (get_user_flags(id) & ADMIN_LEVEL_B)
  13.     {
  14.         // Turi admin flag. Tikrinam team ir nustatom admin modelius
  15.     }
  16.     else
  17.     {
  18.         // Paprastas zaidejas. Tikrinam team ir nustatom modelius
  19.     }
  20. }

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į.

  1. // Blogai
  2. if (cs_get_user_team(id) == CS_TEAM_T)
  3. {
  4.  
  5. }
  6.  
  7. if (cs_get_user_team(id) == CS_TEAM_CT)
  8. {
  9.  
  10. }

  1. // Geriau
  2. new CsTeams:team = cs_get_user_team(id);
  3.  
  4. if (team == CS_TEAM_T)
  5. {
  6.  
  7. }
  8. else if (team == CS_TEAM_CT)
  9. {
  10.  
  11. }

  1. // Geriau
  2. switch (cs_get_user_team(id))
  3. {
  4.     case CS_TEAM_T:
  5.     {
  6.  
  7.     }
  8.     case CS_TEAM_CT:
  9.     {
  10.    
  11.     }
  12. }



_________________
Paveikslėlis ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Player Models
Žinutės numeris: #23  StandartinėParašytas: 2015 Gru 27 17:14 
Senbūvis

Užsiregistravo: 2015 Vas 27 19:29
Pranešimai: 1086
Karma: 45

Miestas: Alytus
viskas puikiai veikia,Ačiū labai



_________________
Šaudyk.LT - „Siekime tikslo kartu. Tobulėkime“.
50% paramos atgavimas, 1 Gbps pralaidumas, Apsauga nuo DDoS.
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Player Models
Žinutės numeris: #24  StandartinėParašytas: 2016 Sau 05 23:53 
Moderatorius
Vartotojo avataras

Užsiregistravo: 2012 Rgp 03 01:12
Pranešimai: 4474
Karma: 126

Miestas: Vilnius
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


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


  1. public plugin_init()
  2. {
  3.     RegisterHam(Ham_Spawn, "player", "Fwd_Spawn", 1)
  4.  
  5.     UsePlayerModels()
  6. }
  7.  
  8. public client_disconnected(id)
  9. {
  10.     SetPlayerModel(id)
  11. }
  12.  
  13. public Fwd_Spawn(id)
  14. {
  15.     if( !is_user_steam(id))
  16.         return
  17.    
  18.     if (!is_user_alive(id))
  19.         return
  20.  
  21.     if (cs_get_user_team(id) == CS_TEAM_T)
  22.         SetPlayerModel(id, T_Model)
  23.  
  24.     if (cs_get_user_team(id) == CS_TEAM_CT)
  25.         SetPlayerModel(id, CT_Model)
  26. }
  27.  
  28. stock bool:is_user_steam(id)
  29. {
  30.     static dp_pointer;
  31.     if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  32.     {
  33.         server_cmd("dp_clientinfo %d", id);
  34.         server_exec();
  35.         return (get_pcvar_num(dp_pointer) == 2) ? true : false ;
  36.     }
  37.     return false;
  38. }


turbut kazkas su pmodel inc nedraugauja su naujausio amxmod inc failais butu saunu kad hlev sutvarkytum :)



_________________
Paveikslėlis
Paveikslėlis
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Player Models
Žinutės numeris: #25  StandartinėParašytas: 2016 Sau 06 03:38 
AMX Mod X ekspertai
Vartotojo avataras

Užsiregistravo: 2011 Bal 02 11:23
Pranešimai: 873
Karma: 72

Miestas: Šiauliai


METŲ NARYS
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ų).



_________________
Paveikslėlis ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Player Models
Žinutės numeris: #26  StandartinėParašytas: 2016 Sau 06 12:03 
Moderatorius
Vartotojo avataras

Užsiregistravo: 2012 Rgp 03 01:12
Pranešimai: 4474
Karma: 126

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

  1. #include <amxmodx>
  2. #include <hamsandwich>
  3. #include <cstrike>
  4. #include <pmodel>
  5.  
  6. new const T_Model[] = "arsteam_te"
  7. new const CT_Model[] = "arsteam_ct"
  8.  
  9. public plugin_precache()
  10. {
  11.     PrecachePlayerModel(T_Model)
  12.     PrecachePlayerModel(CT_Model)
  13. }
  14.  
  15. public plugin_init()
  16. {
  17.     RegisterHam(Ham_Spawn, "player", "Fwd_Spawn", 1)
  18.  
  19.     UsePlayerModels()
  20. }
  21.  
  22. public client_disconnected(id)
  23. {
  24.     SetPlayerModel(id)
  25. }
  26.  
  27. public Fwd_Spawn(id)
  28. {
  29.     if( !is_user_steam(id))
  30.         return
  31.    
  32.     if (!is_user_alive(id))
  33.         return
  34.  
  35.     if (cs_get_user_team(id) == CS_TEAM_T)
  36.         SetPlayerModel(id, T_Model)
  37.  
  38.     if (cs_get_user_team(id) == CS_TEAM_CT)
  39.         SetPlayerModel(id, CT_Model)
  40. }
  41.  
  42. stock bool:is_user_steam(id)
  43. {
  44.     // Author Sh0oter
  45.     static dp_pointer;
  46.     if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  47.     {
  48.         server_cmd("dp_clientinfo %d", id);
  49.         server_exec();
  50.         return (get_pcvar_num(dp_pointer) == 2) ? true : false ;
  51.     }
  52.     return false;
  53. }



_________________
Paveikslėlis
Paveikslėlis
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Player Models
Žinutės numeris: #27  StandartinėParašytas: 2016 Sau 06 22:26 
AMX Mod X ekspertai
Vartotojo avataras

Užsiregistravo: 2011 Bal 02 11:23
Pranešimai: 873
Karma: 72

Miestas: Šiauliai


METŲ NARYS
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

  1. public client_disconnected(id)
  2. {
  3.     SetPlayerModel(id)
  4. }

ir aišku pakeist modelių pavadinimus kode.



_________________
Paveikslėlis ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Player Models
Žinutės numeris: #28  StandartinėParašytas: 2016 Sau 14 17:28 
Moderatorius
Vartotojo avataras

Užsiregistravo: 2012 Rgp 03 01:12
Pranešimai: 4474
Karma: 126

Miestas: Vilnius
hleV rašė:
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

  1. public client_disconnected(id)
  2. {
  3.     SetPlayerModel(id)
  4. }

ir aišku pakeist modelių pavadinimus kode.

eh hleV nesigauna man niekas gal rades laisva minutele galetum numesti aiskiau kaip atrodyti turetu viskas :)



_________________
Paveikslėlis
Paveikslėlis
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Player Models
Žinutės numeris: #29  StandartinėParašytas: 2016 Sau 14 17:39 
AMX Mod X ekspertai
Vartotojo avataras

Užsiregistravo: 2011 Bal 02 11:23
Pranešimai: 873
Karma: 72

Miestas: Šiauliai


METŲ NARYS
Sukompiliuok mano kodą esantį pirmam post'e ir žiūrėk ar CT gauna T modelį ir atvirkščiai.



_________________
Paveikslėlis ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Player Models
Žinutės numeris: #30  StandartinėParašytas: 2016 Sau 14 18:57 
Moderatorius
Vartotojo avataras

Užsiregistravo: 2012 Rgp 03 01:12
Pranešimai: 4474
Karma: 126

Miestas: Vilnius
hleV rašė:
Sukompiliuok mano kodą esantį pirmam post'e ir žiūrėk ar CT gauna T modelį ir atvirkščiai.

atrodo veikia


Prikabinti failai:
2016-01-14_00009.jpg
2016-01-14_00009.jpg [ 372.2 KiB | Peržiūrėta 1759 kartus(ų) ]
2016-01-14_00010.jpg
2016-01-14_00010.jpg [ 362.29 KiB | Peržiūrėta 1759 kartus(ų) ]

_________________
Paveikslėlis
Paveikslėlis
Paveikslėlis
Atsijungęs
 Aprašymas  
 
Rodyti paskutinius pranešimus:  Rūšiuoti pagal  
 Puslapis 35 [ 45 pranešimai(ų) ]  Eiti į Ankstesnis  1, 2, 3, 4, 5  Kitas


Dabar prisijungę

Vartotojai naršantys šį forumą: Registruotų vartotojų nėra ir 1 svečias


Jūs negalite kurti naujų temų šiame forume
Jūs negalite atsakinėti į temas šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite trinti savo pranešimų šiame forume
Jūs negalite prikabinti failų šiame forume

Ieškoti:
Pereiti į:  

cron