• 06 Juin 2026, 20:38:00


Auteur Sujet: [EXERCICE]Apprendre PAWN avec des exercices  (Lu 3837 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
[EXERCICE]Apprendre PAWN avec des exercices
« le: 30 Janvier 2010, 20:28:45 »
Bonsoir j'ai eu l'idée aujourd'hui de reprendre un peu l'idée d'un site très connut de certain du Site du Zéro.

Ici nous ne verrons pas les callback ni les fonction étant donner que nous avons les TUTO proposer sur ce même forum.



Liste des Tuto a retenir


TP 1


Dans ce premier exercice nous souhaitons signaler a une personne qui se connecte si il y a un admin loger en RCON ou non

Pour cela il faut:
  • Crée une variable
  • Se servir de la callback OnPlayerConnect(playerid) et OnPlayerUpdate(playerid)
  • Se servir de la fonction SendClientMessage(playerid,color,const string[])
  • Se servir de la fonction IsPlayerAdmin(playerid)
  • Se servir de condition
  • Définir 2 couleurs (une pour si il y a un admin et une autre si il n'y en a pas)


Bon courage



Reponse

<?php
#include <a_samp>

#define COLOR_RED 0xFF0000FF//define couleur rouge
#define COLOR_GREEN 0x00FF00FF//define couleur vert

new NB_ADMINCO;// variable pour compter les administrateurs
public OnPlayerConnect(playerid)
{
 
if(NB_ADMINCO !=0)//si la variable n'est pas egale a 0
 
{
 
 SendClientMessage(playerid,COLOR_GREEN,"Un administrateur est en ligne en ce moment.");// on signale ici en vert Administrateuyr en ligne
 
}
 
else//sinon
 
{
 
 SendClientMessage(playerid,COLOR_RED,"Il y a aucun administrateur en ligne.");//on lui signale qu'il n'y a pas d'administrateur
 
}
return 1;
}

public 
OnPlayerUpdate(playerid)
{
NB_ADMINCO 0;
 
for(new i=0;i<MAX_PLAYERS;i++)// une boucle pour tester tout les joueurs
 
{
 
if(IsPlayerAdmin(i))// si admin
 
{
 
NB_ADMINCO++;//on augmante la variable d'autant admin connecter
 
}
 
}
return 1;
}


TP2



Dans cette exercice nous allons faire deux commandes une premiere pour sauver un spawn au choix le joueur pourras donc respawn au spawn de sont choix la secondes commande annuleras la premiere

  • Se servire de la callback OnPlayerCommandeText OnPlayerSpawn OnPlayerConnect
  • Cree des variable dont un enumerateur
libre cours a vos imagination :)



pour ce topic j'aimerais que personne ne modifie sont propre message svp votre code doit être fonctionnel avant d'être poster

Ce topic a uniquement pour but de vous faire apprendre un peu plus sur le scriptage et de repérer par vous même vos erreure il est en aucun cas un concours
« Modifié: 04 Février 2010, 23:38:59 par cristab »
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Kawoua

  • GTAOnline Member
  • *
  • Grand Banditisme
  • KaWouA
  • Messages: 800
    • Voir le profil
Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #1 le: 30 Janvier 2010, 20:42:21 »
GG Cristab Sa regroupe un tres bon regroupement d'aide bien pour ce qui débute le PAWN , encore GG ;)



PlayBonus
Marvel Inc ™

Hors ligne Barto

  • Aiiiiiiirght
  • *
  • GTAOnline Addict
  • Messages: 4205
    • Voir le profil
Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #2 le: 30 Janvier 2010, 20:47:32 »
J'ai pas très bien. En fait, il faut faire un bout de code avec les conditions que tu donnes ?
Les filles, c'est comme les échappées en cyclisme, faut en tenter plusieurs pour en réussir une.

Gifs interdit dans les avatars/signs

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #3 le: 30 Janvier 2010, 20:55:38 »
#define COLOR_RED 0xAA3333AA
#define COLOR_GREEN 0x9EC73DAA

public OnPlayerConnect(playerid)
{
    for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerAdmin(i))
{
Admin ++;
}
}
}
if(Admin > 0)
  {
      SendClientMessage(playerid, COLOR_GREEN, "Il y a un ou plusieurs administrateurs connecté.");
      return 1;
}
else
{
    SendClientMessage(playerid, COLOR_GREEN, "Il n'y a pas d'administrateurs connecté.");
    return 1;
}
}

Ou

#define COLOR_RED 0xAA3333AA
#define COLOR_GREEN 0x9EC73DAA

public OnPlayerConnect(playerid)
{
    for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerAdmin(i))
{
Admin ++;
}
}
}
if(Admin > 0)
  {
      format(string, sizeof(string), "Il y a %d administrateurs connecté", Admin);
SendClientMessage(playerid, COLOR_RED, string);
      return 1;
}
else
{
    SendClientMessage(playerid, COLOR_GREEN, "Il n'y a pas d'administrateurs connecté.");
    return 1;
}
}

Un peux a l'arrache pour aller vite qu'on ne croi spas que je copie ^^
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #4 le: 30 Janvier 2010, 20:59:49 »
juste un truc dans le code qui ne va pas c'est que si il y a l'id 0 est un admin da monte ta var Admin(non declarer en passant ) de 1 mais seulement si id 1 ce connecte il y auras un admin (le 0) si id2 se connecte il y auras 2 admin (euh oui il est ou le second???)
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #5 le: 30 Janvier 2010, 21:02:26 »
Je n'ai pas compris mon erreur, mis a pars que je n'ai pas défini le admin, qu'il est = 0 et tout ^^
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #6 le: 30 Janvier 2010, 21:03:46 »
erreure simple en realiter sur le serveur il y a 1 admin et 10 joueur ta variable va affiche 9admin car tu augmente a chaque connection
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #7 le: 30 Janvier 2010, 21:05:41 »
Ce n'est pas dans t'es conditions, mais c'est plus simple, (ou pas).
Et je ne suis peut être pas débutant, mais bon, juste pour vous montrer une autre solution ^^



#define COLOR_GREEN 0x9EC73DAA
new InfosAdmin[MAX_PLAYERS];


public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/infosadmins", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid, COLOR_GREEN, "Tu reçois maintenant un message quand un admin se connecte !");
                InfosAdmin[playerid] = 1;
return 1;
}

return 0;
}
public OnRconLoginAttempt(ip[], password[], success)
{
if(sucess)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
   if(InfosAdmin[i] == 1)
   {
   SendClientMessage(playerid, COLOR_GREEN, "Un admin s'est connecté !");
   }
}
}
}
}




« Modifié: 30 Janvier 2010, 21:07:22 par lepro49 »

Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #8 le: 30 Janvier 2010, 21:20:26 »
pour être générique:

Code: (pawn) [Sélectionner]
countAdminOnline()
{
      new count = 0;
      for(new i=0;i<MAX_PLAYERS;i++)
      {
            if(IsPlayerAdmin(i))
            {
                  count++;
            }
      }
      return count;
}

Bon j'ai codé direct sur le fofo ptet un risque de faute de frappe, l'utilisation est simple l'appel a la fonction renvoi le nombre d'admin en ligne vraiment tout con quoi

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #9 le: 30 Janvier 2010, 21:22:31 »
uep mais je voulais pas pousser trop loin en leur imposant de cree une fonction pour le premier exercice ^^ pour cela que je parle de variable et de OnPlayerUpdtae ^^ sa me permet de voir le niveau generale au quelle je doit faire face

je ne sais pas si je poste la reponse de suite ou plus tard ^^



« Modifié: 30 Janvier 2010, 21:30:48 par cristab »
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Lychaos

  • *
  • Tueur en série
  • Messages: 165
    • Voir le profil
Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #10 le: 30 Janvier 2010, 23:36:53 »
Je voudrais savoir une chose

le return count sa va ecrire (s'il y a 3 admin connecter )

Citer
===========Bienvenue sur le serveur ========
== blabla , tes loguer ====

3

? Car j'ai toujours vu return 1; ou 0

Hors ligne xEagl3Zx

  • *
  • Grand Banditisme
  • drift ...
  • Messages: 504
    • Voir le profil
Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #11 le: 31 Janvier 2010, 00:01:36 »
Salut j'ai fais quelque petit truc en script j'ai un peu oublier car je n'et pas vrement appris mais plutot recopier ( re écrire et pas copier/coller !! )...
Donc sa fais comme si je suis nouveau en script et comment trouver tout sa ...
T'aurais plus mettre les bouts de script a utiiser mais tu les mes dans le desordre et avec sa on refait le bon script !!
En disant se que sais le bout de script sa serai plus simple ?? pour debuter et genre creer un post Debutant / En cours VIA Moyen / Moyen / En cours VIA Expert / Expert ???

++TZ++
..:: Vive le drift ... ::..[/u]



++TZ++

Hors ligne FuSion

  • Pawn coder
  • *
  • Grand Banditisme
  • for(new i = 0; i < INFINI; i++)
  • Messages: 888
    • Voir le profil
Re : Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #12 le: 31 Janvier 2010, 00:06:17 »
Salut j'ai fais quelque petit truc en script j'ai un peu oublier car je n'et pas vrement appris mais plutot recopier ( re écrire et pas copier/coller !! )...
Donc sa fais comme si je suis nouveau en script et comment trouver tout sa ...
T'aurais plus mettre les bouts de script a utiiser mais tu les mes dans le desordre et avec sa on refait le bon script !!
En disant se que sais le bout de script sa serai plus simple ?? pour debuter et genre creer un post Debutant / En cours VIA Moyen / Moyen / En cours VIA Expert / Expert ???

++TZ++


Faudra s'y faire dès maintenant, des fois tu voudras scripter un truc que tu ne trouvera nul part et tu abondonnera ? Le mieux c'est d'apprendre sois même a coder en ayant les bases dans la tête, en plus ce n'est pas vraiment très dur ...  ;)

Hors ligne xEagl3Zx

  • *
  • Grand Banditisme
  • drift ...
  • Messages: 504
    • Voir le profil
Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #13 le: 31 Janvier 2010, 00:11:19 »
Je trouve plus simple d'apprendre a la facon de cristab que par un tuto ... ou lire le tuto donner pour faire le script donner en exercice et grasse au tuto tu apprend tu essaye si sa marche pas tu recherche l'ereur et si tu arrive pas avoir une ptite aide et chercher encore !! Puis sa fait comme pour les math tu apprend ta lecon (TUTO) et tu fait des execices pour tentrainer ...

++TZ++
« Modifié: 31 Janvier 2010, 00:14:14 par xTig3rZx »
..:: Vive le drift ... ::..[/u]



++TZ++

Hors ligne Oscar

  • *
  • Tueur
  • Messages: 68
    • Voir le profil
Re : [EXERCICE]Apprendre PAWN avec des exercices
« Réponse #14 le: 31 Janvier 2010, 00:42:29 »
Comme le siteduzero ;)