GTAOnline.net
IV : Multiplayer (iv:mp) => Scripting IV:MP [Squirrel center] => Discussion démarrée par: equipier_sas le 17 Août 2013, 12:34:46
-
Salut a tous j'espère que vous saurez me venir en aide.
Je travaille actuellement sur un script de faction SWAT (je n'ai pas encore instauré les factions je ne sais pas faire, et les topics présents n'ont pas su résoudre mes problèmes ^^)
et j'aimerais que quand le joueur quitte son service, il récupère son ped model ou ses vêtements d'avant le service...
Je bloque complètement, voilà ce que j'ai fais pour le moment :
function onPlayerCommand(playerid, command)
{
local cmd = split(command, " ");
if(cmd[0] == "/service")
{
local pos = getPlayerCoordinates(playerid);
local rayon = 3;
if(getDistanceBetweenPoints3D(93.514893, 1212.680786, 14.737936,pos[0],pos[1],pos[2]) <= 3)// comico3
{
setPlayerModel(playerid, 190);
givePlayerWeapon(playerid, 3, 1); // Couteau
givePlayerWeapon(playerid, 7, 200); // Pistolet
givePlayerWeapon(playerid, 4, 7); // Grenades
givePlayerWeapon(playerid, 15, 700); // M4
sendPlayerMessage(playerid, "Tu es en service", Green);
return 1;
}
else
{
sendPlayerMessage(playerid, "Tu n'es pas au vestiaire", Red);
}
return 1;
}
if(cmd[0] == "/servicestop")
{
local pos = getPlayerCoordinates(playerid);
local rayon = 3;
if(getDistanceBetweenPoints3D(93.514893, 1212.680786, 14.737936,pos[0],pos[1],pos[2]) <= 3)// comico3
{
sendPlayerMessage(playerid, "Tu n'es plus en service", Green);
setPlayerModel(playerid, 0);
removePlayerWeapon(playerid, 3, 1); // Couteau
removePlayerWeapon(playerid, 7, 200); // Pistolet
removePlayerWeapon(playerid, 4, 7); // Grenades
removePlayerWeapon(playerid, 15, 700); // M4
return 1;
}
else
{
sendPlayerMessage(playerid, "Tu n'es pas au vestiaire", Red);
}
return 1;
{
return 0;
}
addEvent("playerCommand", onPlayerCommand);
Si je pouvais avoir en bonus un petit tuto ou explication, ou encore mieu le code pour instaurer des factions je vous en serais très reconnaissant.
Merci d'avance :biggrin:
Equipier_sas
-
Salut,
Il faut que tu stockes l'id du skin et des vêtements dans des variables quand tu passes en service, et quand tu arrêtes le service, tu redonnes au joueur le skin/les vêtements qui sont dans ces variables.
Par contre il te faudra un tableau, je crois me rappeler qu'il y a un tuto ici, sinon regarde dans la partie SA:MP, le principe est le même :wink:
-
J'ai regarder le tuto des tables, sa parrait compliquer mais je pense que j'ai compris, seulement je me demande comment appeler la variable dans laquelle est stocker le Ped model.
je l'appel de cette façon :
local playerData = {};
function onPlayerConnect(playerid)
{
playerData[playerid] <- {};
playerData[playerid].var1 <- 1;//sauvegarde ped model
playerData[playerid].var2 <- 2;
}
addEvent("playerConnect", onPlayerConnect);
function onPlayerCommand(playerid, command)
{
local cmd = split(command, " ");
local Faction = array(getPlayerSlots(), 0);
local modelid = getPlayerModel(playerid);
if(cmd[0] == "/service")
{
local pos = getPlayerCoordinates(playerid);
local rayon = 3;
if(getDistanceBetweenPoints3D(93.514893, 1212.680786, 14.737936,pos[0],pos[1],pos[2]) <= 3)// Concessionnaire 1
{
modelid = playerData[playerid].var2 <- 1;
setPlayerModel(playerid, 190);
givePlayerWeapon(playerid, 3, 1); // Couteau
givePlayerWeapon(playerid, 7, 200); // Pistolet
givePlayerWeapon(playerid, 4, 7); // Grenades
givePlayerWeapon(playerid, 15, 700); // M4
sendPlayerMessage(playerid, "Tu es en service", Green);
return 1;
}
else
{
sendPlayerMessage(playerid, "Tu n'es pas au vestiaire", Red);
}
return 1;
}
if(cmd[0] == "/servicestop")
{
local pos = getPlayerCoordinates(playerid);
local rayon = 3;
if(getDistanceBetweenPoints3D(93.514893, 1212.680786, 14.737936,pos[0],pos[1],pos[2]) <= 3)// Concessionnaire 1
{
sendPlayerMessage(playerid, "Tu n'es plus en service", Green);
setPlayerModel(playerid, playerData[playerid].var2);
removePlayerWeapon(playerid, 3, 1); // Couteau
removePlayerWeapon(playerid, 7, 200); // Pistolet
removePlayerWeapon(playerid, 4, 7); // Grenades
removePlayerWeapon(playerid, 15, 700); // M4
return 1;
}
else
{
sendPlayerMessage(playerid, "Tu n'es pas au vestiaire", Red);
}
return 1;
}
addEvent("playerCommand", onPlayerCommand);
Sa ne fonctionne pas, je me doute que j'ai mal fais quelque chose..