GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: vardanega le 02 Novembre 2010, 20:07:13
-
Bon,jour/Bonsoir, j'ai actuellement un petit système de SBizz modifié pour mon serveur je voudrais que quand un joueur et sur un pickup d'un SBizz et qui prend de l'essence ca retire les produits que du SBizz ou il ce trouve car actuellement sa retire les produits a tout les SBizz !
Voici mes codes:
<?php
if(strcmp(cmdtext, "/refuel", true) == 0)
{
if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
{
if(IsAtFuelStation(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(Speed[playerid][Refueling] == 0)
{
if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessage(playerid,COLOR_ADMIN,"Ce vehicule n'a pas de reservoir !");
if(Vehicle[vehicleid][Fuel] >= 100)
{
SendClientMessage(playerid,COLOR_ADMIN,"Votre réservoir et déja plein !");
}
else
{
Vehicle[GetPlayerVehicleID(playerid)][OldFuel] = 0;
Speed[playerid][Refueling] = 1;
Speed[playerid][ReFuelTimer] = SetTimerEx("ReFill", 1000, true, "i", playerid);
}
}
else
{
SendClientMessage(playerid,COLOR_ADMIN,"Votre véhicule et déja en cours de remplissage !");
return 1;
}
}
else
{
SendClientMessage(playerid,COLOR_ADMIN,"Vous n'ete pas dans une station essence !");
return 1;
}
}
else
{
SendClientMessage(playerid,COLOR_ADMIN,"Vous n'ete pas dans un vehicule !");
return 1;
}
return 1;
}
public ReFill(playerid)
{
for(new h = 0; h < sizeof(SBizzInfo); h++)
{
new Float:x, Float:y, Float:z;
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(SBizzInfo[h][sbProducts] <= 0)
{
if(GetPlayerPos(playerid, x, y, z) != IsAtFuelStation(playerid))
{
StopRefueling(playerid);
}
}
else
{
new Float: fuelP;
fuelP = 0.02;
Vehicle[GetPlayerVehicleID(playerid)][Fuel] += fuelP;
Vehicle[GetPlayerVehicleID(playerid)][OldFuel] ++;
SBizzInfo[h][sbProducts] --;
}
}
}
return 1;
}
>
Merci beaucoup pour votre éventuelle aide !
Vincent.
-
Salut, :) Il faut que tu trie ta boucle sinon elle va prendre pour tous les biz :)
Utilise IsPlayerInRangeOfPoint(playerid, BizzEntranceX, Y, Z ..
Je sais pas comment tu as écris tes variables.
Comme ça tes biz seront trié et le h comprendra un seul biz.
A+ Sam..
-
Voila problème résolue ! merci beaucoup pour votre aide !
Vincent