GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: GTK_Xt4Zii3 le 27 Août 2009, 18:12:43

Titre: Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 27 Août 2009, 18:12:43
Salut a tous, enfaite dans le Gm que j'ai, il y a une limitation. Donc si j'essaie d'aller plus loin de la zone limiter un message en grand s'affiche (je ne sais plus le quel) et c'est justement ça qui me pose problème,
car étant donné que j'ai plusieurs commande téléportation (/dm, etc) il est pour moi, et les autre player impossible de jouer car on est en dehors de la zone limité, et les joueur vole dans tout les sans.
Tout ça pour demander si c'était possible de retirer cette limitation de territoire ?
Si oui, Comment ? :(

Merci de votre compréhension  :D A bientot ++
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 27 Août 2009, 18:14:08
C'est "SetPlayerWorldBounds", recherche ca dans ton script et enlève le.  ;)
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 27 Août 2009, 18:17:35
Ok merci bien ^^  ;)

Double post
Désolé du double poste, un ami m'avais passé le Code pour définir Strtok, mais je ne l'ai plus  ;D

Quelqu'un pourrait me le redonner ? S'il vous plait.  :-\
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 27 Août 2009, 18:23:16
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}

new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 27 Août 2009, 18:24:24
Encore merci !  :D

Double post
Désolé encore du dérangement, je sais pas si vous allez pouvoir m'aidez mais bon, je demande quand même:
Mon serveur est un AAD Attaque-Défense, J'ai que une base pour le moment, Créer une autre base je sais le faire mais mon problème c'est de changer de base, je vous explique:
Après chaque partie écouler le serveur redémarre automatiquement, et c'est a ce moment là que j'aimerais que le changement de base se fasse,
Donc imaginons qu'on ai fini une parties dans la 1e base, le serveur Redémarre et a ce moment là tout les joueur qu'ils soient en Attaque ou en Defense, Spawn a un endroit différent du premier,
et voilà, j'aimerais que sa fasse ça en Boucle ... 1e base, 2e base 3e base ==> 1e base, etc ...

Je vous remercie d'avance .  :D
Titre: Re : Limitation de térritoire
Posté par: cristab le 27 Août 2009, 18:42:29
dans le serveur.cfg


gamemode0 nomgm1 1
gamemode0 nomgm2 2
gamemode0 nomgm3 3
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 27 Août 2009, 18:44:19
Ha ok et donc en faisant ainsi, les Gamemode changerons a chaque fin de partie ?

A partir du moment ou le Serveur Reboot, le Gamemode change automatiquement ?

En tout cas merci de votre rapidité de reponse,  ::) ;)

Titre: Re : Limitation de térritoire
Posté par: cristab le 27 Août 2009, 18:52:27
normalement oui ^^ jamais tester enfaite le mieux utiliser un SendRconCommand c'est plus simple et illimiter contrairement a samp qui limite a 16
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 27 Août 2009, 18:56:53
Ok je vais tester ça, je te tient au courant  8)
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 27 Août 2009, 19:00:21
C'est plutôt :

Citer
gamemode0 nomgm1
gamemode2 nomgm2
gamemode3 nomgm3
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 27 Août 2009, 19:04:06
gamemode0|      ? ??  Car le pro tu a mit directement de gamemode0 a gamemode2
gamemode1|
gamemode2|
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 27 Août 2009, 19:06:45
Euh, oui, je me suis tromper  :dry

Citer
gamemode0 nomgm0
gamemode1 nomgm1
gamemode2 nomgm2
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 27 Août 2009, 19:07:39
Ok merci bien  :D
Titre: Re : Limitation de térritoire
Posté par: cristab le 27 Août 2009, 19:11:33
exate pardon j'ai etait trop vite
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 27 Août 2009, 19:44:13
Et oui encore moi xd

Enfaite dans la deuxième partie de mon Serveur (gamemode1) j'aimerais quand il y ai une limite de Frag exemple, dans la première partie c'est des Checkpoint, si l'équipe attaquante réussis a aller dessus Elle gagne, Maintenant dans la deuxième partie je voudrais faire que la première des deux équipe qui arrive a 25 Frags remportent le round, et dès que y'a l'annonce Des gagnant, le Serveur Reboot,

Si vous pourriez m'aidez ca serait géniale, Merci d'avance +
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 27 Août 2009, 19:59:30
Alors, tu fait un
new FragEquipe1new FragEquipe2etc..

Ensuite dans OnPlayerDeath
Tu met :
new victimteam = gTeam[playerid];
new killerteam = gTeam[killerid];

Ensuite tu met si la team 1 a tué la team 2, alors FragEquipe 1 a +1 dans sa variable.
Bon c'est mal expliqué, mais tu peux comprendre ><


++
ApocKalipsS
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 27 Août 2009, 20:23:54
merci, néanmoins j'aimerais un peux t'aide ^^

Code: (pawn) [Sélectionner]
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(599) : error 035: argument type mismatch (argument 1)
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(610) : warning 217: loose indentation
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(610) : error 017: undefined symbol "SetPlayerToTeamColour"

J'voudrais , si il y a moyen de m'expliqué chacun des différent cas ?

Oubliez quelque chose ou bien quelque chose d'autre ? Je dois faire quoi ?

Merci d'avance +

Titre: Re : Limitation de térritoire
Posté par: LePtitClown le 27 Août 2009, 21:21:07
Slt

Si tu veux moi je compte les kills des joueurs en faisant (ex: ci contre entre des ballas et des vagos):

à mettre tout en haut:

new killvagosfull;
new killballasfull;



à mettre dans oneplayerdeath en vérifiant que les joueurs est bien un ballas ou un vagos ( moi je le vérifié avec une variable ex:
ballas[MAX_PLAYERS] et vagos[MAX_PLAYERS]:

killvagosfull ++;
Killballasfull ++;

A+ :D



Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 27 Août 2009, 21:27:05
Merci, car enfaite j'ai deja les code pour donner ou bien +1 ou bien -1 a la team gagnante/perdante me faudrait juste qu'il reconnaisse quel team reussis a avoir 25 kill en premiers ...

PS : [HS] LPC tu peux te connecter sur msn ? [/HS]

Double post
il me reste une erreur => C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(607) : error 002: only a single statement (or expression) can follow each "case"

dans ce code (Dsl je suis débutant ^^) :
Code: (pawn) [Sélectionner]
//---------------------------------------------------------



public OnPlayerSpawn(playerid)

{

switch (gPlayerClass[playerid]) {

case 0, 1:

{

 GameTextForAll("La premiere equipe a 25 Frag Gagne!", 2000, 5);

}


{
        if(gTeam[playerid] == TEAM_ATTACK) {

SetPlayerColor(playerid,COLOR_RED); // Red

} else if(gTeam[playerid] == TEAM_DEFENCE) {

    SetPlayerColor(playerid,COLOR_GREEN); // Green

}

    return 1;
}
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 28 Août 2009, 09:43:44
Fait plutôt comme ça :
public OnPlayerSpawn(playerid)
{
GameTextForAll("La premiere equipe ayant 25 Frags Gagne!", 2000, 5);
if(gTeam[playerid] == TEAM_ATTACK)
{
SetPlayerColor(playerid,COLOR_RED); // Red
}
else if(gTeam[playerid] == TEAM_DEFENCE)
{
SetPlayerColor(playerid,COLOR_GREEN); // Green
}
    return 1;
}

Ensuite Xt4Zii3, tu peux mettre dans OnPlayerDeath :

if(gTeam[killerid] == TEAM_ATTACK && gTeam[victimid] == TEAM_DEFENCE) // Si la team ATTACK a tuer qqn + si la victime est de la team defence...
{
FragTeam_Attack ++;// Alors on monte la variable de +1 pour les FragTeam_Attack
SendClientMessageToAll(COLOR_RED, "La team Attaquant a tué un Défenseur.");
}
else if(gTeam[killerid] == TEAM_DEFENCE && gTeam[victimid] == TEAM_ATTACK)// pareil que touit à l'heure mais inversé
{
FragTeam_Defence ++;
SendClientMessageToAll(COLOR_RED, "La team Défense a tué un Attaquant.");
}


Ensuite tu peux rajouter en dessous de ça, toujours dans OnPlayerDeath si une team a 25 frags, alors...

if(FragTeam_Defence == 25)
{
//l'action à faire
}
else if(FragTeam_Attack == 25)
{
// ...
}
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 09:58:25
moi je ferais plus comme ceci

OnPlayerDeath(kilerid,playerid,reason)
{
   if(gTeam[killerid] != gTeam[playerid]
   {
      
       if(gTeam[killerid] == TEAM_DEFENCE)
       {
           SendClientMessageToAll(COLOR_RED, "La team Défense a tué un Attaquant.");
           FragTeam_Defence ++;
       }
       else
       {
           SendClientMessageToAll(COLOR_RED, "La team Attaquant a tué un Défenseur.");
           FragTeam_Attack ++;
       }
   }
   else
   {
       SendClientMessage(killerid,COLOR_RED, "Attention tu as tuer un equipier.");
   }
}

ensuite tu peu meme mettre combien de kill il reste a faire pour avertir les autre de se secouer un peu
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 28 Août 2009, 10:06:02
Oui, ca peut le faire aussi  :)
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 11:20:54
Ok merci les gars pour votre aide  8) En faite je peut a chaque fois metre un message disant le nombre de kill qu'il reste pour chaque equipe, Mais je dois augmenter la variable de chaque Equipe 25 fois ?

Et le pro t'entend quoi par //L'action a faire ?

EDIT : Après avoir mit le code de Cristab, ils me mettent une erreur //C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(598) : error 025: function heading differs from prototype

Dans la ligne OnPlayerDeath
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 11:56:12
quelle est la ligne 598 et il y a une faute dans mon code ^^

pour mettre combien de frag restan

tu fait un truc du genre

new reste;
reste = 25 - FragTeam_Defence;
format(string sizeof (string),"il reste a cette equipe %d frag pour gagner",reste);
SendCliantMessage(Rouge,string);

le code peu etre ameliorer optimiser simplifier sa donne juste un aperçu
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 12:03:57
Il ne reconnait pas FragTeam  ;D et presque toute mes erreur sont des Undefined Symbole ...

C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(558) : warning 217: loose indentation
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(573) : error 025: function heading differs from prototype
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(575) : error 017: undefined symbol "killerid"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(577) : error 017: undefined symbol "FragTeam_Attack"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(577) : warning 215: expression has no effect
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(580) : error 017: undefined symbol "killerid"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(582) : error 017: undefined symbol "FragTeam_Defence"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(582) : warning 215: expression has no effect
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(585) : error 017: undefined symbol "killerid"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(591) : error 010: invalid function or declaration
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(800) : warning 203: symbol is never used: "attack"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(800) : warning 203: symbol is never used: "defence"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(800) : warning 203: symbol is never used: "strtok"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


7 Errors.
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 12:16:05
as tu trouver l'erreure dans mon code??
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 12:18:07
bah je pense que a ton OnPlayerDeath tu a oublier le public, mais je doit définir comment les "symbole" ?

Code: (pawn) [Sélectionner]
public OnPlayerDeath(killerid, playerid, reason)
{
   if(gTeam[killerid] == TEAM_ATTACK && gTeam[victimid] == TEAM_DEFENCE) // Si la team ATTACK a tuer qqn + si la victime est de la team defence...
   {
   FragTeam_Attack ++;// Alors on monte la variable de +1 pour les FragTeam_Attack
   SendClientMessageToAll(COLOR_RED, "La team Attaquant a tué un Défenseur.");
   new reste;
   reste = 25 - FragTeam_Attack;
   format(string sizeof (string),"il reste %d frag pour Les Alien", reste);
   SendClientMessage(COLOR_RED,string);
   }
   else if(gTeam[killerid] == TEAM_DEFENCE && gTeam[victimid] == TEAM_ATTACK)// pareil que touit à l'heure mais inversé
   {
   FragTeam_Defence ++;
   SendClientMessageToAll(COLOR_RED, "La team Défense a tué un Attaquant.");
   new reste;
   reste = 25 - FragTeam_Attack;
   format(string sizeof (string),"il reste %d frag pour Les Predator", reste);
   SendClientMessage(COLOR_RED,string);
   }
   SendDeathMessage(killerid, playerid, reason);

   SetPlayerColor(playerid,COLOR_GREY);

   GameTextForPlayer(playerid,"Tes morts", 500 ,1);
   }
   return 1;
}

et les erreur ,

C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(558) : warning 217: loose indentation
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(573) : error 025: function heading differs from prototype
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(575) : error 017: undefined symbol "victimid"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(577) : error 017: undefined symbol "FragTeam_Attack"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(577) : warning 215: expression has no effect
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(580) : error 017: undefined symbol "FragTeam_Attack"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(581) : error 017: undefined symbol "string"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(581) : error 035: argument type mismatch (argument 1)
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(581) : error 017: undefined symbol "string"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(581) : fatal error 107: too many error messages on one line

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


8 Errors.
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 12:42:47
tu as une accolade de fermeture en trop
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 12:45:09
Tu pourrais me dire la quelle ? Car personnellement je vois pas ...  :(
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 12:51:35
Citer
public OnPlayerDeath(killerid, playerid, reason)
{
   if(gTeam[killerid] == TEAM_ATTACK && gTeam[victimid] == TEAM_DEFENCE) // Si la team ATTACK a tuer qqn + si la victime est de la team defence...
   {
   FragTeam_Attack ++;// Alors on monte la variable de +1 pour les FragTeam_Attack
   SendClientMessageToAll(COLOR_RED, "La team Attaquant a tué un Défenseur.");
   new reste;
   reste = 25 - FragTeam_Attack;
   format(string sizeof (string),"il reste %d frag pour Les Alien", reste);
   SendClientMessage(COLOR_RED,string);
   }
   else if(gTeam[killerid] == TEAM_DEFENCE && gTeam[victimid] == TEAM_ATTACK)// pareil que touit à l'heure mais inversé
   {
   FragTeam_Defence ++;
   SendClientMessageToAll(COLOR_RED, "La team Défense a tué un Attaquant.");
   new reste;
   reste = 25 - FragTeam_Attack;
   format(string sizeof (string),"il reste %d frag pour Les Predator", reste);
   SendClientMessage(COLOR_RED,string);
   }
   SendDeathMessage(killerid, playerid, reason);

   SetPlayerColor(playerid,COLOR_GREY);

   GameTextForPlayer(playerid,"Tes morts", 500 ,1);
   }
   return 1;
}
celle en rouge
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 12:54:16
Bien , je l'ai enlever mes les erreur persiste ... C'est que des Undifined Symbol ... et je ne sais pas comment arranger ça  :closedeyes
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 13:06:09
victimeid remplace par playerid je voit ce que sa fait la enfaite

new string[58]; au debut de la callback

en haut de ton GM

new FragTeam_Defence;
new FragTeam_Attack;

dans le ongamemodeinit

FragTeam_Defence = 0;
FragTeam_Attack = 0;

il faut definir t'es variable sinon il ne sais pas quoi chercher
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 13:44:07
Ok je vais tester ça et j'te tient au courant, encore merci de ton aide  8) Et aufaite quand j'avais posez la question, je doit augmenter les variable des team 25 fois ? Car les ++; n'augmente que de 1 ?
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 28 Août 2009, 13:50:19
oui, les ++ augmentent la varible de +1.
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 13:58:46
donc je doit répéter le code 25 fois pourr chaque team  :blink

Après avoir suivit tes consigne Cristab, j'obtiens moins d'erreur :

C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(567) : warning 217: loose indentation
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(583) : error 025: function heading differs from prototype
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(585) : warning 204: symbol is assigned a value that is never used: "string"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(585 -- 587) : error 010: invalid function or declaration
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(585 -- 592) : error 010: invalid function or declaration
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(585 -- 593) : error 010: invalid function or declaration
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(585 -- 593) : fatal error 107: too many error messages on one line

dans
 
Code: (pawno) [Sélectionner]
583public OnPlayerDeath(killerid, playerid, reason)
584{
585   new string[58];
586   }
587   if(gTeam[killerid] == TEAM_ATTACK && gTeam[playerid] == TEAM_DEFENCE) // Si la team ATTACK a tuer qqn + si la victime est de la team defence...
588  {
589   FragTeam_Attack ++;// Alors on monte la variable de +1 pour les FragTeam_Attack
590   SendClientMessageToAll(COLOR_RED, "La team Attaquant a tué un Défenseur.");
591   new reste;
592   reste = 25 - FragTeam_Attack;
593   format(string sizeof (string),"il reste %d frag pour Les Alien", reste);
594   SendClientMessage(COLOR_RED,string);
595   }
596   else if(gTeam[killerid] == TEAM_DEFENCE && gTeam[playerid] == TEAM_ATTACK)// pareil que touit à l'heure mais inversé
597   {
598   FragTeam_Defence ++;
599   SendClientMessageToAll(COLOR_RED, "La team Défense a tué un Attaquant.");
600   new reste;
601   reste = 25 - FragTeam_Attack;
602   format(string sizeof (string),"il reste %d frag pour Les Predator", reste);
603   SendClientMessage(COLOR_RED,string);
604   }
605   SendDeathMessage(killerid, playerid, reason);
606
607   SetPlayerColor(playerid,COLOR_GREY);
608
609   GameTextForPlayer(playerid,"Tes morts", 500 ,1);
610
611   return 1;
612}

Ce sont les ligne de 583 à 612
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 14:19:34
a quoi cooresponde les lignes citer ?
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 14:27:19
J'EDIT le Post avec les numéro de lignes
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 14:31:44
remplace ton public par sa

public OnPlayerDeath(playerid, killerid, reason)


mais normalement il est par default

new string[58];  =>new string[128];
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 14:35:22
4 Erreur, toute les même y'a juste celle de la ligne 583 qui n'est plus là ^^  ;D
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 14:55:53
retire l'accolade de fermeture ligne 586
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 14:58:33
Ok c'est fait, j'ai d'ailleur aussi rajouter une virgule après le string(,) sizof

Il me reste 2 erreur mais j'aimerais aussi arranger les Warning si possible =/ PS : J'ai 819 ligne dans mon gm ... Donc je doit faire quoi des 3 dernier Warning ?

C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(567) : warning 217: loose indentation
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(594) : error 035: argument type mismatch (argument 2)
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(603) : error 035: argument type mismatch (argument 2)
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(820) : warning 203: symbol is never used: "attack"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(820) : warning 203: symbol is never used: "defence"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(820) : warning 203: symbol is never used: "strtok"
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 15:02:30
SendClientMessage(COLOR_RED,string);  => SendClientMessageToAll(COLOR_RED,string);
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 28 Août 2009, 15:02:41
Tu as sûrement des new attack, new defence, suprime les, et si tu es a un new strtok suprime le aussi.
Pour la ligne 594 remplace la par ca :

SendClientMessage(playerid,COLOR_RED,string);

++
ApocKalipsS
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 15:06:18
C'est bien gentil, il me reste 2 Warning a reglés

C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(563) : warning 217: loose indentation
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(816) : warning 203: symbol is never used: "strtok"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


2 Warnings.

Etant donné que je n'ai pas de new strtok je sais pas quoi faire car même si je le definit l'erreur reste ca m'en donne encore plus je pense  ;D
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 15:07:58
non mais tu as un stock strtok le loose indentation c'est du a une mauvaise intendation
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 15:11:13
Ok he bien je remercie ceux qui m'ont aidez et je vais aller tester tout ça ^^  :-*

EDIT: J'ai un petit soucis, dans le premier Gm l'endroit où l'ont choisissait le skin etait dans un Avion, l'avion spécial de GTA pour faire du parachute,

Et donc maintenant etant donné que j'ai changer mes position de spawn j'arrive pas a changer l'endroit ou on doit choisir son skin car quand je spawn je vois tout transparent comme si j'etait dans le vide ...

je ne sais pas quel bout de code je doit retirer pour avoir un choix de skin normal ...

Titre: Re : Limitation de térritoire
Posté par: S!m le 28 Août 2009, 16:04:09
Salut,

regarde le code que tu as dans OnPlayerRequestClass

soit tu as un mauvais intérieur (SetPlayerInterior) ou une mauvaise position (SetPlayerPos)
arrange toi pour que ça concorde^^

++Sim++
Titre: Re : Limitation de térritoire
Posté par: Street le 28 Août 2009, 16:07:41
oué c sa ^^
Je lui disé justemen xP
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 16:07:44
Ok merci bien ^^  :D a vrai dire j'ai ça

public OnPlayerRequestClass(playerid, classid)

{

   SetPlayerTeamFromClass(playerid, classid);

   SetupPlayerForClassSelection(playerid);



   gPlayerClass[playerid] = classid;
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 16:21:29
je serais toi je le recoderais etant donner que sa etait coder avec des fonctions qui ne serveur pas trop je trouve mais tente de regarder de ce coter  SetPlayerTeamFromClass
Titre: Re : Limitation de térritoire
Posté par: S!m le 28 Août 2009, 16:24:15
Salut,

je suis plutôt porté à penser que ces paramètres sont définis dans la fonction SetupPlayerForClassSelection

++Sim++
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 16:44:36
C'est bon j'ai trouver, Merci Sim !  ::)

Double post
Désolé pour le Double post,

Je voulais savoir si quelqu'un pouvais m'aider a faire des Spawn aléatoire ... ?

Si oui, Comment ?
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 18:29:53
base toi sur le GM LVDM fournit avec le serveur samp
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 18:52:52
Cristab, le truc pour changer de gm automatiquement ca marche pas ...

alors je sais pas comment faire car si il faut que je quitte et que je remettent l'autre GM ça va être le Bordel

Donc on m'a dit :

gamemode0 nomdugm1
gamemode1 nomdugm2
ETC...

Si quelqu'un pourrait m'aidez ça serait sympa
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 28 Août 2009, 18:57:05
Bah par exemple tu as un GameMode qui s'appel LVDM, un autre SFDM, et celui que tu as actuellement LSDM. Tu va alors mettre dans server.cfg, en dessous de
Citer
gamemode0 lsdm
  :

Citer
gamemode1 LVDM
Citer
gamemode1 SFDM


Il n'y a rien de plus facile  :)


++
ApocKalipsS
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 18:59:41
comme je t'es dit je prefere le SendRconCommand
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 19:04:47
Et C'est quoi ?  ;D Et lepro49 , Le gamemode change a partir de quel moment ? car c'est ce que j'ai fait mais ça na pas marcher, moi mon premier gm a la fin de la partie il reboot ... moi j'espère que l'autre s'enclenche mais non, c'est le même qui se remet en route ...
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 28 Août 2009, 19:20:38
Ah  ???
Bizzare, je voit pas alors, j'ai pas l'habitude d'utiliser ça...
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 28 Août 2009, 19:22:46
Citer
comme je t'es dit je prefere le SendRconCommand

qu'est-ce ?  :blink
Titre: Re : Limitation de térritoire
Posté par: cristab le 28 Août 2009, 19:53:49
bon explication

public changeGM()
{
   new string[50];
   format(string, sizeof(string),"changemode nomdugm");
   SendRconCommand(string);
   return 1;
}

je pense que sa doit etre sa ^^
Titre: Re : Limitation de térritoire
Posté par: S!m le 29 Août 2009, 04:13:57
Salut,

beau code mais si tu l'utililse tel quel, tu peut y aller directement:

ChangerMode()
{
    SendRconCommand("changemode nouveaumode");
    return 1;
}

le format n'est pas nécessaire

++Sim++
Titre: Re : Limitation de térritoire
Posté par: cristab le 29 Août 2009, 10:52:13
ah ok je penser a la base que la commande seul etait pris en compte et que si on voulais entrer un parametre ben il fallait un format je ne savait pas comme quoi on peu meme simuler un admin en ligne meme si il y est pas :p
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 29 Août 2009, 14:54:56
je met ça dans le GM mais a quel callback et la commande c'est quoi ? la commande rcon pour changer directement le GM ?  :bangin
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 29 Août 2009, 16:20:03
En fait, quand une équipe aura 25 frags, tu appelera cette CallBack :

if(Frags == 25)
{
ChangerMode();
}
Titre: Re : Re : Limitation de térritoire
Posté par: S!m le 29 Août 2009, 16:37:46
Salut,

En fait, quand une équipe aura 25 frags, tu appelera cette CallBack :

if(Frags == 25)
{
ChangerMode();
}
si tu veut une petite définition/explication de callback : http://fr.wikipedia.org/wiki/Fonction_de_rappel (http://fr.wikipedia.org/wiki/Fonction_de_rappel)

++Sim++
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 29 Août 2009, 16:50:08
Euh, tu parle à moi ? ???
Titre: Re : Limitation de térritoire
Posté par: S!m le 29 Août 2009, 16:52:11
Salut,

non à tous les intéressés

++Sim++
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 29 Août 2009, 16:56:54
Lol Sim avec tout ça tu n'a pas répondu a ma question ...  ???
Titre: Re : Re : Limitation de térritoire
Posté par: S!m le 29 Août 2009, 17:00:08
Salut,

la réponse se trouve quelques messages plus haut

SendRconCommand("changemode nouveaumode");
++Sim++
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 29 Août 2009, 17:36:14
Et Donc IG je doit juste tapez /changemode (NomGm) Et c'est ok ?

et le pro49 :
 if(Frags == 25)
{
ChangerMode();
}

Je met ceci a la suite du SendRconCommand ?
Titre: Re : Limitation de térritoire
Posté par: cristab le 29 Août 2009, 17:59:01
ce qu'on t'as donner c'est pour changer tout seul apres IG tu peu faire /rcon changemode tu as les commande dans /rcon cmdlist
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 29 Août 2009, 18:15:33
ha ok donc ce qu'on ma donner je dois rien faire IG,

Et pour ce bout de code où je le met ? :

 if(Frags == 25)
{
ChangerMode();
}
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 29 Août 2009, 18:49:27
Euh, nan, tu met le code "ChangerMode();" là où tu dis qu'il y a 25 frags.
Titre: Re : Limitation de térritoire
Posté par: S!m le 29 Août 2009, 19:33:54
Salut,

en gros c'est supposé être dans ta callback OnPlayerDeath, réfléchi à l'endroit exact et ça devrait fonctionner parfaitement

PS. si tu ne veut pas être obligé de placer le code

ChangerMode()
{
    SendRconCommand("changemode nouveaumode");
    return 1;
}
dans ton script, fais plutôt un appel direct à la fonction SendRconCommand:
if(Frags == 25)
{
    SendRConCommand("changemode nomdumode");
}

++Sim++
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 30 Août 2009, 09:51:51
Donc la je peux choisir entre un des deux? Mais en y réfléchissant, si je suis pas là et que des player jouent ... Je ne pourrait pas changer le gm  :bangin

C'est possible de le faire automatiquement ?

(Je sais pas si le code de lepro49 le fait)
Titre: Re : Limitation de térritoire
Posté par: cristab le 30 Août 2009, 10:33:10
il est fait pour a la base ta demande est

Comment faire pour que sa change de GM automatiquement :s


voila tu a le code
Titre: Re : Limitation de térritoire
Posté par: GTK_Xt4Zii3 le 30 Août 2009, 15:56:59
Et donc je met tout ça dans OnPlayerDeath ?  ???
Titre: Re : Limitation de térritoire
Posté par: ApocKalipsS le 30 Août 2009, 17:12:04
Oui, enfin en ajustant à ce que tu veux (Frags etc..)