Donner un Skin en fonction d'un SteamID
Page 1 sur 1
Donner un Skin en fonction d'un SteamID
Avant de commencer
Voici une liste non exhaustive de ce qu'il vous faut :
Installer les Models
(Explication création de models dans le chapitre liens externes)
L'explication présente, sera faîte avec ces exemples : test_te.mdl, et test_ct.mdl.
Pour les installer, copiez les dans .../games/halflife/cstrike/models/player/
et dans des répertoires du nom des models. Exemple : models/player/test_te/test_te.mdl
models/player/test_ct/test_ct.mdl
Note : Il doit toujours y avoir un seul "models", pour un répertoire propre. [modifier]
Ecriture du plugin
[modifier]
Pour AMX
Ouvrez votre éditeur de texte favori et copiez ce texte : /*##################################################################################################
##
## ######################
## ## AMX kEnNy Model ##
## ######################
##
## un GRAND merci au plugin ADMIN MODEL de WhiteMike.
##
###################################################################################################
##
## Variable : amx_teammodels
## -----------------------------> pour activer ou désactiver le plugin 1 ou 0. (défaut : 1)
##
##
## Permet de donner un model custom à un joueur par rapport à son SteamID
## Pour se faire, mettre un fichier "models.ini" dans amxmodx/configs/ sous la forme :
##
##
## <SteamID> <model CT> <model Tero> /!\ n'inversez pas les modèles !!
##
##
## Le maximum de modèles est de 10. Pour en avoir plus, changer le MAX_MODELS un peu plus
## bas, et recompiler le bordel.
##
##
## Exemple de models.ini :
##
## "STEAM_0:0:1234568" "admin_ct" "admin_t"
##
##
## Have FuN , kEnNy.
##
###################################################################################################*/
#include <amxmod>
#include <Vexd_Utilities>
#define CUSTOM_MODELFILE "addons/amx/config/models.ini"
#define MAX_PLAYER 10
new k_SteamID[MAX_PLAYER][32]
new k_ctSkin[MAX_PLAYER][32]
new k_teSkin[MAX_PLAYER][32]
new k_aNum = 0
public plugin_init() {
register_plugin("AMX kEnNy Model", "1.0a", "kEnNy")
register_event("ResetHUD", "resetModel", "b")
register_cvar("amx_teammodels", "1")
return PLUGIN_CONTINUE
}
public plugin_precache() {
k_aNum = 0
if (file_exists(CUSTOM_MODELFILE)) {
new szText[256], a, pos = 0, t1[32], t2[32], t3[32]
while ( k_aNum < MAX_PLAYER && read_file(CUSTOM_MODELFILE,pos++,szText,255,a) ) {
if ( szText[0] == ';' ) continue
new b = parse(szText, t1, 31, t2, 31, t3,31 )
if (b == 3) {
format(k_SteamID[k_aNum], 31, "%s", t1)
format(k_ctSkin[k_aNum], 31, "%s", t2)
format(k_teSkin[k_aNum], 31, "%s", t3)
++k_aNum
}
}
}
new temp[64]
for(new i=0;i<k_aNum;i++){
format(temp, 63, "models/player/%s/%s.mdl",k_ctSkin[i],k_ctSkin[i])
precache_model(temp)
format(temp, 63, "models/player/%s/%s.mdl",k_teSkin[i],k_teSkin[i])
precache_model(temp)
}
return PLUGIN_CONTINUE
}
public resetModel(id) {
if ((get_cvar_num("amx_teammodels")) && (k_aNum != 0)) {
new szAuthid[32], userTeam[1]
get_user_team(id,userTeam,1)
if (userTeam[0] == 'T') {
for(new i=0;i<k_aNum;i++){
get_user_authid(id, szAuthid , 31 )
if(equal(szAuthid,k_SteamID[i]))
CS_SetModel(id, k_teSkin[i])
}
}
else if(userTeam[0] == 'C') {
for(new i=0;i<k_aNum;i++){
get_user_authid(id, szAuthid , 31 )
if(equal(szAuthid,k_SteamID[i]))
CS_SetModel(id, k_ctSkin[i])
}
}
else
CS_ClearModel(id)
}
return PLUGIN_CONTINUE
}
[modifier]
Pour AMXX
Ouvrez votre éditeur de texte favori et copiez ce texte : /*##################################################################################################
##
## ######################
## ## AMX kEnNy Model ##
## ######################
##
## un GRAND merci au plugin ADMIN MODEL de WhiteMike.
##
####################################################################################################
##
## Variable : amx_teammodels
## -----------------------------> pour activer ou désactiver le plugin 1 ou 0. (défaut : 1)
##
##
## Permet de donner un model custom à un joueur par rapport à son SteamID
## Pour se faire, mettre un fichier "models.ini" dans amxmodx/configs/ sous la forme :
##
##
## <SteamID> <model CT> <model Tero> /!\ n'inversez pas les modèles !!
##
##
## Le maximum de modèles est de 10. Pour en avoir plus, changer le MAX_PLAYER un peu plus
## bas, et recompiler le bordel.
##
##
## Exemple de models.ini :
##
## "STEAM_0:0:1234568" "admin_ct" "admin_t"
##
##
## Have FuN , kEnNy.
##
###################################################################################################*/
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define CUSTOM_MODELFILE "addons/amxmodx/configs/models.ini"
#define MAX_PLAYER 10
new k_SteamID[MAX_PLAYER][32]
new k_ctSkin[MAX_PLAYER][32]
new k_teSkin[MAX_PLAYER][32]
new k_aNum = 0
public plugin_init() {
register_plugin("AMX kEnNy Model", "1.0a", "kEnNy")
register_event("ResetHUD", "resetModel", "b")
register_cvar("amx_teammodels", "1")
return PLUGIN_CONTINUE
}
public plugin_precache() {
k_aNum = 0
if (file_exists(CUSTOM_MODELFILE)) {
new szText[256], a, pos = 0, t1[32], t2[32], t3[32]
while ( k_aNum < MAX_PLAYER && read_file(CUSTOM_MODELFILE,pos++,szText,255,a) )
{
if ( szText[0] == ';' ) continue
new b = parse(szText, t1, 31, t2, 31, t3,31 )
if (b == 3) {
format(k_SteamID[k_aNum], 31, "%s", t1)
format(k_ctSkin[k_aNum], 31, "%s", t2)
format(k_teSkin[k_aNum], 31, "%s", t3)
++k_aNum
}
}
}
new temp[64]
for(new i=0;i<k_aNum;i++){
format(temp, 63, "models/player/%s/%s.mdl",k_ctSkin[i],k_ctSkin[i])
precache_model(temp)
format(temp, 63, "models/player/%s/%s.mdl",k_teSkin[i],k_teSkin[i])
precache_model(temp)
}
return PLUGIN_CONTINUE
}
public resetModel(id, level, cid) {
if ((get_cvar_num("amx_teammodels")) && (k_aNum != 0)) {
new PlayerAuth[63]
get_user_authid(id, PlayerAuth, 63)
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
for(new i=0;i<k_aNum;i++){
if ( equal(PlayerAuth,k_SteamID[i]) == 1 )
cs_set_user_model(id, k_teSkin[i])
}
}
else if(userTeam == CS_TEAM_CT) {
for(new i=0;i<k_aNum;i++){
if(equal(PlayerAuth,k_SteamID[i]))
cs_set_user_model(id, k_ctSkin[i])
}
}
else
cs_reset_user_model(id)
}
return PLUGIN_CONTINUE
}
Voici une liste non exhaustive de ce qu'il vous faut :
- Un serveur de jeu avec AMX ou AMXX d'installé. (donc : cs1.6, cz, ou n'importe quel mode de HL1)
- Une (ou plusieurs) paire de skins. (1 CT, et 1 Tero)
- Savoir Compiler un plugin AMX
- Le Bloc-Note de Windows, ou n'importe quel autre éditeur de Texte.
Installer les Models
(Explication création de models dans le chapitre liens externes)
L'explication présente, sera faîte avec ces exemples : test_te.mdl, et test_ct.mdl.
Pour les installer, copiez les dans .../games/halflife/cstrike/models/player/
et dans des répertoires du nom des models. Exemple : models/player/test_te/test_te.mdl
models/player/test_ct/test_ct.mdl
Note : Il doit toujours y avoir un seul "models", pour un répertoire propre. [modifier]
Ecriture du plugin
[modifier]
Pour AMX
Ouvrez votre éditeur de texte favori et copiez ce texte : /*##################################################################################################
##
## ######################
## ## AMX kEnNy Model ##
## ######################
##
## un GRAND merci au plugin ADMIN MODEL de WhiteMike.
##
###################################################################################################
##
## Variable : amx_teammodels
## -----------------------------> pour activer ou désactiver le plugin 1 ou 0. (défaut : 1)
##
##
## Permet de donner un model custom à un joueur par rapport à son SteamID
## Pour se faire, mettre un fichier "models.ini" dans amxmodx/configs/ sous la forme :
##
##
## <SteamID> <model CT> <model Tero> /!\ n'inversez pas les modèles !!
##
##
## Le maximum de modèles est de 10. Pour en avoir plus, changer le MAX_MODELS un peu plus
## bas, et recompiler le bordel.
##
##
## Exemple de models.ini :
##
## "STEAM_0:0:1234568" "admin_ct" "admin_t"
##
##
## Have FuN , kEnNy.
##
###################################################################################################*/
#include <amxmod>
#include <Vexd_Utilities>
#define CUSTOM_MODELFILE "addons/amx/config/models.ini"
#define MAX_PLAYER 10
new k_SteamID[MAX_PLAYER][32]
new k_ctSkin[MAX_PLAYER][32]
new k_teSkin[MAX_PLAYER][32]
new k_aNum = 0
public plugin_init() {
register_plugin("AMX kEnNy Model", "1.0a", "kEnNy")
register_event("ResetHUD", "resetModel", "b")
register_cvar("amx_teammodels", "1")
return PLUGIN_CONTINUE
}
public plugin_precache() {
k_aNum = 0
if (file_exists(CUSTOM_MODELFILE)) {
new szText[256], a, pos = 0, t1[32], t2[32], t3[32]
while ( k_aNum < MAX_PLAYER && read_file(CUSTOM_MODELFILE,pos++,szText,255,a) ) {
if ( szText[0] == ';' ) continue
new b = parse(szText, t1, 31, t2, 31, t3,31 )
if (b == 3) {
format(k_SteamID[k_aNum], 31, "%s", t1)
format(k_ctSkin[k_aNum], 31, "%s", t2)
format(k_teSkin[k_aNum], 31, "%s", t3)
++k_aNum
}
}
}
new temp[64]
for(new i=0;i<k_aNum;i++){
format(temp, 63, "models/player/%s/%s.mdl",k_ctSkin[i],k_ctSkin[i])
precache_model(temp)
format(temp, 63, "models/player/%s/%s.mdl",k_teSkin[i],k_teSkin[i])
precache_model(temp)
}
return PLUGIN_CONTINUE
}
public resetModel(id) {
if ((get_cvar_num("amx_teammodels")) && (k_aNum != 0)) {
new szAuthid[32], userTeam[1]
get_user_team(id,userTeam,1)
if (userTeam[0] == 'T') {
for(new i=0;i<k_aNum;i++){
get_user_authid(id, szAuthid , 31 )
if(equal(szAuthid,k_SteamID[i]))
CS_SetModel(id, k_teSkin[i])
}
}
else if(userTeam[0] == 'C') {
for(new i=0;i<k_aNum;i++){
get_user_authid(id, szAuthid , 31 )
if(equal(szAuthid,k_SteamID[i]))
CS_SetModel(id, k_ctSkin[i])
}
}
else
CS_ClearModel(id)
}
return PLUGIN_CONTINUE
}
[modifier]
Pour AMXX
Ouvrez votre éditeur de texte favori et copiez ce texte : /*##################################################################################################
##
## ######################
## ## AMX kEnNy Model ##
## ######################
##
## un GRAND merci au plugin ADMIN MODEL de WhiteMike.
##
####################################################################################################
##
## Variable : amx_teammodels
## -----------------------------> pour activer ou désactiver le plugin 1 ou 0. (défaut : 1)
##
##
## Permet de donner un model custom à un joueur par rapport à son SteamID
## Pour se faire, mettre un fichier "models.ini" dans amxmodx/configs/ sous la forme :
##
##
## <SteamID> <model CT> <model Tero> /!\ n'inversez pas les modèles !!
##
##
## Le maximum de modèles est de 10. Pour en avoir plus, changer le MAX_PLAYER un peu plus
## bas, et recompiler le bordel.
##
##
## Exemple de models.ini :
##
## "STEAM_0:0:1234568" "admin_ct" "admin_t"
##
##
## Have FuN , kEnNy.
##
###################################################################################################*/
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define CUSTOM_MODELFILE "addons/amxmodx/configs/models.ini"
#define MAX_PLAYER 10
new k_SteamID[MAX_PLAYER][32]
new k_ctSkin[MAX_PLAYER][32]
new k_teSkin[MAX_PLAYER][32]
new k_aNum = 0
public plugin_init() {
register_plugin("AMX kEnNy Model", "1.0a", "kEnNy")
register_event("ResetHUD", "resetModel", "b")
register_cvar("amx_teammodels", "1")
return PLUGIN_CONTINUE
}
public plugin_precache() {
k_aNum = 0
if (file_exists(CUSTOM_MODELFILE)) {
new szText[256], a, pos = 0, t1[32], t2[32], t3[32]
while ( k_aNum < MAX_PLAYER && read_file(CUSTOM_MODELFILE,pos++,szText,255,a) )
{
if ( szText[0] == ';' ) continue
new b = parse(szText, t1, 31, t2, 31, t3,31 )
if (b == 3) {
format(k_SteamID[k_aNum], 31, "%s", t1)
format(k_ctSkin[k_aNum], 31, "%s", t2)
format(k_teSkin[k_aNum], 31, "%s", t3)
++k_aNum
}
}
}
new temp[64]
for(new i=0;i<k_aNum;i++){
format(temp, 63, "models/player/%s/%s.mdl",k_ctSkin[i],k_ctSkin[i])
precache_model(temp)
format(temp, 63, "models/player/%s/%s.mdl",k_teSkin[i],k_teSkin[i])
precache_model(temp)
}
return PLUGIN_CONTINUE
}
public resetModel(id, level, cid) {
if ((get_cvar_num("amx_teammodels")) && (k_aNum != 0)) {
new PlayerAuth[63]
get_user_authid(id, PlayerAuth, 63)
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
for(new i=0;i<k_aNum;i++){
if ( equal(PlayerAuth,k_SteamID[i]) == 1 )
cs_set_user_model(id, k_teSkin[i])
}
}
else if(userTeam == CS_TEAM_CT) {
for(new i=0;i<k_aNum;i++){
if(equal(PlayerAuth,k_SteamID[i]))
cs_set_user_model(id, k_ctSkin[i])
}
}
else
cs_reset_user_model(id)
}
return PLUGIN_CONTINUE
}
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|