Szerző Téma: OnPlayerKeyStateChange szoveg kiiras  (Megtekintve 860 alkalommal)

OnPlayerKeyStateChange szoveg kiiras
« Dátum: 2014. augusztus 23. - 07:16:15 »
0 Show voters
Sziasztok.
Szeretnek segitseget kerni, mert nemtudom, hogy mi lehet a baj.
A flip kulcs vagyis az Y key jol mukodik ki is irja amikor nem vagy autoban meg minden, de a masik a 2-os gomb is mukodik megjavitsa a kocsit de ha nincs kocsiban akkor nem ir ki semmit.
Mar sok mindent megprobaltam de nemtudom, hogy mi lehet a baj.
KOszonom elore is. :)
 
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_SUBMISSION)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(playerid, vehicleid))
       {
SetVehicleHealth(vehicleid,1000.0);
RepairVehicle(GetPlayerVehicleID(playerid));
PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
SendClientMessage(playerid,sarga,\"A Te Jarmuved Sikeresen Megjavitva!\");
   }
   else SendClientMessage(playerid, 0xFFFF00FF ,\"Nem vagy jármûben!\");
   }
if(newkeys & KEY_YES)
{
if (IsPlayerInAnyVehicle(playerid))
{
        new Float:X,Float:Y,Float:Z,Float:Angle;
        GetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z);
        GetVehicleZAngle(GetPlayerVehicleID(playerid),Angle);
SetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z+2);
SetVehicleZAngle(GetPlayerVehicleID(playerid),Angle);
SendClientMessage(playerid, 0x9900FFAA,\"Jármu felálítva\");
}
   else SendClientMessage(playerid, 0xFFFF00FF ,\"Nem vagy jármûben!\");
    }
return 1;
}

 
Igy is probaltam de igy sem mukodik, es ha csak ezt teszem be key-nek tobbet nem akkor sem mukodik.
 
if(newkeys & KEY_SUBMISSION)
{
if(IsPlayerInVehicle(playerid))
       {
RepairVehicle(GetPlayerVehicleID(playerid));
PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
SendClientMessage(playerid,sarga,\"A Te Jarmuved Sikeresen Megjavitva!\");
   }
   else SendClientMessage(playerid, 0xFFFF00FF ,\"Nem vagy jármûben!\");
   }

 
Javítottam a tag-eket.
« Utoljára szerkesztve: 2014. augusztus 23. - 14:54:10 írta eniko0513 »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
OnPlayerKeyStateChange szoveg kiiras
« Válasz #1 Dátum: 2014. augusztus 23. - 07:25:10 »
0 Show voters
if( IsPlayerInAnyVehicle( playerid ) ) return SendClientMessage( playerid, -1, \"{ff0000}Hiba: {ffffff}Nem ülsz jármûben így nem tudod használni ezt a funkciót!\" );

 
Használd a fenti megoldást mivel sokkal rövidebb, majd töröld az else visszatérést és a sorok számán is spórolsz. ;)

Nem elérhető BackUP

  • 908
    • Profil megtekintése
OnPlayerKeyStateChange szoveg kiiras
« Válasz #2 Dátum: 2014. augusztus 23. - 09:04:44 »
0 Show voters
Javított változat:
 
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage( playerid, -1, \"{ff0000}Hiba: {ffffff}Nem ülsz jármûben Így nem tudod használni ezt a funkciót!\" );

 
ZyZu verziója akkor írná ki, ha jármûben van és tovább engedné ha nincs. Ez annyiban külömbözik, hogy van egy \'!\' jel, hogy tagadja.
azért kell a \'return\' mert az megállítja a folyamatot amennyiben a feltétel igaz! Ha a feltétel hamis, akkor tovább engedi.

OnPlayerKeyStateChange szoveg kiiras
« Válasz #3 Dátum: 2014. augusztus 23. - 10:41:58 »
0 Show voters
Koszonom szepen a valaszokat de a baj forrasa nem valtozott ugyan ugy van h a 2os gombbal nem irja ki h nincs autoba.

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
OnPlayerKeyStateChange szoveg kiiras
« Válasz #4 Dátum: 2014. augusztus 23. - 11:09:12 »
0 Show voters
Szerintem felesleges kiiratni hogy Nincs jármûben a játékos, vagy hogy meg lett javítva a jármû..
próbáld így:
 
#define PRESSED(%0) \\
        (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
       
public OnPlayerKeyStateChange( playerid, newkeys, oldkeys ) {
if(PRESSED(KEY_SUBMISSION) && IsPlayerInAnyVehicle(playerid)) {
new vehid = GetPlayerVehicleID(playerid);
RepairVehicle(vehid);
        PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
}
return 1;
}

Nem elérhető BackUP

  • 908
    • Profil megtekintése
OnPlayerKeyStateChange szoveg kiiras
« Válasz #5 Dátum: 2014. augusztus 23. - 11:14:41 »
0 Show voters
Azért nem írja ki gondolom, mert a kettes gombot csak jármûvekben tudod használni. Wikin kint vannak a gombok, ott látod mit gyalog, mit jármûben és melyiket mindkét státuszban tudod használni.

OnPlayerKeyStateChange szoveg kiiras
« Válasz #6 Dátum: 2014. augusztus 23. - 12:24:29 »
0 Show voters
Szerintem Probálj meg más bilenyütt bele irnni ne y betû legyen hanem pl x vagy bármi csak nem az szerintem de nem akkarok hülyeséget mondani
off


bocs az ékezeti hibárkért telefonrol van

OnPlayerKeyStateChange szoveg kiiras
« Válasz #7 Dátum: 2014. augusztus 23. - 14:52:32 »
0 Show voters
Koszonom a valaszokat :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal