Berkin yaptığı plugin şu şekil
Gördüğünüz gibi benim iki tane modelim var iki modelin de iki tane dosyası daha var yani şu şekilde
os_asker1.mdl bir de os_asker1T.mdl diye bir şey buna nasıl bir çözüm getirebilirz
serverda ftpye os_asker1 diye klasör açtım gene de yüklemiyor players models plugininde yüklüyordu o şekilde olunca buyrun aşağıyada players model pluginini yayımlıyorum
Bu sorunu nasıl çözebilirim yardımlarınızı bekliyorum en kısa süre içinde, acil çünkü ha bu arada verdiği hatayı anlamışsınızdır umarım os_asker1T.mdl Not Found 
Kod:
#include <amxmodx> #include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <colorchat>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
new const T_ISYANCI[] = "models/player/t_isyanci/t_isyanci.mdl";
new const T_KATIL[] = "models/player/t_katil/t_katil.mdl";
new const T_DEFAULT[] = "models/player/t_default/t_default.mdl";
new const CT_DEFAULT[] = { "models/player/os_asker1/os_asker1.mdl","models/player/os_asker1/os_asker1T.mdl" }
new const CT_DEFAULT2[] = {"models/player/os_asker3/os_asker3.mdl","models/player/os_asker3/os_asker3T.mdl"}
new bool:blocked[33];
new basisyanci;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /sec", "BasIsyanciSec")
register_forward(FM_Voice_SetClientListening, "FwdSetVoice");
register_event("HLTV","eNewRound","a","1=0","2=0")
register_event("DeathMsg","eDeath","a")
register_event( "TeamInfo", "eTeamChange", "a" );
}
public plugin_precache() {
precache_model(T_ISYANCI)
precache_model(T_DEFAULT)
precache_model(T_KATIL)
precache_model(CT_DEFAULT)
precache_model(CT_DEFAULT2)
}
public BasIsyanciSec(id) {
if(cs_get_user_team(id) == CS_TEAM_CT)
{
new menu = menu_create("\yBas Isyanci Sec","menu_handler")
new players[32],inum;
static tempid,szName[32],szID[6];
get_players(players,inum,"ace","TERRORIST")
for(new i;i<inum;i++) {
tempid = players[i];
get_user_name(tempid,szName,31)
num_to_str(tempid,szID,5)
menu_additem(menu,szName,szID)
}
menu_setprop(menu,MPROP_EXIT,MEXIT_ALL)
menu_display(id,menu,0)
}
return PLUGIN_HANDLED
}
public menu_handler(id,menu,item) {
if(item == MENU_EXIT) {
menu_destroy(menu)
return PLUGIN_HANDLED
}
new access,callback;
new name[32],data[6];
menu_item_getinfo(menu,item,access,data,5,name,31,callback)
new Uid = str_to_num(data);
new uname[32],admin[32];
get_user_name(id,admin,31)
if(is_user_connected(Uid)) {
get_user_name(Uid,uname,31)
basisyanci = Uid;
cs_set_user_model(Uid,"t_isyanci")
ColorChat(Uid,GREEN,"BAS ISYANCI SECILDIN: ^3+100 HP +1 Flashbang +Mik Mahkumlari Gaza Getir ve Isyan Cikart !")
ColorChat(0,GREEN,"^3%s: %s ^1Adli Oyuncuyu ^4Bas Isyanci ^1Olarak Secti !",admin,uname)
set_pev(Uid,pev_health,200.0)
give_item(Uid,"weapon_flashbang")
}
return PLUGIN_HANDLED
}
public eNewRound() {
new players[32],inum;
get_players(players,inum)
static id;
for(new i;i<inum;i++) {
id = players[i];
blocked[id] = true;
if(get_user_team(id) == 1) {
cs_reset_user_model(id)
cs_set_user_model(id,"t_default")
}
}
basisyanci = 0;
}
public eDeath() {
new killer = read_data(1);
new victim = read_data(2);
if(get_user_team(killer) == 1 && get_user_team(victim) == 2 && basisyanci != killer) {
cs_set_user_model(killer,"t_katil")
}
}
public eTeamChange() {
new id = read_data(1);
if(is_user_bot(id)) return PLUGIN_CONTINUE
new team[12];
read_data(2,team,11);
switch( team[0] ) {
case 'C' :{
switch(random_num(1,2)) {
case 1:cs_set_user_model(id,"os_asker1");
case 2:cs_set_user_model(id,"os_asker3");
}
}
case 'T' :{
cs_set_user_model(id,"t_default")
}
}
return PLUGIN_CONTINUE
}
public FwdSetVoice(receiver, sender, listen) {
if(get_user_team(sender) != 2 && basisyanci != sender) {
engfunc(EngFunc_SetClientListening, receiver, sender, 0);
return FMRES_SUPERCEDE;
}
if(sender == basisyanci && get_user_team(receiver) == 2) {
engfunc(EngFunc_SetClientListening, receiver, sender, 0);
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED
}
Kod:
/* Formatright © 2009, ConnorMcLeod
Players Models is free software;
you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Players Models; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
// #define SET_MODELINDEX
#include <amxmodx>
#include <fakemeta>
#define VERSION "1.3.1"
#define SetUserModeled(%1) g_bModeled |= 1<<(%1 & 31)
#define SetUserNotModeled(%1) g_bModeled &= ~( 1<<(%1 & 31) )
#define IsUserModeled(%1) ( g_bModeled & 1<<(%1 & 31) )
#define SetUserConnected(%1) g_bConnected |= 1<<(%1 & 31)
#define SetUserNotConnected(%1) g_bConnected &= ~( 1<<(%1 & 31) )
#define IsUserConnected(%1) ( g_bConnected & 1<<(%1 & 31) )
#define MAX_MODEL_LENGTH 16
#define MAX_AUTHID_LENGTH 25
#define MAX_PLAYERS 32
#define ClCorpse_ModelName 1
#define ClCorpse_PlayerID 12
#define m_iTeam 114
#define g_ulModelIndexPlayer 491
#define fm_cs_get_user_team_index(%1) get_pdata_int(%1, m_iTeam)
new const MODEL[] = "model";
new g_bModeled;
new g_szCurrentModel[MAX_PLAYERS+1][MAX_MODEL_LENGTH];
new Trie:g_tTeamModels[2];
new Trie:g_tModelIndexes;
new Trie:g_tDefaultModels;
new g_szAuthid[MAX_PLAYERS+1][MAX_AUTHID_LENGTH];
new g_bPersonalModel[MAX_PLAYERS+1];
new g_bConnected;
public plugin_init()
{
register_plugin("Players Models", VERSION, "ConnorMcLeod");
register_forward(FM_SetClientKeyValue, "SetClientKeyValue");
register_message(get_user_msgid("ClCorpse"), "Message_ClCorpse");
}
public plugin_precache()
{
new szConfigFile[128];
get_localinfo("amxx_configsdir", szConfigFile, charsmax(szConfigFile));
format(szConfigFile, charsmax(szConfigFile), "%s/players_models.ini", szConfigFile);
new iFile = fopen(szConfigFile, "rt");
if( iFile )
{
new const szDefaultModels[][] = {"", "urban", "terror", "leet", "arctic", "gsg9",
"gign", "sas", "guerilla", "vip", "militia", "spetsnaz" };
g_tDefaultModels = TrieCreate();
for(new i=1; i<sizeof(szDefaultModels); i++)
{
TrieSetCell(g_tDefaultModels, szDefaultModels[i], i);
}
g_tModelIndexes = TrieCreate();
g_tTeamModels[0] = TrieCreate();
g_tTeamModels[1] = TrieCreate();
new szDatas[70], szRest[40], szKey[MAX_AUTHID_LENGTH], szModel1[MAX_MODEL_LENGTH], szModel2[MAX_MODEL_LENGTH];
while( !feof(iFile) )
{
fgets(iFile, szDatas, charsmax(szDatas));
trim(szDatas);
if(!szDatas[0] || szDatas[0] == ';' || szDatas[0] == '#' || (szDatas[0] == '/' && szDatas[1] == '/'))
{
continue;
}
parse(szDatas, szKey, charsmax(szKey), szModel1, charsmax(szModel1), szModel2, charsmax(szModel2));
if( TrieKeyExists(g_tDefaultModels, szKey) )
{
if( szModel1[0] && !equal(szModel1, szKey) && PrecachePlayerModel(szModel1) )
{
TrieSetString(g_tDefaultModels, szKey, szModel1);
}
}
else if( equal(szKey, "STEAM_", 6) || equal(szKey, "BOT") )
{
parse(szRest, szModel1, charsmax(szModel1), szModel2, charsmax(szModel2));
if( szModel1[0] && PrecachePlayerModel(szModel1) )
{
TrieSetString(g_tTeamModels[1], szKey, szModel1);
}
if( szModel2[0] && PrecachePlayerModel(szModel2) )
{
TrieSetString(g_tTeamModels[0], szKey, szModel2);
}
}
}
fclose( iFile );
}
}
PrecachePlayerModel( const szModel[] )
{
if( TrieKeyExists(g_tModelIndexes, szModel) )
{
return 1;
}
new szFileToPrecache[64];
formatex(szFileToPrecache, charsmax(szFileToPrecache), "models/player/%s/%s.mdl", szModel, szModel);
if( !file_exists( szFileToPrecache ) && !TrieKeyExists(g_tDefaultModels, szModel) )
{
return 0;
}
TrieSetCell(g_tModelIndexes, szModel, precache_model(szFileToPrecache));
formatex(szFileToPrecache, charsmax(szFileToPrecache), "models/player/%s/%st.mdl", szModel, szModel);
if( file_exists( szFileToPrecache ) )
{
precache_model(szFileToPrecache);
return 1;
}
formatex(szFileToPrecache, charsmax(szFileToPrecache), "models/player/%s/%sT.mdl", szModel, szModel);
if( file_exists( szFileToPrecache ) )
{
precache_model(szFileToPrecache);
return 1;
}
return 1;
}
public plugin_end()
{
TrieDestroy(g_tTeamModels[0]);
TrieDestroy(g_tTeamModels[1]);
TrieDestroy(g_tModelIndexes);
TrieDestroy(g_tDefaultModels);
}
public client_authorized( id )
{
get_user_authid(id, g_szAuthid[id], MAX_AUTHID_LENGTH-1);
for(new i=1; i<=2; i++)
{
if( TrieKeyExists(g_tTeamModels[2-i], g_szAuthid[id]) )
{
g_bPersonalModel[id] |= i;
}
else
{
g_bPersonalModel[id] &= ~i;
}
}
}
public client_putinserver(id)
{
if( !is_user_hltv(id) )
{
SetUserConnected(id);
}
}
public client_disconnect(id)
{
g_bPersonalModel[id] = 0;
SetUserNotModeled(id);
SetUserNotConnected(id);
}
public SetClientKeyValue(id, const szInfoBuffer[], const szKey[], const szValue[])
{
if( equal(szKey, MODEL) && IsUserConnected(id) )
{
new iTeam = fm_cs_get_user_team_index(id);
if( 1 <= iTeam <= 2 )
{
new szSupposedModel[MAX_MODEL_LENGTH];
if( g_bPersonalModel[id] & iTeam )
{
TrieGetString(g_tTeamModels[2-iTeam], g_szAuthid[id], szSupposedModel, charsmax(szSupposedModel));
}
else
{
TrieGetString(g_tDefaultModels, szValue, szSupposedModel, charsmax(szSupposedModel));
}
if( szSupposedModel[0] )
{
if( !IsUserModeled(id)
|| !equal(g_szCurrentModel[id], szSupposedModel)
|| !equal(szValue, szSupposedModel) )
{
copy(g_szCurrentModel[id], MAX_MODEL_LENGTH-1, szSupposedModel);
SetUserModeled(id);
set_user_info(id, MODEL, szSupposedModel);
#if defined SET_MODELINDEX
new iModelIndex;
TrieGetCell(g_tModelIndexes, szSupposedModel, iModelIndex);
// set_pev(id, pev_modelindex, iModelIndex); // is this needed ?
set_pdata_int(id, g_ulModelIndexPlayer, iModelIndex);
#endif
return FMRES_SUPERCEDE;
}
}
if( IsUserModeled(id) )
{
SetUserNotModeled(id);
g_szCurrentModel[id][0] = 0;
}
}
}
return FMRES_IGNORED;
}
public Message_ClCorpse()
{
new id = get_msg_arg_int(ClCorpse_PlayerID);
if( IsUserModeled(id) )
{
set_msg_arg_string(ClCorpse_ModelName, g_szCurrentModel[id]);
}
}