GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: madinina972 le 30 Mai 2008, 21:48:12
-
bonjour
je cherche un script pour mettre quelq'un en voiture (que pour les force de l'order police et fbi)
ex
/ev [siege 1-4] [id]
et sa fait
/ev 4 ( il serai mie au 4 siege de la voiture ) [1]
ps: je sui debutant
merci de vos reponse
-
Utilise PutPlayerInVehicle ;)
++
nikko
-
le pb c'est que je c'est peu scripter
moi je cherche juste 1 script
si vou l'aver pouver vous me le donné
merci
-
Tu veu faire quoi en fait ??
Une commande pour mettre un joueur dans un vehicule ?
++
nikko
-
bah niKko regarde son 1er poste :
/ev [sièges 1 a 4] [id]
Le prob c'est qu'il y a des voitures avec que 2 places ^^
-
Ah ui dsl, mais je sais pas si cest possible, car si on fait une commande comme ca, faut trouver un code pour mettre le joueur selectionner dans la voiture DU PREMIER.
DOnc je sais pas si cets possible, aprés, il existe plein de truc que je ne conné pas, donc .. faut touver XD, mais dsl je ne sais pas comment faire.
++
nikko
-
Dans mon GM de deathmatch j'avais fais une commande /dmcar2 [playerid] [coéquipier]
ça fonctionne très bien, avec un putplayerinvehicle ;) tu met 4 pour le dernier chiffre, pour le siège 4, 3 pour le 3ième, etc...
-
Et on met une condition, pour voir quel voiture on utilise, car si cets une 2 place comme le dit staff man, et qu'on le met sur le 4eme siege, bah ca crash.
++
nikko
-
oui, c'est fort possible que ça crash :s Je peut vous donner un bout de mon code /dmcar2, mais il est en mauvais état du fait qu'il sort d'une compile AMX vers pwn ^^
-
Poste le quand meme, on pourra l'examiner, et voir si on peu l'améliorer.
++
nikko
-
Bon bah voila ^^
if(!strcmp(var0, "/DMcar2", true))
{
new var4 = 0, var5[256];
new var6 = 0;
new var7[256];
new var8[24];
new var9[24];
var5 = function910(cmdtext, var1, 32);
if(!strlen(var5))
{
SendClientMessage(playerid, 0xAA3333AA, "USAGE: /DMcar2 [playerid]");
return 1;
}
var4 = strval(var5);
if(IsPlayerInAnyVehicle(playerid) == 1)
{
if(!IsPlayerConnected(var4))
{
SendClientMessage(playerid, 0xAA3333AA, "Ce player n'est pas connecté");
return 1;
}
}
if(!IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid, 0xAA3333AA, "Tu n'est pas en voiture !!!");
return 1;
}
glob45B0[playerid] = 1;
glob45B0[var4] = 1;
glob48D0[playerid] = 1;
glob45AC = SetPlayerCheckpoint(playerid, -2372.9285, -1583.5169, 498.7268, 5.0);
glob45AC = SetPlayerCheckpoint(var4, -2372.9285, -1583.5169, 498.7268, 5.0);
GetPlayerName(playerid, var8, 24);
GetPlayerName(var4, var9, 24);
format(var7, 256, " %s et son partener %s sont entrés dans le DMcar2, tapez /DMcar2 (ID partener) pour les rejoindre !!", var8, var9);
SendClientMessageToAll(0xFFFF00AA, var7);
SetPlayerInterior(playerid, 0);
SetPlayerInterior(var4, 0);
SendClientMessage(playerid, 0xFFFF00AA, "Le tireur essaie de tuer les autres pendant que le pilote va n'importe ou !!!");
SendClientMessage(playerid, 0xFFFF00AA, "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(var4, 0xFFFF00AA, "Le tireur essaie de tuer les autres pendant que le pilote va n'importe ou !!!");
SendClientMessage(var4, 0xFFFF00AA, "L'arrivée pour arrêter le DMcar2 est en HAUT du Mont Chililiad");
GameTextForPlayer(var4, "~r~DM CAR 2~n~Faites vos equipes et combattez !!", 9000, 6);
SetVehiclePos(GetPlayerVehicleID(playerid), 2685.3146, 2602.3281, 10.5501);
PutPlayerInVehicle(var4, GetPlayerVehicleID(playerid), 1);
GivePlayerWeapon(var4, 29, 9999);
GivePlayerWeapon(var4, 34, 9999);
SetVehicleHealth(var6, 900.0);
return 1;
}
bonne lecture ^^
-
Ah ouai! effectivement, cest pas du gateau :happy
++
nikko
-
c koi le 2 c le siege?
-
bah niKko regarde son 1er poste :
/ev [sièges 1 a 4] [id]
Le prob c'est qu'il y a des voitures avec que 2 places ^^
oui mai moi je veut ke ceu pour 4 place
-
oui, passager devant 2 , 3 passager arrière, 4 passager arrière
le 1 c'est le conducteur
-
Ok
mai je tien a dire que c'est possible car j'ai vue sa sur un serveur nommé eventful destiny et yavais le script
-
Au pire tu pourra toujours demander un petit coup de main a l'admin scripteur de ce serveur ;) ça ne coûte rien ^^
-
Utilise PutPlayerInVehicle ;)
++
nikko
rien voir avec le truk ce ke je v dire
comment ta mis cete signature pck moi c sous lien
-
Tu ne peut pas choisir le siege ou iras l'ID...
NV.
-
Si, le serveur où je modère a cette fonction, j'verrais pour avoir les sources :happy
++
Alexandre
-
Ok merci
-
si quelqu'un d'autre a la reponse merci de me la donner
-
Pour mettre une signature tu doit cliquer sur Inserer image et entre img tu met le lien de ton image ;)
Comme ceci:
(http://servers.gtaonline.fr/signature/stats-gtaserver-ip-88.219.172.193-port-7777-lg-fr.gif)
-
bonne nouvelle je vien de faire un script apres des jour et des jour
je le met pour les interéssé ;)
CODE :
if(strcmp(cmd, "/embarquer", true) ==0 || strcmp(cmd, "/em", true) == 0)
{
new suspect;
if(gTeam[playerid] == 2)
{
if(GetDistanceBetweenPlayers(playerid,suspect) < 15)
{
tmp = strtok(cmdtext, idx);
if (!strlen(tmp))
return SendClientMessage(playerid, COLOR_YELLOW, "UTILISATION: /embarquer [playerid] [1/2/3]");
new person = strval(tmp);
tmp = strtok(cmdtext, idx);
if (!strlen(tmp))
return SendClientMessage(playerid, COLOR_YELLOW, "UTILISATION: /embarquer [playerid] [1/2/3]");
if(gTeam[person] == 2)
return SendClientMessage(playerid, COLOR_YELLOW, "Ce joueur est un policier!");
new seat = strval(tmp);
new Float:pos[6];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
GetPlayerPos(person, pos[3], pos[4], pos[5]);
if (floatcmp(floatabs(floatsub(pos[0], pos[3])), 10.0) != -1 &&
floatcmp(floatabs(floatsub(pos[1], pos[4])), 10.0) != -1 &&
floatcmp(floatabs(floatsub(pos[2], pos[5])), 10.0) != -1) return false;
PutPlayerInVehicle(person, GetPlayerVehicleID(playerid), seat);
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Vous êtes trop loin du suspect !");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Vous n'êtes pas Policier !");
}
return 1;
}
-
Salut,
Il manque pas mal de chose dans ta commande
re verifie.
j'ai pas fait les test de compilation mais il risque d'avoir des problèmes
a cause des new manquant :)
=====
EDIT
=====
voila les erreurs
error 017: undefined symbol "GetDistanceBetweenPlayers"
error 017: undefined symbol "tmp"
error 017: undefined symbol "tmp"
error 017: undefined symbol "tmp"
error 017: undefined symbol "tmp"
error 017: undefined symbol "tmp"
error 017: undefined symbol "tmp"
warning 203: symbol is never used: "suspect"
================================
Correction des erreurs manquant
================================
1) Ajoutez le forward
forward GetDistanceBetweenPlayers(playerid,playerid2);
Ajoutez ceci en haut avec vos autre Public
public GetDistanceBetweenPlayers(playerid,playerid2) {
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
new Float:dis;
if (!IsPlayerConnected(playerid) || !IsPlayerConnected(playerid2)) {
return -1;
}
GetPlayerPos(playerid,x1,y1,z1);
GetPlayerPos(playerid2,x2,y2,z2);
dis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
return floatround(dis);
}
et n'oubliez pas d'ajouter le le
tmp[256];
si vous ne l'avez pas dans votre commande
Cordialement,
-
Ok merci
mai j'ai oublié de dire que moi c'est dans mon gm (godfather) j'ai mis le code et 0 erreur ;)
-
Cest quand meme stilé cette commande :)
++
nikko
-
oui
et inbox pour info j'ai rien rejouté de se que tu ma dis et sa marche ;)
mai merci quand meme
-
Ok regarde mieux ton script c'est obliger que le code que j'ai donner y soit sur le tien
peut etre pas pareil mais presque.
Cordialement,
-
ah oui effectivement
;)