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

Titre: Problème de localisation ?
Posté 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"1000true"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 0sizeof(SBizzInfo); h++)
{
    new Float:xFloat:yFloat:z;
 
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(SBizzInfo[h][sbProducts] <= 0)
{
    if(GetPlayerPos(playeridxyz) != IsAtFuelStation(playerid))
    {
StopRefueling(playerid);
}
}
else
{
    new FloatfuelP;
fuelP 0.02;
Vehicle[GetPlayerVehicleID(playerid)][Fuel] += fuelP;
Vehicle[GetPlayerVehicleID(playerid)][OldFuel] ++;
SBizzInfo[h][sbProducts] --;
}
}
}
return 1;
}

>

Merci beaucoup pour votre éventuelle aide !

Vincent.

Titre: Re : Problème de localisation ?
Posté par: chneubeul le 03 Novembre 2010, 13:03:03
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..
Titre: Re : Problème de localisation ?
Posté par: vardanega le 03 Novembre 2010, 18:20:07
Voila problème résolue ! merci beaucoup pour votre aide !


Vincent