• 22 Avril 2025, 22:56:19


Auteur Sujet: PayDay Automatique  (Lu 2692 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne iMax

  • *
  • Tueur
  • Messages: 76
    • Voir le profil
PayDay Automatique
« le: 22 Août 2011, 12:49:16 »
Bonjour,
J'aimerais créer un PayDay Automatique avec une commande qui envoient à tous 2500$ et rajoute 1 Respect à tous en même temps...

J'ai essayé mais c'est très dure
Et si possible mettre un Timer qui envoit toute les heures =)

Cordialement,
Maxence.

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : PayDay Automatique
« Réponse #1 le: 22 Août 2011, 12:55:43 »
Tu peux faire un truc du genre :


forward payday
();

// Dans OnGameModeInit
SetTimer("payday",3600,true);

// Autre part
public payday()
{
     for(new 
0GetMaxPlayers(); i++)
     {
           if(
IsPlayerConnected(i))
           {
                  
// Donner l'argent + respect
           
}
     }
     return 
1;
}



C'est pas très difficile  :happy
++

Hors ligne iMax

  • *
  • Tueur
  • Messages: 76
    • Voir le profil
Re : Re : PayDay Automatique
« Réponse #2 le: 22 Août 2011, 14:14:46 »
Tu peux faire un truc du genre :


forward payday
();

// Dans OnGameModeInit
SetTimer("payday",3600,true);

// Autre part
public payday()
{
     for(new 
0GetMaxPlayers(); i++)
     {
           if(
IsPlayerConnected(i))
           {
                  
// Donner l'argent + respect
           
}
     }
     return 
1;
}



C'est pas très difficile  :happy
++

Merci, mais après je n'ai pas le code pour donner l'Argent et le Respect :S

Merci mais après je n'ai

Hors ligne iMax

  • *
  • Tueur
  • Messages: 76
    • Voir le profil
Re : PayDay Automatique
« Réponse #3 le: 23 Août 2011, 00:52:05 »
Citer
#include <a_samp>
forward Timer();
#define COLOR_LIGHTGREEN 0x9ACD32AA
#define MAX_STRING 255

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" PayDay");
    print("--------------------------------------\n");
    SetTimer("Timer", 3600000, 1); // Toutes les heures
    return 1;
}

new respect[MAX_PLAYERS];

public Timer()
{
    for(new a=0; a<MAX_PLAYERS; a++)
      {
        GivePlayerMoney(a, 2500);
        respect++; // on ajoute un
      if(respect == 15)
      {
      SetPlayerScore(i,+1);
      }
        }
    SendClientMessageToAll(COLOR_LIGHTGREEN, "|________________ Payday Reçu ________________|");

   return 1;
}

Voilà sauf que j'ai des erreurs :

Citer
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(22) : error 017: undefined symbol "i"
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(23) : error 017: undefined symbol "i"
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(25) : error 017: undefined symbol "i"
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(25) : warning 215: expression has no effect
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(25) : error 001: expected token: ";", but found ")"
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(25) : error 029: invalid expression, assumed zero
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(25) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


6 Errors.

Que faire ?

Merci à tous =)

Hors ligne iMax

  • *
  • Tueur
  • Messages: 76
    • Voir le profil
Re : PayDay Automatique
« Réponse #4 le: 23 Août 2011, 02:56:47 »
Citer
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(22) : error 017: undefined symbol "respect"
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(22) : warning 215: expression has no effect
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(22) : error 001: expected token: ";", but found "]"
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(22) : error 029: invalid expression, assumed zero
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(22) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Merci

Hors ligne iMax

  • *
  • Tueur
  • Messages: 76
    • Voir le profil
Re : PayDay Automatique
« Réponse #5 le: 23 Août 2011, 11:46:24 »
Merci beaucoups de ta  participation, encore et encore des erreurs... Il faut definir PlayerID, mais je sais pas comment

Citer
#include <a_samp>
forward Timer();
#define COLOR_LIGHTGREEN 0x9ACD32AA
#define MAX_STRING 255

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" PayDay");
    print("--------------------------------------\n");
    SetTimer("Timer", 3600000, 1); // Toutes les heures
    return 1;
}

new respect[MAX_PLAYERS];

public Timer()
{
    for(new a=0; a<MAX_PLAYERS; a++)
   {
        GivePlayerMoney(a, 2500);
        respect[playerid]++; // on ajoute un
      if(respect[a] == 15)
      {
      SetPlayerScore(a,+1);
      }
   }
    SendClientMessageToAll(COLOR_LIGHTGREEN, "|________________ Payday Reçu ________________|");
    SendClientMessageToAll(COLOR_LIGHTGREEN, "Vous avez reçu 2500$ ! Mettez-les vite à la Banque");
    SendClientMessageToAll(COLOR_LIGHTGREEN, "(( Nous travaillons sur le système de Payday, Vous ne recevez pas encore de Respect (C'est Pour Bientôt) ))");
   return 1;
}

Les Erreurs :

Citer
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(22) : error 017: undefined symbol "playerid"
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(25) : error 029: invalid expression, assumed zero
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(25) : warning 215: expression has no effect
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(25) : error 001: expected token: ";", but found ")"
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(25) : error 029: invalid expression, assumed zero
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(25) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : PayDay Automatique
« Réponse #6 le: 23 Août 2011, 12:06:07 »
Bah, étant donné que tu as dit que "a" devait tourner parmi les joueurs, "a" = "playerid" ;)

En plus tu as la solution juste en dessous de la ligne qui te pose problème, essaye de réfléchir un peu ^^

Sinon, n'oublie pas de limiter la boucle en redéfinissant MAX_PLAYERS ou en utilisant GetMaxPlayers et surtout, vérifier si le joueur "a" en question est bien connecté, afin de ne pas donner de l'argent à un ID qui ne serait pas connecté ;) (Pour accélérer le script)
++

Hors ligne iMax

  • *
  • Tueur
  • Messages: 76
    • Voir le profil
Re : PayDay Automatique
« Réponse #7 le: 23 Août 2011, 14:55:54 »
Merci =)

En bref, je dois changer : respect[playerid]++; par respect[a]++;
Je dois rajouter : (IsPlayerConnected(a)) ( mais cela ne marche pas avec le Public J'ai rajouté tout ce qui faut les petit : "{" et "}" )
Et pour le MAX_PLAYERS, je ne sais pas ou le placer :S


Merci.

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : PayDay Automatique
« Réponse #8 le: 23 Août 2011, 15:41:09 »
Pour le MAX_PLAYERS, normalement c'est en haut, du genre :

#define MAX_PLAYERS   joueurs
Mais sans tester, tu risques d'avoir une erreur "Redefinition of constant/macro".
Donc soit tu utilises GetMaxPlayers qui va chercher directement dans server.cfg, ou tu peux définir une nouvelle constante MAX_JOUEURS et tu remplaces MAX_PLAYERS par MAX_JOUEURS.

++

Hors ligne iMax

  • *
  • Tueur
  • Messages: 76
    • Voir le profil
Re : PayDay Automatique
« Réponse #9 le: 23 Août 2011, 18:53:49 »
Très bizzard !
Cela ne marche pas :s

Regarde mon code :
#include <a_samp>
forward Timer();
#define COLOR_LIGHTGREEN 0x9ACD32AA
#define MAX_STRING 255

#define MAX_PLAYERS 10
#define MAX_JOUEURS 10

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print("PayDay merci à Gilux pour l'Aide à la Conception du Code ");
    print("--------------------------------------\n");
    SetTimer("Timer", 3600000, 1); // Toutes les heures
    return 1;
}

new respect[MAX_PLAYERS];

public Timer()
{
    for(new a=0; a<MAX_PLAYERS; a++)
   {
        GivePlayerMoney(a, 2500);
        respect[a]++; // on ajoute un
      if(respect[a] == 15)
      {
      SetPlayerScore(a,+1);
      }
   }
    SendClientMessageToAll(COLOR_LIGHTGREEN, "|________________ Payday Reçu ________________|");
    SendClientMessageToAll(COLOR_LIGHTGREEN, "Vous avez reçu 2500$ ! Mettez-les vite à la Banque");
    SendClientMessageToAll(COLOR_LIGHTGREEN, "(( Nous travaillons sur le système de Payday, Vous ne recevez pas encore de Respect (C'est Pour Bientôt) ))");

 return 1;
}

Erreurs (Il y en a des autres qui faut régler)
Citer
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(5) : warning 201: redefinition of constant/macro (symbol "MAX_PLAYERS")
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(27) : error 029: invalid expression, assumed zero
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(27) : warning 215: expression has no effect
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(27) : error 001: expected token: ";", but found ")"
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(27) : error 029: invalid expression, assumed zero
C:\Users\generations\Desktop\Serveur\filterscripts\payday.pwn(27) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : PayDay Automatique
« Réponse #10 le: 23 Août 2011, 18:59:57 »
Je suppose que ton erreur vient de là : SetPlayerScore(a,+1);
C'est SetPlayerScore(a,GetPlayerScore(a)+1);

Et enlève MAX_PLAYERS pour ne laisser que le MAX_JOUEURS, et remplace tous les MAX_PLAYERS de ton script par des MAX_JOUEURS ;)
++

PS : Utilise la balise [php] [/php] pour mettre ton code, ça sera plus lisible ;)

Hors ligne iMax

  • *
  • Tueur
  • Messages: 76
    • Voir le profil
Re : PayDay Automatique
« Réponse #11 le: 23 Août 2011, 20:02:02 »
Tout marche !

Je te remercie.