Raised This Month: $12 Target: $400
 3% 

Base Builder Shop


  
 
 
Thread Tools Display Modes
Author Message
Masoku
Junior Member
Join Date: May 2011
Old 05-22-2011 , 12:52   Base Builder Shop
#1

Bonjour/Bonsoir, je cherche un Base Builder Shop pour mon serveur CZ, si quelqu'un pourrais me le faire sa serait génial :

Boutique CT :

Super Cut : models/furien_superknife.mdl : 5000 dégâts avec un gros coup de cut : 10000$
Vitesse : 325 : 8000$
Gravity : 0,150 : 8000$
HP : +150 : 5000$
Grenade : 250 dégâts : 2500$
Flash : 2500$
Smoke : 2500$
M249 : 8000$
G3SG9 : 8000$

Boutique T :

Vitesse : 325 : 8000$
Gravity : 0,150 : 8000$
Super Cut : 5000 dégâts avec un gros coup de cut : 10000$
HP : +2000 HP : 8000$

Merci

Last edited by Masoku; 05-23-2011 at 01:41.
Masoku is offline
Kidev
Veteran Member
Join Date: Jun 2010
Location: France
Old 05-22-2011 , 15:44   Re: Base Builder Shop
#2

Ha, un passe temps

J'te le fait, je galère j'ai rien d'autre à faire.
__________________
Kidev is offline
Masoku
Junior Member
Join Date: May 2011
Old 05-23-2011 , 01:40   Re: Base Builder Shop
#3

Merci Kid, je me demandais si sa serais possible que tu ajoute au shop T :

Super HP : +5000 HP : 16000$
Invincible : Invincible pendant 5 sec. : 10000$
Masoku is offline
Kidev
Veteran Member
Join Date: Jun 2010
Location: France
Old 05-23-2011 , 12:37   Re: Base Builder Shop
#4

Voilà, c'est à peu près bien optimisé et ça marche parfaitement

PS: C'est à compiler en local (tutoriel : https://forums.alliedmods.net/showthread.php?t=146805) pour voir les couleurs dans les menus. Si tu ne veux pas compiler en local, dis le moi je te fais une version sans couleurs dans les menus.
Attached Files
File Type: sma Get Plugin or Get Source (bb_shop.sma - 3309 views - 19.1 KB)
__________________

Last edited by Kidev; 05-24-2011 at 08:15.
Kidev is offline
Masoku
Junior Member
Join Date: May 2011
Old 05-24-2011 , 01:05   Re: Base Builder Shop
#5

Mon pc a beug et du coup mon bb_shop.amxx et passer .txt, sans ***** d'ordi me la fait passer sous bloc-note, sa marche toujours? [Je lie moi même avec bloc.note, le plugin reste .amxx

Je n'ais pas compile.exe, que compile.sh.
Pourrais tu me faire version sans couleur, ou dit moi si sa marche,

[si je met bb_shop.sma dans scripting, .amxx dans plugins, et j'écrie son nom dans plugin.ini] SA MARCHE, j'ai le prix en couleur, énorme merci Kid, pourrais tu me donner ton steam amis si jamais j'ai d'autre problèmes

Mais possible que tu l'édit et que tu mette la gravité 1 fois par round max pour chaque joueur et up son prix a 10000$ Merci

Last edited by Masoku; 05-24-2011 at 02:05.
Masoku is offline
Fr33m@n
Veteran Member
Join Date: May 2008
Location: France Marne
Old 05-24-2011 , 06:47   Re: Base Builder Shop
#6

pas optimisé.
Fr33m@n is offline
Kidev
Veteran Member
Join Date: Jun 2010
Location: France
Old 05-24-2011 , 07:16   Re: Base Builder Shop
#7

Quote:
Originally Posted by Fr33m@n View Post
pas optimisé.
Je sais que je pourrais faire autrement (avec des enums), mais la flemme. Si tu te sens vas-y hein, je t’empêche pas.
__________________
Kidev is offline
Fr33m@n
Veteran Member
Join Date: May 2008
Location: France Marne
Old 05-24-2011 , 07:35   Re: Base Builder Shop
#8

pas que sa. des get_pcvar_ apellé 2 fois au lieu de 1. le switch avec alive quand tu peut faire le check bien avant. et probablement d'autres choses.
Fr33m@n is offline
Kidev
Veteran Member
Join Date: Jun 2010
Location: France
Old 05-24-2011 , 07:40   Re: Base Builder Shop
#9

Voilà Masoku, utilises plutôt cette version. C'est à compiler de la même manière que la précédente. J'ai mis tous les items sur la même page et j'ai un peu optimisé. Tout marche parfaitement, c'est testé :p
Attached Files
File Type: sma Get Plugin or Get Source (bb_shop.sma - 1752 views - 19.1 KB)
__________________

Last edited by Kidev; 05-24-2011 at 08:15.
Kidev is offline
bboygrun
CHOMP
Join Date: May 2010
Location: France
Old 05-24-2011 , 10:50   Re: Base Builder Shop
#10

Il y a des choses qui servent vraiment à rien du genre :

PHP Code:
stock client_print_color(idiColor=DontChange, const szMsg[], any:...)
{
    
// check if id is different from 0
    
if( id && !is_user_connected(id) )
    {
        return 
0;
    }

    if( 
iColor Grey )
    {
        
iColor DontChange;
    }

    new 
szMessage[192];
    if( 
iColor == DontChange )
    {
        
szMessage[0] = 0x04;
    }
    else
    {
        
szMessage[0] = 0x03;
    }

    new 
iParams numargs();
    
// Specific player code
    
if(id)
    {
        if( 
iParams == )
        {
            
copy(szMessage[1], charsmax(szMessage)-1szMsg);
        }
        else
        {
            
vformat(szMessage[1], charsmax(szMessage)-1szMsg4);
        }

        if( 
iColor )
        {
            new 
szTeam[11]; // store current team so we can restore it
            
get_user_team(idszTeamcharsmax(szTeam));

            
// set id TeamInfo in consequence
            // so SayText msg gonna show the right color
            
Send_TeamInfo(ididg_szTeamName[iColor]);

            
// Send the message
            
Send_SayText(ididszMessage);

            
// restore TeamInfo
            
Send_TeamInfo(ididszTeam);
        }
        else
        {
            
Send_SayText(ididszMessage);
        }
    } 

    
// Send message to all players
    
else
    {
        
// Figure out if at least 1 player is connected
        // so we don't send useless message if not
        // and we gonna use that player as team reference (aka SayText message sender) for color change
        
new iPlayers[32], iNum;
        
get_players(iPlayersiNum"ch");
        if( !
iNum )
        {
            return 
0;
        }

        new 
iFool iPlayers[0];

        new 
iMlNumberij;
        new Array:
aStoreML ArrayCreate();
        if( 
iParams >= // ML can be used
        
{
            for(
j=4j<iParamsj++)
            {
                
// retrieve original param value and check if it's LANG_PLAYER value
                
if( getarg(j) == LANG_PLAYER )
                {
                    
i=0;
                    
// as LANG_PLAYER == -1, check if next parm string is a registered language translation
                    
while( ( szMessage] = getarg1i++ ) ) ) {}
                    if( 
GetLangTransKey(szMessage) != TransKey_Bad )
                    {
                        
// Store that arg as LANG_PLAYER so we can alter it later
                        
ArrayPushCell(aStoreMLj++);

                        
// Update ML array saire so we'll know 1st if ML is used,
                        // 2nd how many args we have to alterate
                        
iMlNumber++;
                    }
                }
            }
        }

        
// If arraysize == 0, ML is not used
        // we can only send 1 MSG_BROADCAST message
        
if( !iMlNumber )
        {
            if( 
iParams == )
            {
                
copy(szMessage[1], charsmax(szMessage)-1szMsg);
            }
            else
            {
                
vformat(szMessage[1], charsmax(szMessage)-1szMsg4);
            }

            if( 
iColor )
            {
                new 
szTeam[11];
                
get_user_team(iFoolszTeamcharsmax(szTeam));
                
Send_TeamInfo(0iFoolg_szTeamName[iColor]);
                
Send_SayText(0iFoolszMessage);
                
Send_TeamInfo(0iFoolszTeam);
            }
            else
            {
                
Send_SayText(0iFoolszMessage);
            }
        }

        
// ML is used, we need to loop through all players,
        // format text and send a MSG_ONE_UNRELIABLE SayText message
        
else
        {
            new 
szTeam[11], szFakeTeam[10];
            
            if( 
iColor )
            {
                
get_user_team(iFoolszTeamcharsmax(szTeam));
                
copy(szFakeTeamcharsmax(szFakeTeam), g_szTeamName[iColor]);
            }

            for( 
0iNumi++ )
            {
                
id iPlayers[i];

                for(
j=0j<iMlNumberj++)
                {
                    
// Set all LANG_PLAYER args to player index ( = id )
                    // so we can format the text for that specific player
                    
setarg(ArrayGetCell(aStoreMLj), _id);
                }

                
// format string for specific player
                
vformat(szMessage[1], charsmax(szMessage)-1szMsg4);

                if( 
iColor )
                {
                    
Send_TeamInfo(idiFoolszFakeTeam);
                    
Send_SayText(idiFoolszMessage);
                    
Send_TeamInfo(idiFoolszTeam);
                }
                else
                {
                    
Send_SayText(idiFoolszMessage);
                }
            }
            
ArrayDestroy(aStoreML);
        }
    }
    return 
1;
}

stock Send_TeamInfo(iReceiveriPlayerIdszTeam[])
{
    static 
iTeamInfo 0;
    if( !
iTeamInfo )
    {
        
iTeamInfo get_user_msgid("TeamInfo");
    }
    
message_begin(iReceiver MSG_ONE_UNRELIABLE MSG_BROADCASTiTeamInfo, .player=iReceiver);
    
write_byte(iPlayerId);
    
write_string(szTeam);
    
message_end();
}

stock Send_SayText(iReceiveriPlayerIdszMessage[])
{
    static 
iSayText 0;
    if( !
iSayText )
    {
        
iSayText get_user_msgid("SayText");
    }
    
message_begin(iReceiver MSG_ONE_UNRELIABLE MSG_BROADCASTiSayText, .player=iReceiver);
    
write_byte(iPlayerId);
    
write_string(szMessage);
    
message_end();
}

stock register_dictionary_colored(const filename[])
{
    if( !
register_dictionary(filename) )
    {
        return 
0;
    }

    new 
szFileName[256];
    
get_localinfo("amxx_datadir"szFileNamecharsmax(szFileName));
    
format(szFileNamecharsmax(szFileName), "%s/lang/%s"szFileNamefilename);
    new 
fp fopen(szFileName"rt");
    if( !
fp )
    {
        
log_amx("Failed to open %s"szFileName);
        return 
0;
    }

    new 
szBuffer[512], szLang[3], szKey[64], szTranslation[256], TransKey:iKey;

    while( !
feof(fp) )
    {
        
fgets(fpszBuffercharsmax(szBuffer));
        
trim(szBuffer);

        if( 
szBuffer[0] == '[' )
        {
            
strtok(szBuffer[1], szLangcharsmax(szLang), szBuffer1']');
        }
        else if( 
szBuffer[0] )
        {
            
strbreak(szBufferszKeycharsmax(szKey), szTranslationcharsmax(szTranslation));
            
iKey GetLangTransKey(szKey);
            if( 
iKey != TransKey_Bad )
            {
                while( 
replace(szTranslationcharsmax(szTranslation), "!g""^4") ){}
                while( 
replace(szTranslationcharsmax(szTranslation), "!t""^3") ){}
                while( 
replace(szTranslationcharsmax(szTranslation), "!n""^1") ){}
                
AddTranslation(szLangiKeyszTranslation[2]);
            }
        }
    }
    
    
fclose(fp);
    return 
1;

--------->

PHP Code:
stock client_print_color(idiColor=DontChange, const szMsg[], any:...)
{
    
// check if id is different from 0
    
if( id && !is_user_connected(id) )
    {
        return 
0;
    }

    if( 
iColor Grey )
    {
        
iColor DontChange;
    }

    new 
szMessage[192];
    if( 
iColor == DontChange )
    {
        
szMessage[0] = 0x04;
    }
    else
    {
        
szMessage[0] = 0x03;
    }

    new 
iParams numargs();
    
// Specific player code
    
if(id)
    {
        if( 
iParams == )
        {
            
copy(szMessage[1], charsmax(szMessage)-1szMsg);
        }
        else
        {
            
vformat(szMessage[1], charsmax(szMessage)-1szMsg4);
        }

        if( 
iColor )
        {
            new 
szTeam[11]; // store current team so we can restore it
            
get_user_team(idszTeamcharsmax(szTeam));

            
// set id TeamInfo in consequence
            // so SayText msg gonna show the right color
            
Send_TeamInfo(ididg_szTeamName[iColor]);

            
// Send the message
            
Send_SayText(ididszMessage);

            
// restore TeamInfo
            
Send_TeamInfo(ididszTeam);
        }
        else
        {
            
Send_SayText(ididszMessage);
        }
    } 
    return 
1;
}

stock Send_TeamInfo(iReceiveriPlayerIdszTeam[])
{
    static 
iTeamInfo 0;
    if( !
iTeamInfo )
    {
        
iTeamInfo get_user_msgid("TeamInfo");
    }
    
message_begin(iReceiver MSG_ONE_UNRELIABLE MSG_BROADCASTiTeamInfo, .player=iReceiver);
    
write_byte(iPlayerId);
    
write_string(szTeam);
    
message_end();
}

stock Send_SayText(iReceiveriPlayerIdszMessage[])
{
    static 
iSayText 0;
    if( !
iSayText )
    {
        
iSayText get_user_msgid("SayText");
    }
    
message_begin(iReceiver MSG_ONE_UNRELIABLE MSG_BROADCASTiSayText, .player=iReceiver);
    
write_byte(iPlayerId);
    
write_string(szMessage);
    
message_end();

Il n'y a pas de dictionary avec ton plugin, donc enlever le : stock register_dictionary_colored(const filename[])

Puis tu ne laisses jamais de message pour tout le monde en mettant 0 pour index, donc ça sert à rien de le laisser.
__________________
bboygrun is offline
 


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 11:00.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode