DaNeX 5 Odesláno: 22. Září, 2014 Share Odesláno: 22. Září, 2014 Zdravím našel jsem si zde návod na povolání přes KEY. Ale netuším jak udělat další tkz druhé. Zkoušel jsem změnu ID ale někde mám chybu. Při vchození na PickUp mačkám Levý Alt jak ujetý ale nepřipojím se. Dám vám tu celý kód včetně obou JOBU ( Funguje jen ten první tkz. Mechanik ) new job[MAX_PLAYERS]; new Mechanikpick; new Taxikarpick; ModeInit Mechanikpick = CreatePickup(1314,1,-2343.1338,-82.3546,35.2078); Taxikarpick = CreatePickup(1314,1,-2320.0752,-40.2367,35.3203); OnPlayerPickUpPickUp if(pickupid == Mechanikpick) { SCM(playerid,0x800080AA,"blabla"); } if(pickupid == Taxikarpick) { SCM(playerid, 0xFF00FF,"Taxikář zaměstnej se Levým ALTem"); } OnPlayerKeyStateChange { if(newkeys == KEY_WALK){ if(IsPlayerInSphere(playerid,-2343.1338,-82.3546,35.2078, 3) == 1){ if(job[playerid] == 1) return SendClientMessage(playerid, 0x800080AA, "[** ERROR **] Zde už jsi zaměstnán!"); job[playerid] = 1; // Zaněstná ho SetPlayerSkin(playerid, 50); GivePlayerWeapon(playerid, 26,500); SetPlayerArmour(playerid, 100); SetPlayerColor(playerid, 0x800080FF); } } if(newkeys == KEY_WALK){//L.ALT pro zaměstnání if(IsPlayerInSphere(playerid,-2320.0752,-40.2367,35.3203, 3) == 2){ if(job[playerid] == 2) return SendClientMessage(playerid, 0xFF00FF, "[** ERROR **] Zde už jsi zaměstnán!"); job[playerid] = 2; SetPlayerSkin(playerid, 111); GivePlayerWeapon(playerid, 16,300); } } Chyba je podle mě někde v posledním odstavci (State change ten druhý = Taxikar ) Jsem zmatený ohledně těch ID. Nevím jestli jsem měl například dávat ID 2 a ne nějaké jiné. Nebo se to překopáva úplně jinak. Tak díky za odpověď protože jsem zmatený a nový v tomhle. Link to comment Share on other sites More sharing options...
0 jAk3r 47 Odesláno: 22. Září, 2014 Share Odesláno: 22. Září, 2014 trošku pozměnil a snad bude fungovat #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) new job[MAX_PLAYERS]; new Mechanikpick; new Taxikarpick; public OnGameModeInit() { Mechanikpick = CreatePickup(1314,1,-2343.1338,-82.3546,35.2078); Taxikarpick = CreatePickup(1314,1,-2320.0752,-40.2367,35.3203); return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == Mechanikpick) { SCM(playerid,0x800080AA,"blabla"); } if(pickupid == Taxikarpick) { SCM(playerid, 0xFF00FF,"Taxikář zaměstnej se Levým ALTem"); } return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(PRESSED(KEY_WALK)){ if(IsPlayerInSphere(playerid,-2343.1338,-82.3546,35.2078, 3) == 1){ if(job[playerid] == 1) return SendClientMessage(playerid, 0x800080AA, "[** ERROR **] Zde už jsi zaměstnán!"); job[playerid] = 1; // Zaněstná ho SetPlayerSkin(playerid, 50); GivePlayerWeapon(playerid, 26,500); SetPlayerArmour(playerid, 100); SetPlayerColor(playerid, 0x800080FF); } } if(PRESSED(KEY_WALK)){//L.ALT pro zaměstnání if(IsPlayerInSphere(playerid,-2320.0752,-40.2367,35.3203, 3) == 2){ if(job[playerid] == 2) return SendClientMessage(playerid, 0xFF00FF, "[** ERROR **] Zde už jsi zaměstnán!"); job[playerid] = 2; SetPlayerSkin(playerid, 111); GivePlayerWeapon(playerid, 16,300); } } return 1; } Kdyby něco napiš ... Link to comment Share on other sites More sharing options...
0 DaNeX 5 Odesláno: 22. Září, 2014 Author Share Odesláno: 22. Září, 2014 Furt funguje pouze Mechanik Link to comment Share on other sites More sharing options...
0 jAk3r 47 Odesláno: 22. Září, 2014 Share Odesláno: 22. Září, 2014 Tomu nerozumím podle kódu by to mělo normálně fungovat Link to comment Share on other sites More sharing options...
0 DaNeX 5 Odesláno: 22. Září, 2014 Author Share Odesláno: 22. Září, 2014 Ale bohužel ne. No snad se někdo objeví kdo tomu rozumí dostatečně a zjístí v čem je chyba. Link to comment Share on other sites More sharing options...
0 Amenadiel 286 Odesláno: 22. Září, 2014 Share Odesláno: 22. Září, 2014 zkus toto if(IsPlayerInSphere(playerid,-2320.0752,-40.2367,35.3203, 3) == 2){ změnit na if(IsPlayerInSphere(playerid,-2320.0752,-40.2367,35.3203, 3) ){ Link to comment Share on other sites More sharing options...
0 Jakub Kučera 6 Odesláno: 22. Září, 2014 Share Odesláno: 22. Září, 2014 A nebo zkus #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) new job[MAX_PLAYERS]; new Mechanikpick; new Taxikarpick; public OnGameModeInit() { Mechanikpick = CreatePickup(1314,1,-2343.1338,-82.3546,35.2078); Taxikarpick = CreatePickup(1314,1,-2320.0752,-40.2367,35.3203); return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == Mechanikpick) { SCM(playerid,0x800080AA,"Mechanik zaměstnej se Levým ALTem"); } if(pickupid == Taxikarpick) { SCM(playerid, 0xFF00FF,"Taxikář zaměstnej se Levým ALTem"); } return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(PRESSED(KEY_WALK)){//L.ALT pro zaměstnání if(IsPlayerInSphere(playerid,-2343.1338,-82.3546,35.2078, 3) == 1){ if(job[playerid] == 1) return SendClientMessage(playerid, 0x800080AA, "[** ERROR **] Zde už jsi zaměstnán!"); job[playerid] = 1; // Zaměstná ho SetPlayerSkin(playerid, 50); GivePlayerWeapon(playerid, 26,500); SetPlayerArmour(playerid, 100); SetPlayerColor(playerid, 0x800080FF); } else if(IsPlayerInSphere(playerid,-2320.0752,-40.2367,35.3203, 3)){ if(job[playerid] == 2) return SendClientMessage(playerid, 0xFF00FF, "[** ERROR **] Zde už jsi zaměstnán!"); job[playerid] = 2; // Zaměstná ho SetPlayerSkin(playerid, 111); GivePlayerWeapon(playerid, 16,300); } } return 1; } nebo #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) new job[MAX_PLAYERS]; new Mechanikpick; new Taxikarpick; public OnGameModeInit() { Mechanikpick = CreatePickup(1314,1,-2343.1338,-82.3546,35.2078); Taxikarpick = CreatePickup(1314,1,-2320.0752,-40.2367,35.3203); return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == Mechanikpick) { SCM(playerid,0x800080AA,"Mechanik zaměstnej se Levým ALTem"); } if(pickupid == Taxikarpick) { SCM(playerid, 0xFF00FF,"Taxikář zaměstnej se Levým ALTem"); } return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(PRESSED(KEY_WALK)){//L.ALT pro zaměstnání if(IsPlayerInRangeOfPoint(playerid, 3.0, -2343.1338,-82.3546,35.2078)){ if(job[playerid] == 1) return SendClientMessage(playerid, 0x800080AA, "[** ERROR **] Zde už jsi zaměstnán!"); job[playerid] = 1; // Zaměstná ho SetPlayerSkin(playerid, 50); GivePlayerWeapon(playerid, 26,500); SetPlayerArmour(playerid, 100); SetPlayerColor(playerid, 0x800080FF); } else if(IsPlayerInRangeOfPoint(playerid, 3.0, -2320.0752,-40.2367,35.3203)){ if(job[playerid] == 2) return SendClientMessage(playerid, 0xFF00FF, "[** ERROR **] Zde už jsi zaměstnán!"); job[playerid] = 2; // Zaměstná ho SetPlayerSkin(playerid, 111); GivePlayerWeapon(playerid, 16,300); } } return 1; } Link to comment Share on other sites More sharing options...
0 Amenadiel 286 Odesláno: 22. Září, 2014 Share Odesláno: 22. Září, 2014 Příšte si neco otom přečti http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint protože IsPlayerInRangeOfPoint vrací jen 2 hodnoty to je 0 a 1. Return Values: true - The player is in range of the point. false - The player is not in range of the point. Link to comment Share on other sites More sharing options...
0 DaNeX 5 Odesláno: 22. Září, 2014 Author Share Odesláno: 22. Září, 2014 Začal jsem od konce protože se nejčastěji správný kód objevuje v posledním řešení a měl jsem pravdu. Díky Expertik Už to funguje tak díky za pomoc mám dalších desítky otázek ale to se prvně vyzkouším dohledat na google. Link to comment Share on other sites More sharing options...
Dotaz
DaNeX 5
Zdravím našel jsem si zde návod na povolání přes KEY.
Ale netuším jak udělat další tkz druhé. Zkoušel jsem změnu ID ale někde mám chybu.
Při vchození na PickUp mačkám Levý Alt jak ujetý ale nepřipojím se.
Dám vám tu celý kód včetně obou JOBU ( Funguje jen ten první tkz. Mechanik )
ModeInit
OnPlayerPickUpPickUp
OnPlayerKeyStateChange
Chyba je podle mě někde v posledním odstavci (State change ten druhý = Taxikar )
Jsem zmatený ohledně těch ID. Nevím jestli jsem měl například dávat ID 2 a ne nějaké jiné.
Nebo se to překopáva úplně jinak. Tak díky za odpověď protože jsem zmatený a nový v tomhle.
Link to comment
Share on other sites
8 odpovědí na tuto otázku
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now