• 17 Mai 2024, 08:27:39


Auteur Sujet: codes/scripts utiles  (Lu 123043 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Kiloutre

  • Nolife, nerd et geek passionné d'Ordinatique ! ^^
  • *
  • Grand Banditisme
  • Messages: 567
    • Voir le profil
Re : codes/scripts utiles
« Réponse #405 le: 02 Janvier 2013, 21:07:15 »
Code: (pawn) [Sélectionner]
SendPlayerCommand(playerid, cmdtext[]) return OnPlayerCommandText(playerid, cmdtext);Permet de faire comme si le joueur tapait une commande <:
(Ne marche que avec les commandes dans OnPlayerCommandText).

[/url]

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : codes/scripts utiles
« Réponse #406 le: 02 Janvier 2013, 21:41:23 »
Tu peux aussi faire.


Code: (pawn) [Sélectionner]

#define SendPlayerCommand OnPlayerCommandText




Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Gzsume

  • *
  • Compétent dans l'inutile
  • Messages: 2236
    • Voir le profil
Re : codes/scripts utiles
« Réponse #407 le: 03 Janvier 2013, 06:11:52 »
J'aurai plutôt utilisé PlayerSendCommand comme nom, mais bon. Sinon, on peut tout aussi bien juste faire OnPlayerCommandText(pid, cmd) sans se prendre la tête, puis ça reste instinctif au moins (on sait directement ce que ça fait).

Hors ligne Kiloutre

  • Nolife, nerd et geek passionné d'Ordinatique ! ^^
  • *
  • Grand Banditisme
  • Messages: 567
    • Voir le profil
Re : codes/scripts utiles
« Réponse #408 le: 03 Janvier 2013, 20:18:24 »
Je voulais rester dans le style des commandes de samp.
(SendPlayerMessage, SendClientMessage)
Si les commandes auraient été PlayerSendMessage et ClientSendMessage, j'aurais fait comme tu m'as dit :) .

[/url]

Hors ligne Infu

  • *
  • Modo LS - Admin FnF
  • Messages: 3550
    • Voir le profil
Re : codes/scripts utiles
« Réponse #409 le: 18 Mai 2013, 16:34:35 »
Petit up mais j'ai fait ça en 5 minutes, et je trouve ça assez utile  :smile:

Code: (pawn) [Sélectionner]
/* En haut du script */
forward connectiontime(playerid);
new connect[MAX_PLAYERS] = 0;
new CT[MAX_PLAYERS];

/* OnPlayerConnect / OnPlayerSpawn comme vous voulez */
CT[playerid] = SetTimerEx("connectiontime", 60 * 1000, true, "i", playerid);

/* En dessous de OnPlayerConnect/Spawn */
public connectiontime(playerid)
{
connect[playerid]++;
}

/* OnPlayerDisconnect */
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
KillTimer(CT[playerid]);
printf("%s s'est déconnecté après %i minutes de jeu !", pname, connect);

Comme vous pouvez voir, ça permet de savoir combien de temps un joueur a jouer sur votre serveur... Voilà voilà  :bye:

Petite image:


Adju ♥
(-_-)



Hors ligne Gzsume

  • *
  • Compétent dans l'inutile
  • Messages: 2236
    • Voir le profil
Re : Re : codes/scripts utiles
« Réponse #410 le: 18 Mai 2013, 18:27:43 »
Code: (pawn) [Sélectionner]
/* En haut du script */
forward connectiontime(playerid);
new connect[MAX_PLAYERS] = 0;
new CT[MAX_PLAYERS];

/* OnPlayerConnect / OnPlayerSpawn comme vous voulez */
CT[playerid] = SetTimerEx("connectiontime", 60 * 1000, true, "i", playerid);

/* En dessous de OnPlayerConnect/Spawn */
public connectiontime(playerid)
{
connect[playerid]++;
}

/* OnPlayerDisconnect */
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
KillTimer(CT[playerid]);
printf("%s s'est déconnecté après %i minutes de jeu !", pname, connect[playerid]);

Petite correction. Tu avais oublié de préciser quelle entrée du tableau afficher dans la console pour le tableau connect. Ça a fonctionné lorsque tu as testé car connect pointe vers connect[0] (première entrée du tableau), mais avec plusieurs joueurs, ça aurait buggé. :)

Hors ligne Infu

  • *
  • Modo LS - Admin FnF
  • Messages: 3550
    • Voir le profil
Re : codes/scripts utiles
« Réponse #411 le: 18 Mai 2013, 18:29:19 »
Exact, merci Citron  :smile:


Adju ♥
(-_-)



Hors ligne natsu00

  • *
  • Tueur en série
  • Messages: 169
    • Voir le profil
Re : codes/scripts utiles
« Réponse #412 le: 18 Mai 2013, 18:48:06 »
salut, merci pour ce FS c'est pas mal x)
je navigue sur ce post y a plein de truc cool ^^

Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : codes/scripts utiles
« Réponse #413 le: 19 Mai 2013, 16:50:35 »
@Info & Gzsume : Il y a un moyen plus simple et consommant moins de ressources pour faire ceci.

Code: (pawn) [Sélectionner]
/* Variable (en haut du script) */
new
iConnectTime[MAX_PLAYERS] = 0;

/* Dans OnPlayerConnect */
iConnectTime[playerid] = gettime();

/* Dans OnPlayerDisconnect */
new
iPlayedTime = 0,
sPlayerName[MAX_PLAYER_NAME];

iPlayedTime = gettime() - iConnectTime[playerid];
GetPlayerName(playerid, sPlayerName, sizeof(sPlayerName));
printf("Le joueur %s(%d) s'est déconnecté après %d minutes de jeu.", sPlayerName, playerid, iPlayedTime / 60);

++
R@f
« Modifié: 28 Mai 2013, 00:24:44 par R@f »

Hors ligne Gzsume

  • *
  • Compétent dans l'inutile
  • Messages: 2236
    • Voir le profil
Re : codes/scripts utiles
« Réponse #414 le: 19 Mai 2013, 17:20:47 »
Effectivement, c'est bien plus pratique. Je n'ai pas tellement réfléchi au moment de corriger le code, ça consomme bien moins avec ta manière de faire. Par contre, je ne me souviens plus de si la fonction gettime fonctionne ou non sous Linux (il fût un temps où ça posait problème).

Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : Re : codes/scripts utiles
« Réponse #415 le: 19 Mai 2013, 17:25:39 »
Effectivement, c'est bien plus pratique. Je n'ai pas tellement réfléchi au moment de corriger le code, ça consomme bien moins avec ta manière de faire. Par contre, je ne me souviens plus de si la fonction gettime fonctionne ou non sous Linux (il fût un temps où ça posait problème).

C'est GetTickCount qui posait problème. Le gettime fonctionne sans problèmes ;)

++
R@f

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : codes/scripts utiles
« Réponse #416 le: 19 Mai 2013, 17:34:51 »
D'ailleurs on peut se faire notre propre GetTickCount avec gettime.


Code: (pawn) [Sélectionner]
new iStartingTimeStamp = 0;

main()
{
iStartingTimeStamp = gettime();
}

GetTickCountEx()
{
return gettime() - iStartingTimeStamp;
}



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Infu

  • *
  • Modo LS - Admin FnF
  • Messages: 3550
    • Voir le profil
Re : codes/scripts utiles
« Réponse #417 le: 20 Mai 2013, 20:16:11 »
J'ai copié ton code pour essayer R@f, et j'ai eu ce résultat  :huh:


Adju ♥
(-_-)



Hors ligne Lacuisse

  • *
  • Messages: 4082
    • Voir le profil
Re : codes/scripts utiles
« Réponse #418 le: 21 Mai 2013, 12:18:18 »
J'ai copié ton code pour essayer R@f, et j'ai eu ce résultat  :huh:

Encore du cheat tout ça  :angry:

++
L'avenir du monde est d'additionner nos différences et non pas de les soustraires (Antoine de Saint Exupéry).

De toutes les passions, la seule vraiment respectable me parait être la gourmandise. (Guy De Maupassant)

Hors ligne Infu

  • *
  • Modo LS - Admin FnF
  • Messages: 3550
    • Voir le profil
Re : Re : codes/scripts utiles
« Réponse #419 le: 26 Mai 2013, 17:21:03 »
@Infu & Gzsume : Il y a un moyen plus simple et consommant moins de ressources pour faire ceci.

Code: (pawn) [Sélectionner]
/* Variable (en haut du script) */
new
iConnectTime[MAX_PLAYERS] = 0;

/* Dans OnPlayerConnect */
iConnectTime[playerid] = gettime();

/* Dans OnPlayerDisconnect */
new
iPlayedTime = 0,
sPlayerName[MAX_PLAYER_NAME];

iPlayedTime = gettime() - iConnectTime[playerid];
GetPlayerName(playerid, sPlayerName, sizeof(sPlayerName));
printf("Le joueur %s(%d) s'est déconnecté après %d minutes de jeu.", sPlayerName, playerid, iPlayedTime * 60);

++
R@f

J'ai "résolu" ton erreur, surement de l’inattention.... 
Tu fais:

Code: (pawn) [Sélectionner]
printf("Le joueur %s(%d) s'est déconnecté après %d minutes de jeu.", sPlayerName, playerid, iPlayedTime * 60);
Tu multiplies alors qu'il faut diviser  :smile: Donc:
Code: (pawn) [Sélectionner]
printf("Le joueur %s(%d) s'est déconnecté après %d minutes de jeu.", sPlayerName, playerid, iPlayedTime / 60);
 :bye:


Adju ♥
(-_-)