GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: skylive77 le 26 Juin 2010, 16:01:50
-
Me re-voila, mais bon, cela me fait apprendre !
Bon, encore un problème :
J'ai ajouté 4 gate, à plusieurs endroit différent, avec une vérification de faction, j'ai fait les new bgate, ainsi que le forward de GateClose13. tout devrai marché !
La faction concerné : 16
Problème :
Quand le membre de la faction fait la commande pour ouvrir la gate, il reçois le message : Destination est trop éloignée / vous n'êtes pas membre de la bonne faction.
J'ai passé 3/4heures sur ce bout de code, mais sans succès, j'espère que vous aurez plus de chance !
voici l'endroit qui pose problème :
else if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
{
if (PlayerToPoint(15, playerid,1010.4901733398,-1539.1491699219,12.585008621216))
{
MoveObject(bgate,1010.4901733398, -1546.6491699219, 12.585008621216, 1.5);
SetTimer("GateClose13", 7000, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s prend sa télécommande et ouvre le portail des blood'z.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else { SendClientMessage(playerid, COLOR_GREY,"Destination est trop éloignée / vous n'êtes pas membre de la bonne faction."); }
}
-
effectivement, je vais voir sans le leader, mais je ne pense pas que sa change grand chose !!
Double post
Non, sa change rien
-
Pourrais tu mettre ta commande entière étant donné qu'il y a un else if elle n'est pas entière là.
-
J'ai séparé les 4 gates du gang 16 dans une autre commande :
La voici
if(!strcmp(cmdtext, "/bgate", true)) // by me
{
if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
{
if (PlayerToPoint(15, playerid,1010.4901733398,-1539.1491699219,12.585008621216))
{
MoveObject(bgate,1010.4901733398, -1546.6491699219, 12.585008621216, 1.5);
SetTimer("GateClose14", 7000, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s prend sa télécommande et ouvre le portail des blood'z.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else { SendClientMessage(playerid, COLOR_GREY,"Destination est trop éloignée / vous n'êtes pas membre de la bonne faction."); }
}
else if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
{
if (PlayerToPoint(15, playerid,953.74462890625, -1504.1276855469, 12.5513944625856))
{
MoveObject(bgate2,959.20373535156, -1504.1276855469, 12.551394462585, 1.5);
SetTimer("GateClose14", 7000, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s prend sa télécommande et ouvre le portail n#2 des blood'z.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else { SendClientMessage(playerid, COLOR_GREY,"Destination est trop éloignée / vous n'êtes pas membre de la bonne faction."); }
}
else if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
{
if (PlayerToPoint(15, playerid,958.50494384766, -1558.2036132813, 12.564096450806))
{
MoveObject(bgate3,953.25494384766, -1558.2036132813, 12.564096450806, 1.5);
SetTimer("GateClose14", 7000, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s prend sa télécommande et ouvre le portail n#2 des blood'z.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else { SendClientMessage(playerid, COLOR_GREY,"Destination est trop éloignée / vous n'êtes pas membre de la bonne faction."); }
}
else if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
{
if (PlayerToPoint(15, playerid,1041.1700439453, -1455.8255615234, 12.666543960571))
{
MoveObject(bgate4,1041.1700439453, -1464.3255615234, 12.666543960571, 1.5);
SetTimer("GateClose14", 7000, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s prend sa télécommande et ouvre le portail n#2 des blood'z.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else { SendClientMessage(playerid, COLOR_GREY,"Destination est trop éloignée / vous n'êtes pas membre de la bonne faction."); }
}
else return SendClientMessage(playerid, COLOR_GREY,"Vous n'avez pas la télécommande.");
return 1;
}
-
Salut :) Pourquoi tu remet a chaque fois un
else if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
C'est inutile tu met une condition et tu aligne pour les playertopoint en dessous
A+ Sam.
:dling
-
J'ai essayer, mais sa ne fonctionne pas .... :(
à votre avis, cela peut venir de mon streamer (SuperStream) ??
car des gates, c'est pas la 1ère fois que j'en ajoute, mais c'est la 1ère fois quel déconne..
-
non,elle sont bien présente en jeu effectivement, mais elle ne bouge pas :(, j'essaierai cet aprem de les refaire à 0, j'ai pu faire une faute pendant leur création
-
Salut,
fais attention, dans le streamer c'est MoveStreamObject (je crois voir MoveObject partout, ptet que t'as un define mais on ne sait jamais...)
++Sim++
-
Effectivement sim, j'ai mis une défine (et oui, je suis flemmard)
je vais essayer ton idée dizzy, je vous donne le résultat après.