• 22 Avril 2025, 17:12:39


Auteur Sujet: Pickups qui se confondent !  (Lu 2900 fois)

0 Membres et 1 Invité sur ce sujet

vincentdu90

  • Invité
Re : Pickups qui se confondent !
« Réponse #15 le: 28 Septembre 2013, 10:36:47 »
Bonjour/Bonsoir,

    Pourquoi avoir créer des tableaux pour certains de tes pickups ?
Les pickups ne sont pas "unique" pour chaque joueur donc tu utilises de la mémoire pour pas grand chose au final.
De plus j'ai vu, par exemple que tu avais ceci :

Code: (Pawn) [Sélectionner]
    public UpdateTime()
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
           // [...]
   
             if(IsPlayerInRangeOfPoint(i, 20.0, -219.6454, 1403.8811, 27.7734))
             {
                  pickupplan[i] = CreatePickup(3017, 2, -219.6454, 1403.8811, 27.7734, -1); // PLANS NITRO
             }

        // [...]
        }
    }
     

Du coup ici tu créé un pickup pour chaque joueur, à proximité d'une zone, mais ces pickups sont tous à la même position.
Au final Tableaux+Multiples pickups = Matière à beaucoup de conflit.

Hors ligne CarCrasher

  • *
  • Tueur en série
  • Messages: 144
    • Voir le profil
Re : Pickups qui se confondent !
« Réponse #16 le: 28 Septembre 2013, 20:24:26 »
Bah en fait, la raison pour laquelle j'ai fais ce genre de choses, c'est pour que seuls les joueurs étant à une certaine heure aie le pickup, et que les retardataires non :/

Et sinon, en gros tu me conseillerais de plutôt faire ça :

Code: (Pawn) [Sélectionner]
    public UpdateTime()
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
           // [...]
   
             if(IsPlayerInRangeOfPoint(i, 20.0, -219.6454, 1403.8811, 27.7734))
             {
                  variable[i] = 1;
                  pickupplan = CreatePickup(3017, 2, -219.6454, 1403.8811, 27.7734, -1); // PLANS NITRO
             }

        // [...]
        }
    }
     

?

vincentdu90

  • Invité
Re : Pickups qui se confondent !
« Réponse #17 le: 28 Septembre 2013, 21:00:52 »
Ça ne changera pas grand chose.
Ton pickup sera créé, à nouveau en plusieurs exemplaires, pour chaque joueur qui se trouvera dans ta zone.

Ce que tu peux faire pour les "retardataires" c'est de tous simplement de ne pas appliquer ton code lorsqu'ils passent sur tes pickups, ou bien de supprimer les pickups au bout d'un certain temps, ou encore après qu'ils aient été récupérés un certain nombre de fois ect...

Après tu peux toujours demander de l'aide si tu veux faire quelque chose de précis ou bien cherche sur le forum ou sur Sa-Mp.com .


Hors ligne CarCrasher

  • *
  • Tueur en série
  • Messages: 144
    • Voir le profil
Re : Pickups qui se confondent !
« Réponse #18 le: 29 Septembre 2013, 14:14:31 »
Ah oui j'ai fail dans la correction, je voulais mettre le createpickup en dehors de la boucle :/

ça irait ?

vincentdu90

  • Invité
Re : Pickups qui se confondent !
« Réponse #19 le: 29 Septembre 2013, 15:49:43 »
Et bien comme je ne sais pas exactement ce que tu voudrais faire je ne peux pas t'éclairer.
Sinon en le mettant en dehors de la boucle ça créera un pickup à chaque fois que la fonction est appelée donc ça sera pire  :grin:.

Hors ligne CarCrasher

  • *
  • Tueur en série
  • Messages: 144
    • Voir le profil
Re : Pickups qui se confondent !
« Réponse #20 le: 29 Septembre 2013, 18:31:14 »
Code: (pawno) [Sélectionner]
public UpdateTime()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
new Hour, Min;
new string[16];
    gettime(Hour, Min);
format(string, sizeof(string), "%02d:%02d", Hour, Min);
SetPlayerTime(i, Hour, Min);
TextDrawSetString(Clock[i], string);
if(Min == 47)
    {
        if(IsPlayerInRangeOfPoint(i, 20.0, -219.6454, 1403.8811, 27.7734))
            {
pickupplanok[i] = 1;
            }
    }
if(Min == 48)
    {
pickupplanok[i] = 1;
    }
}
if(Min == 47)
    {
pickupplan = CreatePickup(3017, 2, -219.6454, 1403.8811, 27.7734, -1);
}
if(Min == 48)
    {
        DestroyPickup(pickupplan);
    }
return 1;
}

Voilà ce que je pensais faire ^^

vincentdu90

  • Invité
Re : Pickups qui se confondent !
« Réponse #21 le: 29 Septembre 2013, 19:16:55 »
Je n'avais pas vu que tu avais appelé gettime(), mais en effet là ça devrait être mieux pour ce pickup.

Hors ligne CarCrasher

  • *
  • Tueur en série
  • Messages: 144
    • Voir le profil
Re : Pickups qui se confondent !
« Réponse #22 le: 30 Septembre 2013, 02:39:44 »
Oui, en fait tout est rapporté à l'horloge ^^