Jump to content
Autentificarea cu Google și Facebook nu mai este disponibilă. ×

Question

Posted

Problema intalnita (descriere):Deci am un sistem de engine,la acest sistem poti porni vehiculul de pe tasta SHIFT sau tastand /engine,pentru a-l oprii scrii /engine.Eu as vrea sa-l pornesc de pe tasta 2 si sa-l opresc la fel,tot de pe tasta 2.Si mai e ceva.. ma enerveaza ca cateodata motorul nu porneste..asa e de la el.. Eu as vrea sa porneasca mereu..daca ati putea sa stergeti faza cu Motorul nu porneste.
Ero(area / rile) / warning-(ul / urile):nu sunt
Liniile de cod / sursa / script-ul(obligatoriu): http://pastebin.com/ke7dtGgc

7 answers to this question

Recommended Posts

  • 0
Posted

Ca sa pornesti de pe 2, mergi la onplayerkeystatechange si in loc de KEY_JUMP pui KEY_SUBMISSION. 

Si ca sa iti porneasca mereu adaugi asta in locul la ce ai tu acolo:

  1. public EngineTimer(playerid)
  2. {
  3.         new rand = random(2);
  4.  
  5.         if(rand == 0)
  6.         {
  7.         SendClientMessage(playerid, COLOR_GREEN, "{FFFFFF}Motorul a pornit !");
  8.         GameTextForPlayer(playerid, "~w~Motorul a pornit !",1000,3);
  9.         SendClientMessage(playerid, COLOR_GREEN, "{669999}Pentru a opri vehiculul dvs tastati {CC3300}/engine !");
  10.         new vehicleid = GetPlayerVehicleID(playerid);
  11.         Engine[vehicleid] = 1;
  12.         TogglePlayerControllable(playerid, 1);
  13.         }
  14.  
  15.         if(rand == 1)
  16.         {
  17.    
  18.         SendClientMessage(playerid, COLOR_GREEN, "{FFFFFF}Motorul a pornit !");
  19.         GameTextForPlayer(playerid, "~w~Motorul a pornit !",1000,3);
  20.         SendClientMessage(playerid, COLOR_GREEN, "{669999}Pentru a opri vehiculul dvs tastati {CC3300}/engine !");
  21.         new vehicleid = GetPlayerVehicleID(playerid);
  22.         Engine[vehicleid] = 1;
  23.         TogglePlayerControllable(playerid, 1);
  24.         }
  25.  
  26. }
  • 0
Posted (edited)
  1. /* *******************
  2.  ENGINE SYSTEM V1.0
  3.  *******************
  4. Filterscript created by StoNe- ! (do not remove the credits)
  5.  Special thanks to : SA-MP.COM / *********
  6.  Enjoy !
  7. *************************************************************************
  8. */
  9.  
  10. #include <a_samp>
  11.  
  12. #define FILTERSCRIPT
  13.  
  14. #if defined FILTERSCRIPT
  15.  
  16. #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  17.  
  18. #define COLOR_GREEN 0x008000FF
  19.  
  20. #define COLOR_RED 0xFF0000FF
  21.  
  22. #define COLOR_YELLOW 0xFFFF00FF
  23.  
  24. new Engine[MAX_VEHICLES];
  25.  
  26. forward EngineTimer(playerid);
  27.  
  28. public OnFilterScriptInit()
  29. {
  30.         print("ENGINE SYSTEM v1.0 STONE <<-[[---100% LOADED----]]-->>");
  31.         return 1;
  32. }
  33.  
  34. public OnFilterScriptExit()
  35. {
  36.         return 1;
  37. }
  38.  
  39. #endif
  40.  
  41.  
  42. public OnPlayerExitVehicle(playerid, vehicleid)
  43. {
  44.         TogglePlayerControllable(playerid,1);
  45.         return 1;
  46. }
  47. public OnPlayerStateChange(playerid, newstate, oldstate)
  48. {
  49.                         if(newstate == PLAYER_STATE_DRIVER)
  50.                         {
  51.                         new vehicleid = GetPlayerVehicleID(playerid);
  52.                         if(Engine[vehicleid] == 0)
  53.                         {
  54.                         TogglePlayerControllable(playerid, 0);
  55.                         SendClientMessage(playerid, COLOR_GREEN, "{669999}Pentru a porni vehiculul dvs tastati {CC3300}/engine{669999} sau apasati{CC3300} SHIFT ! ");
  56.                         }
  57.                         else if(Engine[vehicleid] == 1)
  58.                         {
  59.                         SendClientMessage(playerid, COLOR_YELLOW, "Motorul porneste...");
  60.                         GameTextForPlayer(playerid, "~w~Motorul porneste...",1000,3);
  61.                         }
  62. }
  63.                         return 1;
  64. }
  65. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  66. {
  67.         new vehicleid = GetPlayerVehicleID(playerid);
  68.         if(IsPlayerInAnyVehicle(playerid))
  69.         {
  70.         if(Engine[vehicleid] == 0)
  71.         {
  72.         if(newkeys & KEY_SECONDARY_ATTACK)
  73.         {
  74.         RemovePlayerFromVehicle(playerid);
  75.         TogglePlayerControllable(playerid, 1);
  76.         }
  77.         else if(newkeys & KEY_SUBMISSION)
  78.         {
  79.         SendClientMessage(playerid, COLOR_GREEN, "{669999}Motorul porneste...");
  80.         GameTextForPlayer(playerid, "~w~Motorul porneste...",1000,3);
  81.         SetTimerEx("EngineTimer", 1000, 0, "i", playerid);
  82.           }
  83.   }
  84.           }
  85.         return 1;
  86.         }
  87.  
  88. public OnRconLoginAttempt(ip[], password[], success)
  89. {
  90.         return 1;
  91. }
  92. public OnPlayerCommandText(playerid, cmdtext[])
  93. {
  94.         dcmd(exitveh, 7, cmdtext);
  95.         dcmd(engine, 6, cmdtext);
  96.         return 0;
  97. }
  98.  
  99. public EngineTimer(playerid)
  100. {
  101.         new rand = random(2);
  102.  
  103.         if(rand == 0)
  104.         {
  105.         SendClientMessage(playerid, COLOR_GREEN, "{FFFFFF}Motorul a pornit !");
  106.         GameTextForPlayer(playerid, "~w~Motorul a pornit !",1000,3);
  107.         SendClientMessage(playerid, COLOR_GREEN, "{669999}Pentru a opri vehiculul dvs tastati {CC3300}/engine !");
  108.         new vehicleid = GetPlayerVehicleID(playerid);
  109.         Engine[vehicleid] = 1;
  110.         TogglePlayerControllable(playerid, 1);
  111.         }
  112.  
  113.         if(rand == 1)
  114.         {
  115.    
  116.         SendClientMessage(playerid, COLOR_GREEN, "{FFFFFF}Motorul a pornit !");
  117.         GameTextForPlayer(playerid, "~w~Motorul a pornit !",1000,3);
  118.         SendClientMessage(playerid, COLOR_GREEN, "{669999}Pentru a opri vehiculul dvs tastati {CC3300}/engine !");
  119.         new vehicleid = GetPlayerVehicleID(playerid);
  120.         Engine[vehicleid] = 1;
  121.         TogglePlayerControllable(playerid, 1);
  122.         }
  123.  
  124. }
  125.  
  126. dcmd_engine(playerid, params[])
  127. {
  128.         #pragma unused params
  129.         new vehicleid = GetPlayerVehicleID(playerid);
  130.         if(Engine[vehicleid] == 0)
  131.         {
  132.         SendClientMessage(playerid, COLOR_GREEN, "{669999}Motorul porneste...");
  133.         GameTextForPlayer(playerid, "~w~Motorul porneste...",1000,3);
  134.         SetTimerEx("EngineTimer", 2000, 0, "i", playerid);
  135.         }
  136.         else if(Engine[vehicleid] == 1)
  137.         {
  138.         Engine[vehicleid] = 0;
  139.         SendClientMessage(playerid, COLOR_RED, "Motorul a fost oprit !");
  140.         SendClientMessage(playerid, COLOR_YELLOW, "Pentru a iesi din vehicul apasa tasta F sau ENTER.");
  141.         SendClientMessage(playerid, COLOR_GREEN, "{669999}Pentru a porni vehiculul dvs tastati {CC3300}/engine{669999} sau apasati{CC3300} SHIFT ! ");
  142.         GameTextForPlayer(playerid, "~w~Motorul a fost oprit !",1000,3);
  143.         TogglePlayerControllable(playerid,0);
  144.         }
  145.         return 1;
  146. }
  147.  
  148. dcmd_exitveh(playerid, params[])
  149. {
  150.         #pragma unused params
  151.         if(IsPlayerInAnyVehicle(playerid))
  152.         {
  153.         RemovePlayerFromVehicle(playerid);
  154.         TogglePlayerControllable(playerid, 1);
  155.         }
  156.         else
  157.         {
  158.         SendClientMessage(playerid, COLOR_RED, "Nu esti in niciun vehicul !");
  159.         }
  160.         return 1;
  161. }
 
 
Inlocuiesti ce ai tu cu ce ti-am dat eu mai sus.
Edited by Alberto.
  • 0
Posted

S-a rezolvat? pot da T/C?

**********************************

Servicii Scripting de calitate:

*********************************

Future Project: ExpertGame

*********************************

  • 0
Posted

Pe scurt, ca sa-ti rezolvi prima problema, la publicul OnPlayerKeyStateChange, in loc de " if(newkeys & KEY_SECONDARY_ATTACK) " vei modifica asa : " if(newkeys & KEY_SUBMISSION) " iar pentru a doua problema sterge prima data : " new rand = random(2); apoi stergi asta :

  1. if(rand == 1)
        {
    SendClientMessage(playerid, COLOR_GREEN, "{1E90FF}Motorul nu a pornit...");
    SendClientMessage(playerid, COLOR_YELLOW, "Incearca din nou !");
        }

si dupa, stergi verificare (if-ul) de acolo, acolada deschisa, acolada inchisa si iti asezi scriptul ca sa nu ai erori .

if(rand == 0)
        {
        SendClientMessage(playerid, COLOR_GREEN, "{FFFFFF}Motorul a pornit !");
        GameTextForPlayer(playerid, "~w~Motorul a pornit !",1000,3);
        SendClientMessage(playerid, COLOR_GREEN, "{669999}Pentru a opri vehiculul dvs tastati {CC3300}/engine !");
        new vehicleid = GetPlayerVehicleID(playerid);
        Engine[vehicleid] = 1;
        TogglePlayerControllable(playerid, 1);
        }

Iar ca sa opresti moturl tot de pe 2 , cauta linia unde opresti masina si in loc de ce KEY_XXX ai acolo, vei pune tot KEY_SUBMISSION , dar s-ar putea sa ai problema ca atunci cand o sa apesi tasta doi, sa porneasca si sa se opreasca masina in acelasi timp .

  • 0
Posted (edited)

Ca să nu aibă problemă care ai spus.o tu ar putea să pună o verificare if(Engine[vehicleid]==0) etc.

Edited by NoNamed
I-am facut omului ce a cerut . Restul banuiesc ca se descurca .

**********************************

Servicii Scripting de calitate:

*********************************

Future Project: ExpertGame

*********************************

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.