GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: cristab le 30 Janvier 2010, 20:28:45

Titre: [EXERCICE]Apprendre PAWN avec des exercices
Posté par: cristab 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:


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

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
Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: Kawoua 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 ;)
Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: Barto 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 ?
Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: scott1 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 ^^
Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: cristab 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???)
Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: scott1 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 ^^
Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: cristab 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
Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: ApocKalipsS 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é !");
   }
}
}
}
}




Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: MrFredo 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
Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: cristab 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 ^^



Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: Lychaos 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
Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: xEagl3Zx 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++
Titre: Re : Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: FuSion 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 ...  ;)
Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: xEagl3Zx 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++
Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: Oscar le 31 Janvier 2010, 00:42:29
Comme le siteduzero ;)
Titre: Re : Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: MrFredo le 31 Janvier 2010, 10:00:09
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

un return sa dit bien se que sa dit sa retourne une valeur tu peux renvoyer n'importe quelle nombre mais pas seulement tu peux renvoyer un booléen ou aussi une chaine de caractere ;)
Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: S!m le 31 Janvier 2010, 15:20:57
Salut,

par contre retourner une chaîne est peu recommandée, je ne sais pas pourquoi (sans doute le grand Syg pourrait éclairer nos lanternes), mais le fait de retourner des chaînes réduit la stabilité du serveur...

++Sim++
Titre: Re : [EXERCICE]Apprendre PAWN avec des exercices
Posté par: cristab le 03 Février 2010, 13:07:09
desoler ce soir je donnerais la reponse est un nouvelle exercice (probleme de connexion suite au intemperie chez moi )


-------------------------------------------------------------------------------


MAJ premier post correction EX1
Ex2 poser