@anthologie : c'est pas en insultant que tu arriveras à quelque chose.
PHP Code:
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
new const Version[] = "0.1"
new const szModels[ ][ ] =
{
"Team Fortress" ,
"Spider-Man",
"Super-Man",
"Fifty Cent",
"Otto Simpson",
"Smith",
"Bender",
"Bart Simpson"
}
new const szNameModels[ ][ ] =
{
"team_fortress",
"spider_man",
"super_man",
"fifty_centl",
"otto_simpson",
"smith",
"bender",
"bart_simpson"
}
public plugin_init( )
{
register_plugin( "Models Menu" , Version , "Devil" )
RegisterHam( Ham_Spawn , "player" , "fw_PlayerSpawn_Post" , 1 )
}
public plugin_precache( )
{
for( new i = 0; i < sizeof( szNameModels ); i++ )
{
PrecacheFile( "models/player/%s/%s.mdl" , szNameModels[ i ] , szNameModels[ i ] )
}
}
public fw_PlayerSpawn_Post( id )
{
if( is_user_alive( id ) )
{
new iMenu = menu_create( "Choose Your Model :" , "ModelHandler" )
for( new i = 0; i < sizeof( szModels ); i++ )
{
menu_additem( iMenu , szModels[ i ] )
}
menu_display( id , iMenu )
}
}
public ModelHandler( id , iMenu , item )
{
if ( item == MENU_EXIT || !is_user_alive( id ) )
{
return PLUGIN_HANDLED;
}
new info[ 3 ]
new access , callback
menu_item_getinfo( iMenu , item , access , info , 2 , _ , _ , callback )
new key = str_to_num( info )
cs_set_user_model( id , szNameModels[ key - 1 ] )
return PLUGIN_HANDLED;
}
PrecacheFile(fmt[], any:...)
{
new szFile[256], n
n = vformat(szFile, charsmax(szFile), fmt, 2)
if( n > 4 )
{
if( equali(szFile[n-4], ".mdl") || equali(szFile[n-4], ".spr") )
{
if( !file_exists(szFile) )
{
new szError[512]
formatex(szError, charsmax(szError), "File %s doesn't exists", szFile)
set_fail_state(szError)
return 0
}
return precache_model(szFile)
}
else if( equali(szFile[n-4], ".wav") )
{
new szFullPathFile[256] = "sound/"
add(szFullPathFile, charsmax(szFullPathFile), szFile)
if( !file_exists(szFullPathFile) )
{
new szError[512]
formatex(szError, charsmax(szError), "File %s doesn't exists", szFullPathFile)
set_fail_state(szError)
return 0
}
return precache_sound(szFile)
}
else // .mp3 .tga
{
if( !file_exists(szFile) )
{
new szError[512]
formatex(szError, charsmax(szError), "File %s doesn't exists", szFile)
set_fail_state(szError)
return 0
}
return precache_generic(szFile)
}
}
return -1
}
Si les models sont décalés d'1 à chaque fois, essaye de changer
cs_set_user_model( id , szNameModels[ key - 1 ] )
en
cs_set_user_model( id , szNameModels[ key ] )
Je n'ai aucune certitude du résultat, donc à tester.
__________________