AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   French (https://forums.alliedmods.net/forumdisplay.php?f=20)
-   -   ArrayDestroy() (https://forums.alliedmods.net/showthread.php?t=156413)

Kidev 05-06-2011 07:21

ArrayDestroy()
 
Salut, j'ai ceci qui permet de déterminer le nom de l'unique CT qui gagne la partie. Seulement, j'ai l'impression que le nom n'est pris qu'une seule fois, car c'est toujours le nom du premier survivant qui s'affiche, même lorsque le CT gagnant change. J'ai donc essayé de détruire ou de reset l'array SurName, avec:
PHP Code:

ArrayDestroy SurName 

Mais le compilateur me revoie toujours un tag mismatch :/ Voici le code en entier:
PHP Code:

public Logevent_Round_End()
{    
    new 
iPlayersCt[32];
    new 
iNumCt;
    
get_players(iPlayersCtiNumCt"ae""CT");

    if( 
iNumCt == 
    {
        new 
SurName[35];
        
get_user_name(iNumCtSurNamecharsmax(SurName));
        
client_print_color(0DontChange"^4[ZM]^3 %s ^1a explose tous les Zombies! Il reste donc le Survivant!"SurName);
        
ShowSPR(iNumCt);
        
client_cmd(0"mp3 play sound/ZM/ctwins.mp3" );
        
ArrayDestroy(SurName);
    }


Voilà voilà :3

bboygrun 05-06-2011 08:07

Re: ArrayDestroy()
 
J'ai regarder les natives, première fois que je test un truc avec, essaie ça :

PHP Code:

#include <amxmodx>

new Array: SurName;

public 
plugin_precache( )
{
    
SurName ArrayCreate(321)
}

public 
Logevent_Round_End()
{    
    new 
iPlayersCt[32];
    new 
iNumCt;
    
get_players(iPlayersCtiNumCt"ae""CT");
    
    if( 
iNumCt == 
    {
        new 
PseudoDuJoueur32 ]
        
get_user_name(iNumCtPseudoDuJoueurcharsmax(PseudoDuJoueur));
        
ArraySetStringSurName0PseudoDuJoueur )
        
client_print_color(0DontChange"^4[ZM]^3 %s ^1a explose tous les Zombies! Il reste donc le Survivant!"SurName);
        
ShowSPR(iNumCt);
        
client_cmd(0"mp3 play sound/ZM/ctwins.mp3" );
        
ArrayDestroy(SurName);
    }



ConnorMcLeod 05-06-2011 11:02

Re: ArrayDestroy()
 
Vous avez tout faux.


iPlayersCt est un array de 32 case
iNumCt est le nombre de case qui ont été remplies.

Les case 0 à iNumCt-1 sont donc remplies.

Si iNumCt est égal à 1, la case remplie est donc la case 0.
L' index du joueur est donc iPlayersCt[0] et pas iNumCt

Votre code revient à ne rien exécuter et à toujours faire get_user_name(1, SurName, charsmax(SurName))


Kid, ArrayDestroy est une native pour les array dynamiques (sans taille prédéfinie).

Kidev 05-06-2011 12:31

Re: ArrayDestroy()
 
Ok, donc comme index je ne dois pas utiliser iNumCT mais iPlayersCt[0]? Ça se compile je vais tester dès que Dedicore aura remis en activité les FTP...

Arkshine 05-11-2011 05:08

Re: ArrayDestroy()
 
iPlayersCt est un tableau contenant les index des joueurs trouvés.


All times are GMT -4. The time now is 05:21.

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