Szerző Téma: ATM Rablás  (Megtekintve 441 alkalommal)

Nem elérhető inf

  • 366
    • Profil megtekintése
ATM Rablás
« Dátum: 2014. február 07. - 23:40:08 »
+1 Show voters
Sziasztok!
Találta itt a fórumon egy ATM Rablás scriptet és egy kicsit át alakítottam olyanra hogy a játékost ne fagyassza le rablás közben hanem 1 bizonyos helyen kell maradnia hogy ki tudja teljesen rabolni az atm-et.
Az lenne a kérdésem tõletek hogy hogyan lehetne azt megoldani hogy ne csak egyszer kérdezze le hogy a játékos nem ment ki e az adott helyrõl. Próbáltam OnPlayerUpdate-al de ott nem lehet lekérni a \"Distance\"-t. Vagy van olyan funkció amivel ki lehetne kérni ebbõl a sorból
 
ATMRobbery(playerid,-315.5501,1520.7670,75.3594,2,20);

 
az X (-315.5501) Y (1520.7670) Z (75.3594) és a Distance (2)
Teljes script:
 
#include <a_samp>
#include <zcmd>
#include <fixchars>
new ATMRobberyTimer[MAX_PLAYERS];
new ATMRobTime[MAX_PLAYERS];
new ATMRabol[MAX_PLAYERS];
forward ATMRobberyCD(playerid);
forward ATMRobberyEx(playerid);
forward ATMRobbery(playerid,Float:XPos,Float:YPos,Float:ZPos,Distance,RobTime);
CMD:atmrob(playerid,params[])
{
        ATMRobbery(playerid,-315.5501,1520.7670,75.3594,3,20);
        ATMRabol[playerid]=1;
        return 1;
}
public ATMRobbery(playerid,Float:XPos,Float:YPos,Float:ZPos,Distance,RobTime)
{
        new string[128];
        if(IsPlayerInRangeOfPoint(playerid,Distance,XPos,YPos,ZPos))
        {
                SetPlayerCheckpoint(playerid,XPos,YPos,ZPos,Distance);
                SendClientMessage(playerid,-1,\"{FF7F50}[AtmRobbery]: {90EE90}Elkezdted kirabolni az ATM-et.\");
                format(string,sizeof(string),\"{FF7F50}[AtmRobbery]: {D2691E}%s {00BFFF}elkezdett kirabolni egy ATM-et.\",Name(playerid));
                SendClientMessageToAll(-1,string);
                ATMRobberyTimer[playerid] = SetTimerEx(\"ATMRobberyCD\",1000,true,\"i\",playerid);
                ATMRobTime[playerid]=RobTime;
        }
        else
        {
                SendClientMessage(playerid,-1,\"{FF7F50}[AtmRobbery]: {808000}Nem vagy az ATM közelében.\");
        }
        if(ATMRabol[playerid] == 1)
{
        if(!IsPlayerInRangeOfPoint(playerid,Distance,XPos,YPos,ZPos))
   {
       KillTimer(ATMRobberyTimer[playerid]);
       DisablePlayerCheckpoint(playerid);
       ATMRabol[playerid]=0;
       SendClientMessage(playerid,-1,\"Elhagytad a rablási helyszint ezért megszakadt a rablás!\");
   }
}
        return 1;
}
public ATMRobberyCD(playerid)
{
        new string[128];
        ATMRobTime[playerid]--;
        if(ATMRobTime[playerid]==0)
        {
                KillTimer(ATMRobberyTimer[playerid]);
                DisablePlayerCheckpoint(playerid);
                ATMRabol[playerid]=0;
                ATMRobTime[playerid]=0;
                ATMRobberyEx(playerid);
        }
        else
        {
                format(string, sizeof(string), \"~y~Rablás vége: ~r~%d\",ATMRobTime[playerid]);
                GameTextForPlayer(playerid,string,3000,5);
        }
        return 1;
}
public ATMRobberyEx(playerid)
{
        new string[128],rand = random(40000);
        GivePlayerMoney(playerid,rand);
        format(string,sizeof(string),\"{FF7F50}[AtmRobbery]: {9932CC}A rablás sikeresen elvégezve! {A9A9A9}Bevétel:  {40E0D0}$%d{A9A9A9}.\",rand);
        SendClientMessage(playerid,-1,string);
        format(string,sizeof(string),\"{FF7F50}[AtmRobbery]: {D2691E}%s {00BFFF}sikeresen kirabolt egy ATM-et.\",Name(playerid));
        SendClientMessageToAll(-1,string);
        return 1;
}
stock Name(playerid)
{
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, MAX_PLAYER_NAME);
        return name;
}

 
És ezzel kérdezem le hogy még nem ment e el a játékos a rablási helyszínrõl:
 
if(ATMRabol[playerid] == 1)
{
        if(!IsPlayerInRangeOfPoint(playerid,Distance,XPos,YPos,ZPos))
   {
       KillTimer(ATMRobberyTimer[playerid]);
       DisablePlayerCheckpoint(playerid);
       ATMRabol[playerid]=0;
       SendClientMessage(playerid,-1,\"Elhagytad a rablási helyszint ezért megszakadt a rablás!\");
   }
}

 
Eredeti téma: ATM robbery system
« Utoljára szerkesztve: 2014. február 08. - 09:31:49 írta InFIeL_HuN »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal