Advertisement
BlooDMasK

SISTEMA CASE ULTIMATO

Sep 24th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 9.80 KB | None | 0 0
  1. //SU ONPLAYERKEYSTATECHANGE CANCELLA TUTTI I KEYSTATE DEL SISTEMA CASA
  2.  
  3. //=======SISTEMA CASA========//
  4.  
  5.         //IN CASA
  6.         if(newkeys & KEY_YES && GetPlayerVirtualWorld(playerid) > 0)
  7.         {
  8.         //==GESTIONE IN CASA==//
  9.             if(!strcmp(hInfo[PlayerInfo[playerid][pVirtual]][hProprietario], GetName(playerid)))
  10.             {
  11.                 new id = IsPlayerNearHomeExt(playerid);
  12.                 if(IsPlayerInRangeOfPoint(playerid, 1.5, hInfo[id][hPosXX], hInfo[id][hPosYY], hInfo[id][hPosZZ])) return ShowPlayerDialog(playerid, DIALOG_GESTIONE_INCASA, DIALOG_STYLE_LIST, "Gestione","Apri/Chiudi\n Vendi","Ok","Esci");
  13.             }
  14.         //==CASSAFORTE==//
  15.             else if(IsPlayerInRangeOfPoint(playerid, 1.5, hInfo[PlayerInfo[playerid][pVirtual]][hCassafortePosX][0], hInfo[PlayerInfo[playerid][pVirtual]][hCassafortePosY][1], hInfo[PlayerInfo[playerid][pVirtual]][hCassafortePosZ][2]))
  16.             {
  17.                 new id = PlayerInfo[playerid][pVirtual];
  18.                 if(hInfo[id][hSvuotabile] == 1)
  19.                 {
  20.                     Soldi[playerid] = Soldi[playerid] + hInfo[id][hCassa];
  21.                     if(hInfo[id][hCassa] == 0)
  22.                     {
  23.                         SCM(playerid, GIALLO, "<<{FF0000}!{FFEE00}>> Cassaforte vuota!");
  24.                         SaveHome(id);
  25.                     }
  26.                     else
  27.                     {
  28.                         ApplyAnimation(playerid, "BOMBER", "BOM_Plant_Loop", 4.0, 1, 0, 0, 0, 0);//ANIMAZIONE PIANTA TRAPANO
  29.                         ApplyAnimation(playerid, "BOMBER", "BOM_Plant_Loop", 4.0, 1, 0, 0, 0, 0);//ANIMAZIONE PIANTA TRAPANO
  30.                         ApplyAnimation(playerid, "BOMBER", "BOM_Plant_Loop", 4.0, 1, 0, 0, 0, 0);//ANIMAZIONE PIANTA TRAPANO
  31.                         SetTimerEx("AnimRacCash", 5000, false, "i", playerid);
  32.                     }
  33.                 }
  34.                 else
  35.                 {
  36.                     new i = GetPlayerVirtualWorld(playerid);
  37.                     if(hInfo[i][hComprato] == 0) return SCM(playerid, ROSSO, ">>Non puoi aprire la cassaforte di una casa in vendita!");
  38.                     if(strcmp(hInfo[i][hProprietario], GetName(playerid)))
  39.                     {
  40.                         switch(hInfo[i][hStatoCassaforte])
  41.                         {
  42.                             case 0: SCM(playerid, ROSSO, ">>La cassaforte non è stata ancora impostata, quindi è vuota!");
  43.                             case 1: ShowPlayerDialog(playerid, DIALOG_AZIONI_CASSAFORTE, DIALOG_STYLE_LIST, "Azioni Cassaforte","Scassina cassaforte\n Inserisci la password","Ok","Esci");
  44.                         }
  45.                     }
  46.                     else
  47.                     {
  48.                         switch(hInfo[i][hStatoCassaforte])
  49.                         {
  50.                             case 0: ShowPlayerDialog(playerid, DIALOG_PASS_CASSAFORTE, DIALOG_STYLE_INPUT, "Configurazione Cassaforte","Imposta una Password per la tua cassaforte!\n La password deve essere composta da numeri e i caratteri compresi tra 4 e 6\n Esempio: 23545","Imposta","Esci");// prima impostazione password
  51.                             case 1: ShowPlayerDialog(playerid, DIALOG_LOGIN_CASSAFORTE, DIALOG_STYLE_INPUT, "Password della Cassaforte","Inserisci la Password della cassaforte!","Invia","Esci");
  52.                         }
  53.                     }
  54.                 }
  55.             }
  56.         }
  57.         //FUORI CASA
  58.         for(new b; b<sizeof(hInfo); b++)
  59.         {
  60.             new strinc[500];
  61.             if(newkeys & KEY_YES && IsPlayerInRangeOfPoint(playerid, 1.5, hInfo[b][hPosX], hInfo[b][hPosY], hInfo[b][hPosZ]))//ACQUISTA/GESTISCI CASA
  62.             {
  63.                 if(hInfo[b][hComprato] == 0)
  64.                 {
  65.                     format(strinc, sizeof(strinc), "Vuoi acquistare questa Casa? Prezzo: %d$", hInfo[b][hPrezzo]);
  66.                     ShowPlayerDialog(playerid, DIALOG_COMPRA_CASA, DIALOG_STYLE_MSGBOX, "Richiesta di Acquisto", strinc,"Compra","Esci");
  67.                 }
  68.                 else if(hInfo[b][hComprato] == 1)
  69.                 {
  70.                     if(strcmp(hInfo[b][hProprietario], GetName(playerid)))
  71.                     {
  72.                         SCM(playerid, ROSSO, ">>Non sei il proprietario della casa!");
  73.                     }
  74.                     else
  75.                     {
  76.                         ShowPlayerDialog(playerid, DIALOG_GESTIONE_CASA, DIALOG_STYLE_LIST, "Gestione","Apri/Chiudi\n Vendi","Ok","Esci");
  77.                     }
  78.                 }
  79.             }
  80.            
  81.             if(newkeys & KEY_SECONDARY_ATTACK && IsPlayerInRangeOfPoint(playerid, 2.0, hInfo[b][hPosX],hInfo[b][hPosY],hInfo[b][hPosZ]))//ENTRA IN CASA
  82.             {
  83.                 if(GetPlayerVirtualWorld(playerid) ==  0)
  84.                 {
  85.                     new id = IsPlayerNearHomeEnt(playerid);
  86.                     switch(hInfo[id][hStato])
  87.                     {
  88.                         case 0:
  89.                         {//Se la casa è chiusa
  90.                             if(strcmp(hInfo[id][hProprietario], GetName(playerid))) return SCM(playerid, GIALLO, "La casa è Chiusa!");//Se il nome del proprietario non corrisponde al nome del player
  91.                             switch(hInfo[id][hInterior]){
  92.                             case 1..27:
  93.                             SetPlayerVirtualWorld(playerid, hInfo[id][hVirtualWorld]);
  94.                             SetPlayerInterior(playerid, hInfo[id][hIntID]);
  95.                             SetPlayerPos(playerid, hInfo[id][hPosXX], hInfo[id][hPosYY], hInfo[id][hPosZZ]);}
  96.                         }
  97.                         case 1://se la casa è aperta
  98.                         {
  99.                             switch(hInfo[id][hInterior]){
  100.                             case 1..27:
  101.                             SetPlayerVirtualWorld(playerid, hInfo[id][hVirtualWorld]);
  102.                             SetPlayerInterior(playerid, hInfo[id][hIntID]);
  103.                             SetPlayerPos(playerid, hInfo[id][hPosXX], hInfo[id][hPosYY], hInfo[id][hPosZZ]);}
  104.                         }
  105.                     }
  106.                     PlayerInfo[playerid][pVirtual] = hInfo[id][hVirtualWorld];
  107.                 }
  108.             }
  109.            
  110.             if(newkeys & KEY_SECONDARY_ATTACK && IsPlayerInRangeOfPoint(playerid, 2.0, hInfo[b][hPosXX],hInfo[b][hPosYY],hInfo[b][hPosZZ]) && GetPlayerVirtualWorld(playerid) == hInfo[b][hVirtualWorld])//GERARDO PUZZA
  111.             {
  112.                 new id = IsPlayerNearHomeExt(playerid);// <-Vede se sei vicino l'uscita e se sei nel virtual world della casa.
  113.                 if(hInfo[id][hInterior] == 1 || hInfo[id][hInterior] == 2 || hInfo[id][hInterior] == 3 || hInfo[id][hInterior] == 4 || hInfo[id][hInterior] == 5 || hInfo[id][hInterior] ==  6 || hInfo[id][hInterior] == 7 || hInfo[id][hInterior] == 8 || hInfo[id][hInterior] == 9 || hInfo[id][hInterior] == 10 ||
  114.                 hInfo[id][hInterior] == 11 || hInfo[id][hInterior] == 12 || hInfo[id][hInterior] == 13 || hInfo[id][hInterior] == 14 || hInfo[id][hInterior] == 15 || hInfo[id][hInterior] == 16 || hInfo[id][hInterior] == 17 || hInfo[id][hInterior] == 18 || hInfo[id][hInterior] == 19 || hInfo[id][hInterior] == 20 ||
  115.                 hInfo[id][hInterior] == 21 || hInfo[id][hInterior] == 22 || hInfo[id][hInterior] == 23 || hInfo[id][hInterior] == 24 || hInfo[id][hInterior] == 25 || hInfo[id][hInterior] == 26 || hInfo[id][hInterior] == 27 || hInfo[id][hInterior] == 28)
  116.                 {
  117.                     PlayerInfo[playerid][pVirtual] = 0;
  118.                     SetPlayerVirtualWorld(playerid, 0);
  119.                     SetPlayerInterior(playerid, 0);
  120.                     SetPlayerPos(playerid, hInfo[id][hPosX], hInfo[id][hPosY], hInfo[id][hPosZ]);
  121.                 }
  122.             }
  123.         }
  124. //========================================================================================================FINE SISTEMA CASE==//
  125.  
  126.  
  127. forward FineAnimazioneTrapano(playerid);
  128. public FineAnimazioneTrapano(playerid)
  129. {
  130.     new string[256], id = PlayerInfo[playerid][pVirtual];
  131.     ClearAnimations(playerid);
  132.     ClearAnimations(playerid);
  133.     TogglePlayerControllable(playerid, 1);
  134.     format(string, sizeof(string), "Trapanando...\n%d%s", hInfo[id][hProgressoCassa],"%");
  135.     LabelProgressoRapinaCassa = CreateDynamic3DTextLabel(string, GIALLO, hInfo[id][hCassafortePosX][3], hInfo[id][hCassafortePosY][3], hInfo[id][hCassafortePosZ][3], 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, id);
  136.     TimerRapinaCasa = SetTimerEx("BarraRapinaCassa", 1000, true, "i", id);
  137. }
  138.  
  139. forward BarraRapinaCassa(id);
  140. public BarraRapinaCassa(id)
  141. {
  142.     new string[500];
  143.     hInfo[id][hCassaSecondi]++;
  144.     if(IsNumberEven(hInfo[id][hCassaSecondi]))
  145.     {
  146.         hInfo[id][hProgressoCassa]++;
  147.         format(string, sizeof(string), "Trapanando...\n%d%s", hInfo[id][hProgressoCassa],"%");
  148.         UpdateDynamic3DTextLabelText(LabelProgressoRapinaCassa, GIALLO, string);
  149.     }
  150.     if(hInfo[id][hCassaSecondi] == 10/*200*/)
  151.     {
  152.         if(hInfo[id][hInterior] == 1) hInfo[id][hCassafortePosRZ][1] = -139.9000;
  153.         if(hInfo[id][hInterior] == 2) hInfo[id][hCassafortePosRZ][1] = -25.00000;
  154.         if(hInfo[id][hInterior] == 3) hInfo[id][hCassafortePosRZ][1] = -85.00000;
  155.         if(hInfo[id][hInterior] == 4) hInfo[id][hCassafortePosRZ][1] = -87.36005;
  156.         if(hInfo[id][hInterior] == 5) hInfo[id][hCassafortePosRZ][1] = -10.68003;
  157.         if(hInfo[id][hInterior] == 6) hInfo[id][hCassafortePosRZ][1] = -273.96014;
  158.         if(hInfo[id][hInterior] == 7) hInfo[id][hCassafortePosRZ][1] = -281.51993;
  159.         if(hInfo[id][hInterior] == 8) hInfo[id][hCassafortePosRZ][1] = -3.05998;
  160.         if(hInfo[id][hInterior] == 9) hInfo[id][hCassafortePosRZ][1] = -0.90001;
  161.         if(hInfo[id][hInterior] == 10) hInfo[id][hCassafortePosRZ][1] = -109.68002;
  162.         if(hInfo[id][hInterior] == 11) hInfo[id][hCassafortePosRZ][1] = 174.54001;
  163.         if(hInfo[id][hInterior] == 12) hInfo[id][hCassafortePosRZ][1] = 77.09993;
  164.         if(hInfo[id][hInterior] == 13) hInfo[id][hCassafortePosRZ][1] = 84.48003;
  165.         if(hInfo[id][hInterior] == 14) hInfo[id][hCassafortePosRZ][1] = -107.69998;
  166.         if(hInfo[id][hInterior] == 15) hInfo[id][hCassafortePosRZ][1] = 73.07996;
  167.         if(hInfo[id][hInterior] == 16) hInfo[id][hCassafortePosRZ][1] = -91.14002;
  168.         if(hInfo[id][hInterior] == 17) hInfo[id][hCassafortePosRZ][1] = -5.55840;
  169.         if(hInfo[id][hInterior] == 18) hInfo[id][hCassafortePosRZ][1] = 77.04003;
  170.         if(hInfo[id][hInterior] == 19) hInfo[id][hCassafortePosRZ][1] = -270.12015;
  171.         if(hInfo[id][hInterior] == 20) hInfo[id][hCassafortePosRZ][1] = 62.64005;
  172.         if(hInfo[id][hInterior] == 21) hInfo[id][hCassafortePosRZ][1] = -0.96002;
  173.         if(hInfo[id][hInterior] == 22) hInfo[id][hCassafortePosRZ][1] = -7.50000;
  174.         if(hInfo[id][hInterior] == 23) hInfo[id][hCassafortePosRZ][1] = -105.89998;
  175.         if(hInfo[id][hInterior] == 24) hInfo[id][hCassafortePosRZ][1] = -13.56000;
  176.         if(hInfo[id][hInterior] == 25) hInfo[id][hCassafortePosRZ][1] = 90.17991;
  177.         if(hInfo[id][hInterior] == 26) hInfo[id][hCassafortePosRZ][1] = -191.81999;
  178.         if(hInfo[id][hInterior] == 27) hInfo[id][hCassafortePosRZ][1] = -90.18003;
  179.         SetDynamicObjectRot(hInfo[id][hCreateDynamicSafe][1], 0, 0, hInfo[id][hCassafortePosRZ][1]);//ruota la porta.
  180.         DestroyDynamicObject(hInfo[id][hCreateDynamicSafe][3]), hInfo[id][hCreated][3] = 0;//distrugge il tastierino
  181.         UpdateDynamic3DTextLabelText(LabelProgressoRapinaCassa, -1, "");//cancella il 3dtext
  182.         hInfo[id][hSvuotabile] = 1;//ti da la possibilità di svuotarla
  183.         hInfo[id][hCassaSecondi] = 0;//tempo = 0
  184.         hInfo[id][hProgressoCassa] = 0;
  185.         KillTimer(TimerRapinaCasa);//ferma il timer
  186.         SaveHome(id);
  187.     }
  188.     return 1;
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement