GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: 3klips le 26 Février 2008, 23:20:01
-
Hello hello All !
Bon voila je vous explique se que je cherche à faire:
Un lapin (infernus) est pris en chasse par 4 chasseurs(tank) Ouai bon sa, sa va ^^.
J'ai fait un petit emplacement avec des grillage pour pas qu'il sorte ses pa sa le probleme j'en vien au faite.
une persone tape /lapin
MsgToAll => TOTO s'est inscrit au jeux du lapin 1/5
Une 2eme persone => TATA s'est inscrit au jeux du lapin 2/5
....
Et puis quand un admin fait /Start POUF ! il sont tous téléporter dans la foret et la chasse commence !
Autrement dit téléporter seulment seux inscrit
ps: j'aimerai aussi que les cmd de téléportation ne soit pas possible =S.
Comment faire ?
Merci de votre aide =)
PS:je devient grave =/ j'ai carément fait f5 pour poster XD
-
Alors déjà si tu ne veut pas de commande de téléportation... Lol tes joueurs vont pas allés bien loin...
Sinon tu doit Faire un système qui bloque les inscription au delà de 5 personnes, pas bien compliqué, un new lapin[MAX_PLAYERS] au début de ton script avec dans la commande /lapin des
if(lapin[playerid] = 0) // pour si aucun player n'est connecté
{
// tu ne met rien, puisque rien ne se passe
}
if(lapin[playerid] = 1)//Si un player s'est inscrit
{
action (message + 1/5) // pour ton système de" *** s'est connecté", tu regarde comment c'est fait au niveau du OnPlayerConnect (tu devrai trouver un GetPlayerName ou quelque chose du genre)
}
if(lapin[playerid] = 2)
{
action
}
if(lapin[playerid] = 3)
{
action
}
if(lapin[playerid] = 4)
{
action
}
if(lapin[playerid] = 5)
{
action
}
Après tu fait une commande Admin
/start
qui aura a peut près tout ça dedans
new carid;
if(lapin[playerid] = 5){
PutPlayerInVéhicle(playerid, carid);
if(lapin[playerid] = 1)//Si un le player est le 1er inscrit
{
C'est lui le lapin, donc SetPlayerInVehicle(playerid, carid);
SendCLientMessage(playerid, COLOR_GREEN, "C'est toi le lapin !! Cour vite (enfin roule..)!!");
}
if(lapin[playerid] = 2) // les autre players seront dans les tanks
{
action
}
if(lapin[playerid] = 3)
{
action
}
if(lapin[playerid] = 4)
{
action
}
if(lapin[playerid] = 5)
{
action
}
Après cherche un peut ;)
-
Merci beaucoup MaN, tu m'aide éneormément :D
EDIT: :
Vous pouvez un peu me corriger?
/*** Lapin***/
if (strcmp("/lapin", cmdtext,true, 0) == 0)
{
if(lapin[playerid] = 0) // pour si aucun player n'est connecté
{
// tu ne met rien, puisque rien ne se passe
}
if(lapin[playerid] = 1)//Si un player s'est inscrit
{
SendPlayerMessageToAll(playerid, "1/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
if(lapin[playerid] = 2)
{
SendPlayerMessageToAll(playerid, "2/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
if(lapin[playerid] = 3)
{
SendPlayerMessageToAll(playerid, "3/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
if(lapin[playerid] = 4)
{
SendPlayerMessageToAll(playerid, "4/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
if(lapin[playerid] = 5)
{
SendPlayerMessageToAll(playerid, "5/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
return 1;
}
if (strcmp("/lstart", cmdtext,true, 0) == 0)
{
if(lapin[playerid] = 0) // pour si aucun player n'est connecté
{
// tu ne met rien, puisque rien ne se passe
}
if(lapin[playerid] = 1)//Si un le player est le 1er inscrit
{
SendClientMessage(playerid, COLOR_GREEN, "C'est toi le lapin !! Cour vite (enfin roule..)!!");
PutPlayerInVehicle(playerid, vlapin);
SetVehicleHealth(vlapin, 5000);
}
if(lapin[playerid] = 2) // les autre players seront dans les tanks
{
SendClientMessage(playerid, COLOR_GREEN, "Tu es un chasseur, attrape-moi le lapin!!");
PutPlayerInVehicle(playerid, tank1);
}
if(lapin[playerid] = 3)
SendClientMessage(playerid, COLOR_GREEN, "Tu es un chasseur, attrape-moi le lapin!!");
PutPlayerInVehicle(playerid, tank2);
}
if(lapin[playerid] = 4)
{
SendClientMessage(playerid, COLOR_GREEN, "Tu es un chasseur, attrape-moi le lapin!!");
PutPlayerInVehicle(playerid, tank3);
}
if(lapin[playerid] = 5)
{
SendClientMessage(playerid, COLOR_GREEN, "Tu es un chasseur, attrape-moi le lapin!!");
PutPlayerInVehicle(playerid, tank4);
}
return 1;
}
-
Alors déjà si tu ne veut pas de commande de téléportation... Lol tes joueurs vont pas allés bien loin...
Sinon tu doit Faire un système qui bloque les inscription au delà de 5 personnes, pas bien compliqué, un new lapin[MAX_PLAYERS] au début de ton script avec dans la commande /lapin des
if(lapin[playerid] = 0) // pour si aucun player n'est connecté
{
// tu ne met rien, puisque rien ne se passe
}
if(lapin[playerid] = 1)//Si un player s'est inscrit
{
action (message + 1/5) // pour ton système de" *** s'est connecté", tu regarde comment c'est fait au niveau du OnPlayerConnect (tu devrai trouver un GetPlayerName ou quelque chose du genre)
}
if(lapin[playerid] = 2)
{
action
}
if(lapin[playerid] = 3)
{
action
}
if(lapin[playerid] = 4)
{
action
}
if(lapin[playerid] = 5)
{
action
}
Après tu fait une commande Admin
/start
qui aura a peut près tout ça dedans
new carid;
if(lapin[playerid] = 5){
PutPlayerInVéhicle(playerid, carid);
if(lapin[playerid] = 1)//Si un le player est le 1er inscrit
{
C'est lui le lapin, donc SetPlayerInVehicle(playerid, carid);
SendCLientMessage(playerid, COLOR_GREEN, "C'est toi le lapin !! Cour vite (enfin roule..)!!");
}
if(lapin[playerid] = 2) // les autre players seront dans les tanks
{
action
}
if(lapin[playerid] = 3)
{
action
}
if(lapin[playerid] = 4)
{
action
}
if(lapin[playerid] = 5)
{
action
}
Après cherche un peut ;)
Utilise la fonction Code pas possible sa ! >:(
Image :
(http://nsa01.casimages.com/img/2008/02/27/0802271113392459195.png)
-
Ok ok ... Le principal c'est qu'il est compris
-
Rioval je sais que se n'est pas mon role de t'avertir ni quoi que se sois, mais ses loin d'etre le premier poste ou tu répond pour rien.
Alor dit lui gentillment StaffMaN tu peux utiliser la fonction code stp, merci. Tu vois s'est pas dure.
Bon maintenant si on se concenterai sur le sujet du topic ?
Merci de m'aidé a coriger mon bout de cod 16 waring :s.
-
tu peut nous montrer de quels warnings il s'agit s'te plait ^^
-
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(955) : warning 211: possibly unintended assignment
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(959) : warning 211: possibly unintended assignment
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(963) : warning 211: possibly unintended assignment
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(967) : warning 211: possibly unintended assignment
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(971) : warning 211: possibly unintended assignment
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(975) : warning 211: possibly unintended assignment
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(985) : warning 211: possibly unintended assignment
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(989) : warning 211: possibly unintended assignment
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(992) : warning 202: number of arguments does not match definition
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(995) : warning 211: possibly unintended assignment
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(998) : warning 202: number of arguments does not match definition
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(1000) : warning 211: possibly unintended assignment
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(1002) : warning 202: number of arguments does not match definition
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(1004) : warning 217: loose indentation
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(1004) : warning 211: possibly unintended assignment
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(1007) : warning 202: number of arguments does not match definition
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(1009) : warning 211: possibly unintended assignment
\\Xpsp2-df5a28e65\shareddocs\pawno\general.pwn(1012) : warning 202: number of arguments does not match definition
-
A oui c'est vrai excuse, dans tes if(lapin[playerid] = nombre){ tu doit mettre deux égales
f(lapin[playerid] == nombre){
-
Ok merci je test, je vous tiens au courent.
EDIT: Voila quand je fait /lapin rien ne se passe et toute les commande que j'ai faite en dessou ne marche pas non plus :s
D'où viens mon erreur?
if (strcmp("/lapin", cmdtext,true, 0) == 0)
{
if(lapin[playerid] == 1)//Si un player s'est inscrit
{
SendPlayerMessageToAll(COLOR_BLUE, "1/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
if(lapin[playerid] == 2)
{
SendPlayerMessageToAll(COLOR_BLUE, "2/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
if(lapin[playerid] == 3)
{
SendPlayerMessageToAll(COLOR_BLUE, "3/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
if(lapin[playerid] == 4)
{
SendPlayerMessageToAll(COLOR_BLUE, "4/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
if(lapin[playerid] == 5)
{
SendPlayerMessageToAll(COLOR_BLUE, "5/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
return 1;
}
if (strcmp("/lstart", cmdtext,true, 0) == 0)
{
if(lapin[playerid] == 1)//Si un le player est le 1er inscrit
{
SendClientMessageToAll(COLOR_BLUE, "FUIS !!");
PutPlayerInVehicle(playerid, vlapin, 0);
}
if(lapin[playerid] == 2) // les autre players seront dans les tanks
{
SendClientMessageToAll(COLOR_BLUE, "Tu est un chasseur, attrape le lapin");
PutPlayerInVehicle(playerid, tank1, 0);
}
if(lapin[playerid] == 3)
{
SendClientMessageToAll(COLOR_BLUE, "Tu est un chasseur, attrape le lapin");
PutPlayerInVehicle(playerid, tank2, 0);
}
if(lapin[playerid] == 4)
{
SendClientMessageToAll(COLOR_BLUE, "Tu est un chasseur, attrape le lapin");
PutPlayerInVehicle(playerid, tank3, 0);
}
if(lapin[playerid] == 5)
{
SendClientMessageToAll(COLOR_BLUE, "Tu est un chasseur, attrape le lapin");
PutPlayerInVehicle(playerid, tank4, 0);
}
return 1;
}
-
Je suis assé impatiant donc UP!! svp =)
-
^^ Du calme ;)
Bon alors, Il n'y a plus d'erreurs du tout ??
Je suis en train de corriger tes erreurs
-
Non, aucune erreur, à oui chose p-e bien de faire remarqué, si je mets se bout de code au dessu des autre commandes que j'ai fait, celle du bas ne fonctione plus non plus.
Pourtant j'ai bien rajouter le return 0; } tout en bas.
-
Ba déja pour éviter que toutes tes commandes soient pénalisées, position le script tout en bas des autres commandes.
Sinon, en haut de ton script, vérifie si tu as bien new lapin[MAX_PLAYERS];
Après ba tu met ça, j'ais modifié quelques petits trucs :
if (strcmp("/lapin", cmdtext,true) == 0)
{
if(lapin[playerid] == 1)//Si un player s'est inscrit
{
SendPlayerMessageToAll(COLOR_BLUE, "1/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
if(lapin[playerid] == 2)
{
SendPlayerMessageToAll(COLOR_BLUE, "2/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
if(lapin[playerid] == 3)
{
SendPlayerMessageToAll(COLOR_BLUE, "3/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
if(lapin[playerid] == 4)
{
SendPlayerMessageToAll(COLOR_BLUE, "4/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
if(lapin[playerid] == 5)
{
SendPlayerMessageToAll(COLOR_BLUE, "5/5 Inscrit au jeux du lapin => /lapin pour t'inscrire");
}
if (strcmp("/lstart", cmdtext,true) == 0)
{
if(lapin[playerid] == 1)//Si un le player est le 1er inscrit
{
new vlapin;
SendClientMessage(playerid, COLOR_BLUE, "FUIS !!");
PutPlayerInVehicle(playerid, vlapin, 0);
}
if(lapin[playerid] == 2) // les autre players seront dans les tanks
{
new tank1;
SendClientMessageToAll(COLOR_BLUE, "Tu est un chasseur, attrape le lapin");
PutPlayerInVehicle(carid, tank1, 0);
}
if(lapin[playerid] == 3)
{
new tank2;
SendClientMessageToAll(COLOR_BLUE, "Tu est un chasseur, attrape le lapin");
PutPlayerInVehicle(playerid, tank2, 0);
}
if(lapin[playerid] == 4)
{
new tank3;
SendClientMessageToAll(COLOR_BLUE, "Tu est un chasseur, attrape le lapin");
PutPlayerInVehicle(playerid, tank3, 0);
}
if(lapin[playerid] == 5)
{
new tank4;
SendClientMessageToAll(COLOR_BLUE, "Tu est un chasseur, attrape le lapin");
PutPlayerInVehicle(playerid, tank4, 0);
}
}
}
}
return 1;
}
Si ça ne fonctionne toujours pasn faudra que je chercher un peut plus ou ça peut mal fonctionner
Mais déjà, tu doit définir les new tank et le new vlapin, car sinon il n'y aura aucun véhicules qui apparaitrons.
-
Rioval je sais que se n'est pas mon role de t'avertir ni quoi que se sois, mais ses loin d'etre le premier poste ou tu répond pour rien.
Alor dit lui gentillment StaffMaN tu peux utiliser la fonction code stp, merci. Tu vois s'est pas dure.
Bon maintenant si on se concenterai sur le sujet du topic ?
Merci de m'aidé a coriger mon bout de cod 16 waring :s.
Il t'as dis ça uniquement pour ton bien. T'as pas envie de te prendre un aver je paris...
Son poste est très utile.
-
Ok Ok .. C'est bon..
Et si on en revenait à mon problème?
Merci