Advertisement
RiccB

[L'M] VM SYSTEM

Apr 11th, 2018
69
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /////// VM SYSTEM by L'M (Rikko)
  2. new klausimas[MAX_PLAYERS],tats[MAX_PLAYERS], laikoteises[MAX_PLAYERS];
  3. enum VairavimoTeorija
  4. {
  5. vmID,
  6. vKlausimas[200],
  7. vPasirinkimas1[10],
  8. vPasirinkimas2[10],
  9. bool:vAts
  10. }
  11. new vmT[10][VairavimoTeorija]={
  12. {1,"Kuria kelio puse reikia važiuoti?\n \n{ffff00}A :{ffffff} Kaire\n{ffff00}B : {ffffff}Dešine","A","B",false},
  13. {2,"Kada privaloma praleisti neregį?\n \n{ffff00}A :{ffffff} Pėsčiūjų perėjoje\n{ffff00}B : {ffffff}Mosuojant neregio lazdele","A","B",false},
  14. {3,"Ar galima lenkti posukyje?\n \n{ffff00}A :{ffffff} Taip, galima\n{ffff00}B : {ffffff}Ne, negalima","A","B",false},
  15. {4,"Kuris šviesoforo signalas simbolizuoja galima eismą?\n \n{ffff00}A :{ffffff} Mėlynas\n{ffff00}B : {ffffff}Žalias","A","B",false},
  16. {5,"Ką darote pamatę policijos pareigūnus su švyturėliais?\n \n{ffff00}A :{ffffff} Sustoju kelkraštyje\n{ffff00}B : {ffffff}Atsijungiu","A","B",true},
  17. {6,"Pasirinkite teisingą trumpinį.\n \n{ffffff}Kelių eismo taisyklės yra :","KET","NRP",true},
  18. {7,"Kiek varomųjų ratų turi automobilis?\n \n{ffff00}A :{ffffff} 3\n{ffff00}B : {ffffff}2 arba 4","A","B",false},
  19. {8,"Ar turėsite pirmumo teisę išsukdami iš šalutinio kelio į pagrindinį?\n \n{ffff00}A :{ffffff} Ne, neturėsite\n{ffff00}B : {ffffff}Taip, turėsite","A","B",true},
  20. {9,"Ka privalote padaryti prieš užvesdami variklį?\n \n{ffff00}A :{ffffff} Įsitikinti, jog gerai atrodote\n{ffff00}B : {ffffff}Įsitikinti savo saugumo, užsisegti saugos diržus","A","B",false},
  21. {10,"Kas gali atsitikti lenkiant posukyje?\n \n{ffff00}A :{ffffff} Galite nepamatyti iš priekio artėjančio automobilio\n{ffff00}B : {ffffff}Lenkiama tr. priemonė gali jus aptaškyti","A","B",true}};
  22. enum VairavimoVaziavimas
  23. {
  24. Float:vmPosX,
  25. Float:vmPosY,
  26. Float:vmPosZ
  27. }
  28. new vmV[16][VairavimoVaziavimas]={
  29. {-2047.2552,-93.7513,34.8785}, // VM 1
  30. {-2066.6519,-68.4467,34.8790}, // VM 2
  31. {-2143.7053,-67.8679,34.8776}, // VM 3
  32. {-2164.0034,22.2269,34.8751}, // VM 4
  33. {-2144.5884,299.6204,34.8776}, // VM 5
  34. {-2279.5266,322.6248,36.4317}, // VM 6
  35. {-2654.0327,159.7107,3.8843}, // VM 7
  36. {-2708.6313,53.6142,3.8854}, // VM 8
  37. {-2619.9727,-71.7571,3.8046}, // VM 9 -2665.2842,-73.3289,3.8869
  38. {-2606.2100,-173.2784,3.8854}, // VM 10 -2606.2100,-173.2784,3.8854
  39. {-2479.2629,-213.0107,28.2628}, // VM 11
  40. {-2419.7842,-84.3899,34.8790}, // VM 12
  41. {-2284.8525,-72.8111,34.8698}, // VM 13
  42. {-2126.5564,-72.4438,34.8843}, // VM 14
  43. {-2045.4202,-90.3465,34.8773}, // VM 15
  44. {-2047.6315,-84.0612,34.7891}};
  45.  
  46. public OnPlayerEnterRaceCheckpoint(playerid)
  47. {
  48. if(laikoteises[playerid]>0)
  49. {
  50. new id = laikoteises[playerid];
  51. DisablePlayerRaceCheckpoint(playerid);
  52. if(laikoteises[playerid]<= 13) SetPlayerRaceCheckpoint(playerid,0,vmV[id][vmPosX],vmV[id][vmPosY],vmV[id][vmPosZ],vmV[id+1][vmPosX],vmV[id+1][vmPosY],vmV[id+1][vmPosZ],8);
  53. if(laikoteises[playerid]== 14) SetPlayerRaceCheckpoint(playerid,1,vmV[id][vmPosX],vmV[id][vmPosY],vmV[id][vmPosZ],-1,-1,-1,8);
  54. laikoteises[playerid]++;
  55. }
  56. return 1;
  57. }
  58.  
  59. public OnPlayerUpdate(playerid)
  60. {
  61. //VM system
  62. if(klausimas[playerid] == 10)
  63. {
  64. if(tats[playerid]>=8) pinfo[playerid][teorija]=true, SendClientMessage(playerid,0xaaaaaaaa,"[»»] {8470ff}Sėkmingai {aaaaaa}išlaikėte{8470ff} teorijos egzaminą.");
  65. else SendClientMessage(playerid,0xaaaaaaaa,"[»»] {DC143C}Apgailestaujame, tačiau {aaaaaa}neišlaikėte{DC143C} teorijos egzamino.");
  66. //tats[playerid] = 0;
  67. new msg[100];
  68. format(msg,100,"[»»] {8470ff}Teisingai atsakėte į {aaaaaa}%d/10{8470ff} klausimų.",tats[playerid]);
  69. SendClientMessage(playerid,0xaaaaaaaa,msg);
  70. klausimas[playerid] = 0;
  71. }
  72. if(laikoteises[playerid]==16)
  73. {
  74. new veh = GetPlayerVehicleID(playerid);
  75. new Float:vehHP; GetVehicleHealth(veh,vehHP);
  76. if(vehHP < 800) SendClientMessage(playerid,0xaaaaaaaa,"[»»] {DC143C}Apgailestaujame, tačiau {aaaaaa}neišlaikėte{DC143C} vairavimo egzamino.");
  77. else
  78. {
  79. SendClientMessage(playerid,0xaaaaaaaa,"[»»]{8470ff} Sėkmingai {aaaaaa}išlaikėte{8470ff} vairavimo egzaminą. Gavote teises.");
  80. pinfo[playerid][teises]=true;
  81. }
  82. SetPlayerVirtualWorld(playerid,0);
  83. SetPlayerInterior(playerid,0);
  84. DestroyVehicle(veh);
  85. laikoteises[playerid]=-1;
  86. }
  87. return 1;
  88. }
  89.  
  90. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  91. {
  92. switch(dialogid)
  93. {
  94. case 9: // VMdialog-1
  95. {
  96. if(!response) return 0;
  97. switch(listitem)
  98. {
  99. case 0: ShowPlayerDialog(playerid,0,DIALOG_STYLE_LIST,"Vairavimo mokykla","{8470ff} Čia kažką reiks įrašyt...","Išeiti","");
  100.  
  101. case 1:
  102. {
  103. if(pinfo[playerid][teorija] == true) return klaida(playerid,"Jūs jau esate išsilaikęs teorijos egzaminą.");
  104. SendClientMessage(playerid,-1,"Atsakymai B B B B A A B A B A");
  105. tats[playerid]=0;
  106. klausimas[playerid] = 0;
  107. new msg[400],pav[20];
  108. format(msg,400,"{8470ff}%s",vmT[klausimas[playerid]][vKlausimas]);
  109. format(pav,20,"%d/10",vmT[klausimas[playerid]][vmID]);
  110. ShowPlayerDialog(playerid,10,DIALOG_STYLE_MSGBOX,pav,msg,vmT[klausimas[playerid]][vPasirinkimas1],vmT[klausimas[playerid]][vPasirinkimas2]);
  111. }
  112. case 2:
  113. {
  114. if(pinfo[playerid][teises] == true) return klaida(playerid,"Jūs jau esate išsilaikęs vairavimo egzaminą.");
  115. laikoteises[playerid]=1;
  116. new id = laikoteises[playerid];
  117. SetPlayerPos(playerid,vmV[0][vmPosX],vmV[0][vmPosY],vmV[0][vmPosZ]);
  118. new veh = CreateVehicle(541,vmV[0][vmPosX],vmV[0][vmPosY],vmV[0][vmPosZ],359.6827,1,1,10);
  119. SetPlayerInterior(playerid,0);
  120. SetVehicleVirtualWorld(veh,playerid);
  121. SetPlayerVirtualWorld(playerid,playerid);
  122. PutPlayerInVehicle(playerid,veh,0);
  123. SetPlayerRaceCheckpoint(playerid,0,vmV[id][vmPosX],vmV[id][vmPosY],vmV[id][vmPosZ],vmV[id+1][vmPosX],vmV[id+1][vmPosY],vmV[id+1][vmPosZ],8);
  124. }
  125. }
  126. return 1;
  127. }
  128.  
  129. case VMdialog:
  130. {
  131. if(response && vmT[klausimas[playerid]][vAts]==true) tats[playerid]+= 1;
  132. else if(!response && vmT[klausimas[playerid]][vAts]==false) tats[playerid]+= 1;
  133. klausimas[playerid]++;
  134. new msg[400],pav[20];
  135. format(msg,400,"{8470ff}%s",vmT[klausimas[playerid]][vKlausimas]);
  136. format(pav,20,"%d/10",vmT[klausimas[playerid]][vmID]);
  137. if(klausimas[playerid] <= 9) ShowPlayerDialog(playerid,VMdialog,DIALOG_STYLE_MSGBOX,pav,msg,vmT[klausimas[playerid]][vPasirinkimas1],vmT[klausimas[playerid]][vPasirinkimas2]);
  138. return 1;
  139. }
  140. }
  141. return 1;
  142. }
Advertisement
RAW Paste Data Copied
Advertisement