GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: [StAfF]MaN le 26 Mars 2008, 15:49:26
-
Salut ^^ J'aimerais savoir comment faire pour que quand quelqu'un passe dans un check point, celui ci s'efface pour tout le monde et non pas seulement pour le player qui est passer dedans ^^
J'ai été voir dans les tutos, celui de Urban, mais il n'y a qu'une fonctionne pour supprimer un Checkpoint : DiseablePlayerCheckpoint
Je voudrais savoir s'il y quand même moyen de faire ce que je veut ;)
Du genre diseable Check; ou autre.
Sinon je voudrais savoir comment faire pour que quand deux players se sont mis ensembles en tapant une commande, il soient mis dans une voiture en tant que, un conducteur et l'autre passager ^^
-
Je pourrait voir le code que tu as déjà que je voit ? ::) :happy
-
Ok :
new Checkcar;
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext,"/DMcar2", true)==0){
if(IsPlayerInAnyVehicle(playerid)==1){
new playerdm[MAX_PLAYER_NAME];
new PlayerConnecteddm[256];
new carid;
DMcar[playerid] = 2;
Checkcar = SetPlayerCheckpoint(playerid, -2372.9285,-1583.5168,498.7269, 5);
GetPlayerName(playerid, playerdm, sizeof(playerdm));
format(PlayerConnecteddm, sizeof(PlayerConnecteddm), "Le player %s est entré dans la zone DMcar2, tapez /DMcar2 pour le rejoindre", playerdm);
SendClientMessageToAll(COLOR_YELLOW, PlayerConnecteddm);
SendClientMessage(playerid, COLOR_YELLOW, "Trouve toi un partener et commence le DM, un conducteur, un tireur !!");
SendClientMessage(playerid, COLOR_YELLOW, "L'arrivée pour arrêter le DMcar2 est en HAUT du Mont Chililiad");
GameTextForPlayer(playerid, "~r~DM CAR 2~n~Faites vos equipes et combattez !!",9000,6);
SetPlayerInterior(playerid,0);
SetVehiclePos(GetPlayerVehicleID(playerid), 2685.3147,2602.3281,10.5501);
GivePlayerWeapon(playerid, 29, 9999);
GivePlayerWeapon(playerid, 34, 9999);
SetVehicleHealth(carid, 500);
}else if(IsPlayerInAnyVehicle(playerid)==0){
SendClientMessage(playerid, COLOR_RED, "Tu n'est pas en voiture !!!");
}
}
public OnPlayerEnterCheckpoint(playerid)
{
if (Checkcar)
{
SendClientMessage(playerid,0xFFFF00AA, "> CheckPoint atteint.");
GameTextForPlayer(playerid,"~r~Bravo vous avez terminer le ~g~DM car 2 ~r~entier !!!", 6000, 3);
DMcar[playerid]= 0;
DisablePlayerCheckpoint(Checkcar);
}
return 1;
}
Voila ^^
A savoir rivoal que je suis en train de scripter la commande pour mettre par paire de players ;)
Petit prob aussi avec la cmd pour mettre deux players ensembles ^^ xDD Pouvez m'aider ?? SVP ;)
-
Bon j'essaye ;) :
//en haut
new DM2[MAX_PLAYERS];
//dans ta commande tu rajoute
DM2[playerid]=1;
//dans public OnPlayerEnterCheckpoint(playerid)
public OnPlayerEnterCheckpoint(playerid)
{
if (Checkcar)
{
SendClientMessage(playerid,0xFFFF00AA, "> CheckPoint atteint.");
GameTextForPlayer(playerid,"~r~Bravo vous avez terminer le ~g~DM car 2 ~r~entier !!!", 6000, 3);
DMcar[playerid]= 0;
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(DM2[i] == 1)
{
DisablePlayerCheckpoint(i);//dans ton code c'est l'id du chekpoint que tu a mi la le i sinifie tous les player qui sont dans le dm ( avec la variable DM2 qui s'active quand il s'inscrive )
DM2[i]=0; // remit a 0 pour tout les gens du DM
}
}
return 1;
}
-
Merci ça a l'air de fonctionner ;)
Reste plus que la cmd pour mettre par paire, et de mettre les players dans une voiture, un conducteur l'autre passagé ;)
Merci encore rivoal
-
Reste plus que la cmd pour mettre par paire, et de mettre les players dans une voiture, un conducteur l'autre passagé ;)
Bon :... vu que je m'ennuyait je tait fait le code
new Checkcar;
//en haut
new DM2[MAX_PLAYERS];
new pid;
// OnPlayerCommandText
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext,"/DMcar2", true)==0){
pid = strtok(cmdtext, idx);
if (!strlen(tmpp))
{
SendClientMessage(playerid, COLOR_GREEN, "USAGE: /DMcar2 [playerid du copain]");
return 1;
}
if (!(IsPlayerConnected(pid)))
{
SendClientMessage(playerid, COLOR_RED, "Joueur pas conecter !");
return 1;
}
if(IsPlayerInAnyVehicle(playerid)==1){
new playerdm[MAX_PLAYER_NAME];
new PlayerConnecteddm[256];
new carid;
DMcar[playerid] = 2;
Checkcar = SetPlayerCheckpoint(playerid, -2372.9285,-1583.5168,498.7269, 5);
Checkcar = SetPlayerCheckpoint(pid -2372.9285,-1583.5168,498.7269, 5);
GetPlayerName(playerid, playerdm, sizeof(playerdm));
format(PlayerConnecteddm, sizeof(PlayerConnecteddm), "Le player %s et le joueur %s sont entré dans la zone DMcar2, tapez /DMcar2 pour le rejoindre", playerdm,GetPlayerName(pid));
SendClientMessageToAll(COLOR_YELLOW, PlayerConnecteddm);
DM2[playerid]=1;
SendClientMessage(playerid, COLOR_YELLOW, "Trouve toi un partener et commence le DM, un conducteur, un tireur !!");
SendClientMessage(playerid, COLOR_YELLOW, "L'arrivée pour arrêter le DMcar2 est en HAUT du Mont Chililiad");
GameTextForPlayer(playerid, "~r~DM CAR 2~n~Faites vos equipes et combattez !!",9000,6);
SetPlayerInterior(playerid,0);
SendClientMessage(pid COLOR_YELLOW, "Trouve toi un partener et commence le DM, un conducteur, un tireur !!");
SendClientMessage(pid, COLOR_YELLOW, "L'arrivée pour arrêter le DMcar2 est en HAUT du Mont Chililiad");
GameTextForPlayer(pid, "~r~DM CAR 2~n~Faites vos equipes et combattez !!",9000,6);
SetPlayerInterior(pid,0);
SetVehiclePos(GetPlayerVehicleID(playerid), 2685.3147,2602.3281,10.5501);
PutPlayerInVehicle(pid,GetPlayerVehicleID(playerid),1);
GivePlayerWeapon(pid, 29, 9999);
GivePlayerWeapon(pid, 34, 9999);
SetVehicleHealth(carid, 500);
}else if(IsPlayerInAnyVehicle(playerid)==0){
SendClientMessage(playerid, COLOR_RED, "Tu n'est pas en voiture !!!");
}
}
//OnPlayerEnterCheckpoint
public OnPlayerEnterCheckpoint(playerid)
{
if (Checkcar)
{
SendClientMessage(playerid,0xFFFF00AA, "> CheckPoint atteint.");
GameTextForPlayer(playerid,"~r~Bravo vous avez terminer le ~g~DM car 2 ~r~entier !!!", 6000, 3);
DMcar[playerid]= 0;
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(DM2[i] == 1)
{
DisablePlayerCheckpoint(i);//dans ton code c'est l'id du chekpoint que tu a mi la le i sinifie tous les player qui sont dans le dm ( avec la variable DM2 qui s'active quand il s'inscrive )
DM2[i]=0; // remit a 0 pour tout les gens du DM
}
}
return 1;
}
Donc le player est obliger de taper /dmcar2 + id de son copain
Voila si ta a des erreur dit le moi :king
-
Voici la commande, elle compile bien mais ne fonctionne pas :s
if(strcmp(cmdtext,"/DMcar2", true)==0){
new pid, tmpp[256];
new carid;
new texte[256];
new name[MAX_PLAYER_NAME];
format(texte, sizeof(texte), " ", name);
tmpp = strtok(cmdtext, idx);
if(!strlen(tmpp)) {
SendClientMessage(playerid, COLOR_RED, "USAGE: /DMcar2 [playerid]");
return 1;
}
pid = strval(tmpp);
if(!IsPlayerConnected(pid)) {
SendClientMessage(playerid, COLOR_RED, "Ce player n'est pas connecté");
return 1;
}
if(IsPlayerInAnyVehicle(playerid)==1){
DMcar2[playerid] = 1;
Checkcar = SetPlayerCheckpoint(playerid, -2372.9285,-1583.5168,498.7269, 5);
Checkcar = SetPlayerCheckpoint(pid, -2372.9285,-1583.5168,498.7269, 5);
GetPlayerName(playerid, name, sizeof(name));
format(texte, sizeof(texte), " %s et son partener %s sont entrés dans le DMcar2, taez /DMcar2 (ID partener) pour les rejoindre !!", pid, name);
GetPlayerName(pid, name, sizeof(name));
SendClientMessageToAll(COLOR_YELLOW, texte);
SetPlayerInterior(playerid,0);
SetPlayerInterior(pid,0);
SendClientMessage(playerid, COLOR_YELLOW, "Le tireur essaie de tuer les autres pendant que le pilote va n'importe ou !!!");
SendClientMessage(playerid, COLOR_YELLOW, "L'arrivée pour arrêter le DMcar2 est en HAUT du Mont Chililiad");
GameTextForPlayer(playerid, "~r~DM CAR 2~n~Faites vos equipes et combattez !!",9000,6);
SendClientMessage(pid, COLOR_YELLOW, "Le tireur essaie de tuer les autres pendant que le pilote va n'importe ou !!!");
SendClientMessage(pid, COLOR_YELLOW, "L'arrivée pour arrêter le DMcar2 est en HAUT du Mont Chililiad");
GameTextForPlayer(pid, "~r~DM CAR 2~n~Faites vos equipes et combattez !!",9000,6);
SetVehiclePos(GetPlayerVehicleID(playerid), 2685.3147,2602.3281,10.5501);
PutPlayerInVehicle(pid,GetPlayerVehicleID(playerid),1);
GivePlayerWeapon(pid, 29, 9999);
GivePlayerWeapon(pid, 34, 9999);
SetVehicleHealth(carid, 500);
}else if(IsPlayerInAnyVehicle(playerid)==0){
SendClientMessage(playerid, COLOR_RED, "Tu n'est pas en voiture !!!");
}
}
-
Up !!
Pleas ^^
-
triple poste... [english mode : ON]Sorry but it's verry important for me ...[english mode : OFF]
Quelqu'un peut m'aider ??
PS : Je remercie encore rivoal pour m'avoir filer un gros coup de main ;) :laugh
Pleas Pleas Pleas je rame a mort !!!