Szerző Téma: Mikor indul a motor miert nem fagyassza meg addig a jarmuvet amig beindul?  (Megtekintve 1137 alkalommal)

0 Show voters
if((newkeys & KEY_SUBMISSION) && !(oldkeys & KEY_SUBMISSION))
{
    SetTimerEx(\"cpb\",3000,false,\"i\",playerid);
    GameTextForPlayer(playerid,\"Motor inditása\",3000,6);
    if(IsPlayerInAnyVehicle(playerid))
    {
       if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
       {
                GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
      SetVehicleParamsEx(vehicleid, 1, 1, alarm, doors, bonnet, boot, objective);
         }
    }
         }
    return 1;
}
forward cpb(playerid);
public cpb(playerid)
{
       TogglePlayerControllable(playerid,1);
       GameTextForPlayer(playerid,\"Motor beinditva\",3000,6);
        return 1;
}
« Utoljára szerkesztve: 2015. augusztus 26. - 11:16:00 írta Szabi9 »

Mikor indul a motor miert nem fagyassza meg addig a jarmuvet amig beindul?
« Válasz #1 Dátum: 2015. augusztus 22. - 17:11:19 »
0 Show voters
if((newkeys & KEY_SUBMISSION) && !(oldkeys & KEY_SUBMISSION))
Szerintem ez problem mert a kettő kiüti egymást.
Amikor indítod a kocsit azt a timerbe kéne rakni.

Nem elérhető whadez

  • 719
  • DEFEATER
    • Profil megtekintése
Mikor indul a motor miert nem fagyassza meg addig a jarmuvet amig beindul?
« Válasz #2 Dátum: 2015. augusztus 22. - 17:18:33 »
0 Show voters
Rosszul használtad a Timert, tessék kijavítottam, így biztosan működni fog.  :wave:
 

/*
--- Ezek hátha segítenek a későbbiek folyamán ---
#define HOLDING(%0) ((newkeys & (%0)) == (%0)) // Lenyomva tartja
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) // Megnyomta
#define RELEASED(%0) (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0))) // Elengedte
(Példa.: if(HOLDING(KEY_YES)) return true;)
--- Egyszerre több gomb lenyomása ---
(Példa.: if(HOLDING(KEY_FIRE) && HOLDING(KEY_YES)) return true;)
*/
if((newkeys & KEY_SUBMISSION) && !(oldkeys & KEY_SUBMISSION))
{
if(/*!IsPlayerInAnyVehicle(playerid) || */GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
return true;
// Ide majd lekérdezés hogy megy-e a motor, és az alapján indíjjjja el a tájmert!
SetTimerEx(\"cpb\",3000,false,\"i\",playerid);
GameTextForPlayer(playerid,\"Motor inditása...\",3000,6);
return 1;
}
forward cpb(playerid);
public cpb(playerid)
{
    // TogglePlayerControllable(playerid,1); ## Fölösleges ez ide...
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
switch(engine)
{
case 0: // Ha nem megy
{
   SetVehicleParamsEx(vehicleid, 1, 1, alarm, doors, bonnet, boot, objective);
   GameTextForPlayer(playerid,\"Motor beinditva\",3000,6);
}
}
    return 1;
}
« Utoljára szerkesztve: 2015. augusztus 22. - 17:21:45 írta WHADEZ »

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Mikor indul a motor miert nem fagyassza meg addig a jarmuvet amig beindul?
« Válasz #3 Dátum: 2015. augusztus 23. - 21:44:44 »
0 Show voters
Idézetet írta: Szabi9 date=1440240960\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57365\" data-ipsquote-contentclass=\"forums_Topic

if((newkeys & KEY_SUBMISSION) && !(oldkeys & KEY_SUBMISSION))
{
    SetTimerEx(\"cpb\",3000,false,\"i\",playerid);
    GameTextForPlayer(playerid,\"Motor inditása\",3000,6);
    if(IsPlayerInAnyVehicle(playerid))
    {
       if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
       {
                GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
      SetVehicleParamsEx(vehicleid, 1, 1, alarm, doors, bonnet, boot, objective);
         }
    }
         }
    return 1;
}
forward cpb(playerid);
public cpb(playerid)
{
       TogglePlayerControllable(playerid,1);
       GameTextForPlayer(playerid,\"Motor beinditva\",3000,6);
        return 1;
}

 

mert nincs benne a \"fagyasztás\" funckiója...
 

if((newkeys & KEY_SUBMISSION) && !(oldkeys & KEY_SUBMISSION))
Szerintem ez problem mert a kettő kiüti egymást.
Amikor indítod a kocsit azt a timerbe kéne rakni.
 
[/quote]
miért is üti egymást?
egyiknél newkeys másiknál oldkeys van
 

Rosszul használtad a Timert, tessék kijavítottam, így biztosan működni fog.  :wave:
 

/*
--- Ezek hátha segítenek a későbbiek folyamán ---
#define HOLDING(%0) ((newkeys & (%0)) == (%0)) // Lenyomva tartja
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) // Megnyomta
#define RELEASED(%0) (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0))) // Elengedte
(Példa.: if(HOLDING(KEY_YES)) return true;)
--- Egyszerre több gomb lenyomása ---
(Példa.: if(HOLDING(KEY_FIRE) && HOLDING(KEY_YES)) return true;)
*/
if((newkeys & KEY_SUBMISSION) && !(oldkeys & KEY_SUBMISSION))
{
if(/*!IsPlayerInAnyVehicle(playerid) || */GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
return true;
// Ide majd lekérdezés hogy megy-e a motor, és az alapján indíjjjja el a tájmert!
SetTimerEx(\"cpb\",3000,false,\"i\",playerid);
GameTextForPlayer(playerid,\"Motor inditása...\",3000,6);
return 1;
}
forward cpb(playerid);
public cpb(playerid)
{
    // TogglePlayerControllable(playerid,1); ## Fölösleges ez ide...
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
switch(engine)
{
case 0: // Ha nem megy
{
   SetVehicleParamsEx(vehicleid, 1, 1, alarm, doors, bonnet, boot, objective);
   GameTextForPlayer(playerid,\"Motor beinditva\",3000,6);
}
}
    return 1;
}

 

[/quote]
soroljam a lehetséges hibákat? :)
Ez már nem a kérdés része, de leírom ha nem gond :)
Én az egészet simán úgy oldanám meg, hogy nem fagyasztanám a játékost, hanem 3 mp múlva indítanám be a motort...
Mi értelme van annak, hogy beindítod a motort és lefagyasztod a játékost? túl van bonyolítva szerintem, de te tudod...
Ajánlom figyelmedbe, hogy ezt simán lehet floodolni és ha akarom akkor 1 mp alatt 200 timert indítok vagy még többet...tehát simán egy beindítás paranccsal lehet elég szépen terhelni a szervert.
A játékos a 3mp timer alatt elhagyhatja a járművet, ha az én megoldásommal élnél. Szóval több dologra kell figyelned, de nem muszáj a játékosra indítani a timert, lehet a járműre is!
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Mikor indul a motor miert nem fagyassza meg addig a jarmuvet amig beindul?
« Válasz #4 Dátum: 2015. augusztus 24. - 14:07:18 »
0 Show voters
Csak ennyi erort adott ki ....
 error 017: undefined symbol \"GetClosestVehicle\"
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19691) : error 017: undefined symbol \"VehicleToPlayer\"
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19734) : warning 217: loose indentation
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19734) : error 029: invalid expression, assumed zero
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19734) : error 017: undefined symbol \"cpb\"
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19735) : error 029: invalid expression, assumed zero
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19735) : error 017: undefined symbol \"cpb\"
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19748) : warning 217: loose indentation
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19750) : warning 225: unreachable code
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19750) : error 029: invalid expression, assumed zero
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19750) : error 017: undefined symbol \"VehicleToPlayer\"
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19752) : error 029: invalid expression, assumed zero
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19752) : error 017: undefined symbol \"VehicleToPlayer\"
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19768) : warning 225: unreachable code
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19768) : error 029: invalid expression, assumed zero
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19768) : error 017: undefined symbol \"GetClosestVehicle\"
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19770) : error 029: invalid expression, assumed zero
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19770) : error 017: undefined symbol \"GetClosestVehicle\"
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19781) : error 017: undefined symbol \"VehicleToPlayer\"
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19800) : warning 225: unreachable code
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19800) : error 029: invalid expression, assumed zero
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19800) : error 017: undefined symbol \"DebugKeys\"
D:\\GTA Sa-Mp Szerver\\gamemodes\\PPC_Trucking.pwn(19847) : error 030: compound statement not closed at the end of file (started at line 19658)
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
18 Errors.

Nem elérhető whadez

  • 719
  • DEFEATER
    • Profil megtekintése
Mikor indul a motor miert nem fagyassza meg addig a jarmuvet amig beindul?
« Válasz #5 Dátum: 2015. augusztus 24. - 14:14:31 »
0 Show voters
Az már a te módodnak a hibája, én nem küldtem neked \'VehicleToPlayer\' függvényt, sőt, még az életembe nem használtam azt, így ez a te hibád, emellett próbálj meg sa-mp.com-ról 0.3.7-es includekra frissíteni, és úgy próbáld meg.
(Az én módomba így van megírva, kezdeti stádiumban, még nem alakítottam át, így eléggé \'rondácska\', de üzemképes)
 

// KeyStateChange
if(HOLDING(KEY_FIRE) && HOLDING(KEY_NO) && IsPlayerInAnyVehicle(playerid) && wAnticheat[playerid][Flood] == 0) // Motor
{
new x = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(x, engine, lights, alarm, doors, bonnet, boot, objective);
// ### Ellenörzés ###
if(CarInfo
  • [isKK] == 0)

   return InfoText(playerid, \"Nincs a slusszkulcs behelyezve a járműbe! (Y Gomb)\");
wAnticheat[playerid][Flood] = 1;
if(IsMotor(playerid))
{
   SetVehicleParamsEx(x, 0, lights, alarm, doors, bonnet, boot, objective);
   wAnticheat[playerid][Flood] = 0;
   Valaki(playerid, \"leállította egy járműnek a motorját\");
}
else if(!IsMotor(playerid) && CarInfo
  • [isKK] != 0)

{
   if(CarInfo
  • [uzemanyag] == 0)

      return SCM(playerid, HEX_ZOLD, \"Kifogyott az üzemanyag a járműből!\");
   Valaki(playerid, \"elforgatott egy slusszkulcsot egy járműben\");
   pInfo[playerid][MotorTimer] = SetTimerEx(\"Motor\", 3000, 0, \"dd\", playerid, 1);
}
return true;
}
// Motor függvény
fuggveny Motor(playerid, type)
{
new x = GetPlayerVehicleID(playerid);
switch(type)
{
case 1: // Beindítás
{
   if(CarInfo
  • [uzemanyag] == 0)

      return 1;
   GetVehicleParamsEx(x, engine, lights, alarm, doors, bonnet, boot, objective);
   SetVehicleParamsEx(x, 1, lights, alarm, doors, bonnet, boot, objective);
   Valaki(playerid, \"beindította egy járműnek a motorját\");
}
}
wAnticheat[playerid][Flood] = 0;
pInfo[playerid][OPEV] = 0;
KillTimer(pInfo[playerid][MotorTimer]);
return true;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal