Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.
Témák - vortexY
1
« Dátum: 2013. szeptember 29. - 14:19:22 »
Szerintem ingyen nem csinálja meg senki
2
« Dátum: 2013. szeptember 27. - 13:36:10 »
Sziasztok, ma egy egyszerû funkciót hoztam. Lényege, a kocsi modell nevérõl tudod lekérni a Kocsi ModelIDt. Használat: GetVehicleModelIDFromName(ModellNeve) pl:GetVehicleModelIDFromName(\"Alpha\") return: A kocsi ModelID-jét adja vissza, illetve -1 ha nem található. stock GetVehicleModelIDFromName(ModelName[]) { if (!strcmp(ModelName, \"Landstalker\")) return 400; else if (!strcmp(ModelName, \"Bravura\")) return 401; else if (!strcmp(ModelName, \"Buffalo\")) return 402; else if (!strcmp(ModelName, \"Linerunner\")) return 403; else if (!strcmp(ModelName, \"Perenniel\")) return 404; else if (!strcmp(ModelName, \"Sentinel\")) return 405; else if (!strcmp(ModelName, \"Dumper\")) return 406; else if (!strcmp(ModelName, \"Firetruck\")) return 407; else if (!strcmp(ModelName, \"Trashmaster\")) return 408; else if (!strcmp(ModelName, \"Stretch\")) return 409; else if (!strcmp(ModelName, \"Manana\")) return 410; else if (!strcmp(ModelName, \"Infernus\")) return 411; else if (!strcmp(ModelName, \"Voodoo\")) return 412; else if (!strcmp(ModelName, \"Pony\")) return 413; else if (!strcmp(ModelName, \"Mule\")) return 414; else if (!strcmp(ModelName, \"Cheetah\")) return 415; else if (!strcmp(ModelName, \"Ambulance\")) return 416; else if (!strcmp(ModelName, \"Leviathan\")) return 417; else if (!strcmp(ModelName, \"Moonbeam\")) return 418; else if (!strcmp(ModelName, \"Esperanto\")) return 419; else if (!strcmp(ModelName, \"Taxi\")) return 420; else if (!strcmp(ModelName, \"Washington\")) return 421; else if (!strcmp(ModelName, \"Bobcat\")) return 422; else if (!strcmp(ModelName, \"MrWhoopee\")) return 423; else if (!strcmp(ModelName, \"BFInjection\")) return 424; else if (!strcmp(ModelName, \"Hunter\")) return 425; else if (!strcmp(ModelName, \"Premier\")) return 426; else if (!strcmp(ModelName, \"Enforcer\")) return 427; else if (!strcmp(ModelName, \"Securicar\")) return 428; else if (!strcmp(ModelName, \"Banshee\")) return 429; else if (!strcmp(ModelName, \"Predator\")) return 430; else if (!strcmp(ModelName, \"Bus\")) return 431; else if (!strcmp(ModelName, \"Rhino\")) return 432; else if (!strcmp(ModelName, \"Barracks\")) return 433; else if (!strcmp(ModelName, \"Hotknife\")) return 434; else if (!strcmp(ModelName, \"ArticleTrailer\")) return 435; else if (!strcmp(ModelName, \"Previon\")) return 436; else if (!strcmp(ModelName, \"Coach\")) return 437; else if (!strcmp(ModelName, \"Cabbie\")) return 438; else if (!strcmp(ModelName, \"Stallion\")) return 439; else if (!strcmp(ModelName, \"Rumpo\")) return 440; else if (!strcmp(ModelName, \"RC Bandit\")) return 441; else if (!strcmp(ModelName, \"Romero\")) return 442; else if (!strcmp(ModelName, \"Packer\")) return 443; else if (!strcmp(ModelName, \"Monster\")) return 444; else if (!strcmp(ModelName, \"Admiral\")) return 445; else if (!strcmp(ModelName, \"Squallo\")) return 446; else if (!strcmp(ModelName, \"Seasparrow\")) return 447; else if (!strcmp(ModelName, \"Pizzaboy\")) return 448; else if (!strcmp(ModelName, \"Tram\")) return 449; else if (!strcmp(ModelName, \"Article Trailer 2\")) return 450; else if (!strcmp(ModelName, \"Turismo\")) return 451; else if (!strcmp(ModelName, \"Speeder\")) return 452; else if (!strcmp(ModelName, \"Reefer\")) return 453; else if (!strcmp(ModelName, \"Tropic\")) return 454; else if (!strcmp(ModelName, \"Flatbed\")) return 455; else if (!strcmp(ModelName, \"Yankee\")) return 456; else if (!strcmp(ModelName, \"Caddy\")) return 457; else if (!strcmp(ModelName, \"Solair\")) return 458; else if (!strcmp(ModelName, \"Berkley\'s RC Van\")) return 459; else if (!strcmp(ModelName, \"Skimmer\")) return 460; else if (!strcmp(ModelName, \"PCJ-600\")) return 461; else if (!strcmp(ModelName, \"Faggio\")) return 462; else if (!strcmp(ModelName, \"Freeway\")) return 463; else if (!strcmp(ModelName, \"RCBaron\")) return 464; else if (!strcmp(ModelName, \"RCRaider\")) return 465; else if (!strcmp(ModelName, \"Glendale\")) return 466; else if (!strcmp(ModelName, \"Oceanic\")) return 467; else if (!strcmp(ModelName, \"Sanchez\")) return 468; else if (!strcmp(ModelName, \"Sparrow\")) return 469; else if (!strcmp(ModelName, \"Patriot\")) return 470; else if (!strcmp(ModelName, \"Quad\")) return 471; else if (!strcmp(ModelName, \"Coastguard\")) return 472; else if (!strcmp(ModelName, \"Dinghy\")) return 473; else if (!strcmp(ModelName, \"Hermes\")) return 474; else if (!strcmp(ModelName, \"Sabre\")) return 475; else if (!strcmp(ModelName, \"Rustler\")) return 476; else if (!strcmp(ModelName, \"ZR-350\")) return 477; else if (!strcmp(ModelName, \"Walton\")) return 478; else if (!strcmp(ModelName, \"Regina\")) return 479; else if (!strcmp(ModelName, \"Comet\")) return 480; else if (!strcmp(ModelName, \"BMX\")) return 481; else if (!strcmp(ModelName, \"Burrito\")) return 482; else if (!strcmp(ModelName, \"Camper\")) return 483; else if (!strcmp(ModelName, \"Marquis\")) return 484; else if (!strcmp(ModelName, \"Baggage\")) return 485; else if (!strcmp(ModelName, \"Dozer\")) return 486; else if (!strcmp(ModelName, \"Maverick\")) return 487; else if (!strcmp(ModelName, \"SAN News Maverick\")) return 488; else if (!strcmp(ModelName, \"Rancher\")) return 489; else if (!strcmp(ModelName, \"FBIRancher\")) return 490; else if (!strcmp(ModelName, \"Virgo\")) return 491; else if (!strcmp(ModelName, \"Greenwood\")) return 492; else if (!strcmp(ModelName, \"Jetmax\")) return 493; else if (!strcmp(ModelName, \"Hotring\")) return 494; else if (!strcmp(ModelName, \"Sandking\")) return 495; else if (!strcmp(ModelName, \"Blista Compact\")) return 496; else if (!strcmp(ModelName, \"Police Maverick\")) return 497; else if (!strcmp(ModelName, \"Boxville\")) return 498; else if (!strcmp(ModelName, \"Benson\")) return 499; else if (!strcmp(ModelName, \"Mesa\")) return 500; else if (!strcmp(ModelName, \"RC Goblin\")) return 501; else if (!strcmp(ModelName, \"Hotring Racer\")) return 502; else if (!strcmp(ModelName, \"Hotring Racer\")) return 503; else if (!strcmp(ModelName, \"Bloodring Banger\")) return 504; else if (!strcmp(ModelName, \"Rancher\")) return 505; else if (!strcmp(ModelName, \"SuperGT\")) return 506; else if (!strcmp(ModelName, \"Elegant\")) return 507; else if (!strcmp(ModelName, \"Journey\")) return 508; else if (!strcmp(ModelName, \"Bike\")) return 509; else if (!strcmp(ModelName, \"Mountain Bike\")) return 510; else if (!strcmp(ModelName, \"Beagle\")) return 511; else if (!strcmp(ModelName, \"Cropduster\")) return 512; else if (!strcmp(ModelName, \"Stuntplane\")) return 513; else if (!strcmp(ModelName, \"Tanker\")) return 514; else if (!strcmp(ModelName, \"Roadtrain\")) return 515; else if (!strcmp(ModelName, \"Nebula\")) return 516; else if (!strcmp(ModelName, \"Majestic\")) return 517; else if (!strcmp(ModelName, \"Buccaneer\")) return 518; else if (!strcmp(ModelName, \"Shamal\")) return 519; else if (!strcmp(ModelName, \"Hydra\")) return 520; else if (!strcmp(ModelName, \"FCR-900\")) return 521; else if (!strcmp(ModelName, \"NRG-500\")) return 522; else if (!strcmp(ModelName, \"HPV1000\")) return 523; else if (!strcmp(ModelName, \"Cement Truck\")) return 524; else if (!strcmp(ModelName, \"Towtruck\")) return 525; else if (!strcmp(ModelName, \"Fortune\")) return 526; else if (!strcmp(ModelName, \"Cadrona\")) return 527; else if (!strcmp(ModelName, \"FBITruck\")) return 528; else if (!strcmp(ModelName, \"Willard\")) return 529; else if (!strcmp(ModelName, \"Forklift\")) return 530; else if (!strcmp(ModelName, \"Tractor\")) return 531; else if (!strcmp(ModelName, \"Combine Harvester\")) return 532; else if (!strcmp(ModelName, \"Feltzer\")) return 533; else if (!strcmp(ModelName, \"Remington\")) return 534; else if (!strcmp(ModelName, \"Slamvan\")) return 535; else if (!strcmp(ModelName, \"Blade\")) return 536; else if (!strcmp(ModelName, \"Freight\")) return 537; else if (!strcmp(ModelName, \"Brownstreak\")) return 538; else if (!strcmp(ModelName, \"Vortex\")) return 539; else if (!strcmp(ModelName, \"Vincent\")) return 540; else if (!strcmp(ModelName, \"Bullet\")) return 541; else if (!strcmp(ModelName, \"Clover\")) return 542; else if (!strcmp(ModelName, \"Sadler\")) return 543; else if (!strcmp(ModelName, \"FiretruckLA\")) return 544; else if (!strcmp(ModelName, \"Hustler\")) return 545; else if (!strcmp(ModelName, \"Intruder\")) return 546; else if (!strcmp(ModelName, \"Primo\")) return 547; else if (!strcmp(ModelName, \"Cargobob\")) return 548; else if (!strcmp(ModelName, \"Tampa\")) return 549; else if (!strcmp(ModelName, \"Sunrise\")) return 550; else if (!strcmp(ModelName, \"Merit\")) return 551; else if (!strcmp(ModelName, \"UtilityVan\")) return 552; else if (!strcmp(ModelName, \"Nevada\")) return 553; else if (!strcmp(ModelName, \"Yosemite\")) return 554; else if (!strcmp(ModelName, \"Windsor\")) return 555; else if (!strcmp(ModelName, \"MonsterA\")) return 556; else if (!strcmp(ModelName, \"MonsterB\")) return 557; else if (!strcmp(ModelName, \"Uranus\")) return 558; else if (!strcmp(ModelName, \"Jester\")) return 559; else if (!strcmp(ModelName, \"Sultan\")) return 560; else if (!strcmp(ModelName, \"Stratum\")) return 561; else if (!strcmp(ModelName, \"Elegy\")) return 562; else if (!strcmp(ModelName, \"Raindance\")) return 563; else if (!strcmp(ModelName, \"RCTiger\")) return 564; else if (!strcmp(ModelName, \"Flash\")) return 565; else if (!strcmp(ModelName, \"Tahoma\")) return 566; else if (!strcmp(ModelName, \"Savanna\")) return 567; else if (!strcmp(ModelName, \"Bandito\")) return 568; else if (!strcmp(ModelName, \"Freight Flat Trailer (Train)\")) return 569; else if (!strcmp(ModelName, \"Streak Trailer (Train)\")) return 570; else if (!strcmp(ModelName, \"Kart\")) return 571; else if (!strcmp(ModelName, \"Mower\")) return 572; else if (!strcmp(ModelName, \"Dune\")) return 573; else if (!strcmp(ModelName, \"Sweeper\")) return 574; else if (!strcmp(ModelName, \"Broadway\")) return 575; else if (!strcmp(ModelName, \"Tornado\")) return 576; else if (!strcmp(ModelName, \"AT400\")) return 577; else if (!strcmp(ModelName, \"DFT-30\")) return 578; else if (!strcmp(ModelName, \"Huntley\")) return 579; else if (!strcmp(ModelName, \"Stafford\")) return 580; else if (!strcmp(ModelName, \"BF-400\")) return 581; else if (!strcmp(ModelName, \"Newsvan\")) return 582; else if (!strcmp(ModelName, \"Tug\")) return 583; else if (!strcmp(ModelName, \"Petrol Trailer\")) return 584; else if (!strcmp(ModelName, \"Emperor\")) return 585; else if (!strcmp(ModelName, \"Wayfarer\")) return 586; else if (!strcmp(ModelName, \"Euros\")) return 587; else if (!strcmp(ModelName, \"Hotdog\")) return 588; else if (!strcmp(ModelName, \"Club\")) return 589; else if (!strcmp(ModelName, \"Freight Box Trailer (Train)\")) return 590; else if (!strcmp(ModelName, \"Article Trailer3\")) return 591; else if (!strcmp(ModelName, \"Andromada\")) return 592; else if (!strcmp(ModelName, \"Dodo\")) return 593; else if (!strcmp(ModelName, \"RCCam\")) return 594; else if (!strcmp(ModelName, \"Launch\")) return 595; else if (!strcmp(ModelName, \"PoliceLS\")) return 596; else if (!strcmp(ModelName, \"PoliceSF\")) return 597; else if (!strcmp(ModelName, \"PoliceLV\")) return 598; else if (!strcmp(ModelName, \"Police Ranger\")) return 599; else if (!strcmp(ModelName, \"Picador\")) return 600; else if (!strcmp(ModelName, \"S.W.A.T.\")) return 601; else if (!strcmp(ModelName, \"Alpha\")) return 602; else if (!strcmp(ModelName, \"Phoenix\")) return 603; else if (!strcmp(ModelName, \"GlendaleShit\")) return 604; else if (!strcmp(ModelName, \"SadlerShit\")) return 605; else if (!strcmp(ModelName, \"Baggage TrailerA\")) return 606; else if (!strcmp(ModelName, \"Baggage TrailerB\")) return 607; else if (!strcmp(ModelName, \"Tug Stairs Trailer\")) return 608; else if (!strcmp(ModelName, \"Boxville\")) return 609; else if (!strcmp(ModelName, \"FarmTrailer\")) return 610; else if (!strcmp(ModelName, \"UtilityTrailer\")) return 611; return -1; }
Ötletet adta: Az SSCANF-ban lévõ hasonló funkció.
3
« Dátum: 2013. szeptember 27. - 13:30:02 »
Ez a SEERPG-ben van... Amúgy magadtól is könnyû megcsinálni.
4
« Dátum: 2013. szeptember 26. - 20:45:10 »
Figyelj kedves rcbakos2 bocsi, de kezdesz idegesíteni minden kis sz*rnak külön témát nyitsz, stb. Nem RP szeróba kéne kezdeni elõször... Figyelj nem azért mondom, én is voltam kezdõ, de nem rp szerverrel kezdem... Inkább csinálj Stuntot... Amúgymeg minek RP szerver ezt mond meg? A hatalomvágy?
5
« Dátum: 2013. szeptember 26. - 19:45:23 »
Nincsmit, de nyomd be a megoldva gombot.
6
« Dátum: 2013. szeptember 26. - 18:47:34 »
OFF: Légyszi nézz PM-et, és nyomj egy Téma megoldva gombot
7
« Dátum: 2013. szeptember 26. - 18:01:23 »
1. Szerintem egy jó scripter holmi adminért nem vállalja el. 2. Minek RP szerver? Miért nem csinálsz pl Hungarian TDM-et vagy valami egyedit? Ezer egyedi dolog van amivel tarolhatnál ha jól csinálnád meg. Pl. Egy jól kivitelezett tycoon Figyi ezt nem leb*szásból mondom, ez csak ötlet amivel tarolhatnál, mert RPvel úgyse fogsz
8
« Dátum: 2013. szeptember 26. - 17:58:23 »
Shifty szerintem korrekt ember. Beszéltem vele TS-en, és jól tudja, hogy a szerverén az RP színvonal szinte sehol sincs. Viszont a szervere akkor is jó abból a szempontból, hogy remek pénzforrás számára. A másik, hogy a See a szórakozásról szól, tehát egy DM szerver RP köntösben. Viszont ha RP színvonalt kérdezik... A hulladék jó kifejezés ezekre a szerverekre
Az a baj,hogy te csak az egyik oldalát ismered. Egyáltalán nem korrekt ember. [/quote] True story
9
« Dátum: 2013. szeptember 26. - 16:09:02 »
Helló mindenki!A játék lényege, hogy mindenki írja le hány hozzászólása van összesen és ezen a héten eddig...
10
« Dátum: 2013. szeptember 26. - 15:40:39 »
Szerintetek miért kezd majdnem minden 5. 10-12 év körüli kisgyerel RP szeróba? Fõleg hogy nem tudnak HELYESEN ÍRNI, SCRIPTELNI, SE RPZNI, és SZERVERT VEZETNI. Várom a véleményeket.
12
« Dátum: 2013. szeptember 26. - 13:55:40 »
Na ez egy rövid kérdés lesz. Szerintetek XBOX360 vagy a PS3 éri meg? Miért? Köszönöm
13
« Dátum: 2013. szeptember 26. - 13:31:55 »
Szerintem inkább kezdõként NE RP szerverrel kezdj. Ez egy tipp. Rajtad áll. Amúgy is csak feles idõ ill. pénz pazarlás, mivel már 6millió RP szeró van. ((OFF: Ne kezdj minden kisebb problémának egy topicot, ezeket rakd össze egybe.))
14
« Dátum: 2013. szeptember 25. - 22:24:16 »
Sziasztok, azzal az ötlettel álltam elõ, hogy közvéleménykutatást tartok arról, hogy ki mit gondol a három \"NAGY\" RP szerverrõl. Tehát te mid gondolsz a SeeRPG-rõl(Shifty féle); SeeMTA-ról; FayRPG-rõl: Melléklet: http://www.youtube.com/watch?v=divaJgggvVs
15
« Dátum: 2013. szeptember 25. - 21:19:41 »
Üdv mindenki. Ebben a tutorialban egy \"Megijedõ NPC\"-t mutatok be. Ugye elõször is amire szügség lesz: #define PRESSED(%0) \\ (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
stock GetPlayerIDFromName(const playername[], partofname=0) { new i; new playername1[64]; for (i=0;i<MAX_PLAYERS;i++) { if (IsPlayerConnected(i)) { GetPlayerName(i,playername1,sizeof(playername1)); if (strcmp(playername1,playername,true)==0) { return i; } } } new correctsigns_userid=-1; new tmpuname[128]; new hasmultiple=-1; if(partofname) { for (i=0;i<MAX_PLAYERS;i++) { if (IsPlayerConnected(i)) { GetPlayerName(i,tmpuname,sizeof(tmpuname)); if(!strfind(tmpuname,playername1[partofname],true, 0)) { hasmultiple++; correctsigns_userid=i; } if (hasmultiple>0) { return -2; } } } } return correctsigns_userid; }
Ezeket nem részletezném. Az elsõ a klasszikus PRESSED függvény, a második a GetPlayerIDFromName melynek lényege, hogy névrõl keres rá a játékos ID-jére. 1: Detektáljuk, a játékos mikor céloz és mikor lõ. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(PRESSED(KEY_FIRE)) { //Tehát amikor a játékos nyomja a tûz gombot. } if(PRESSED(KEY_HANDBRAKE && IsPlayerInAnyVehicle(playerid) == 0)) //Amikor céloz. Azét kell az IsPlayerInAnyVehicle, mivel a SAMP rendszerében egy gombnak veszi a kéziféket és a célzást. { //Tehát amikor a játékos nyomja a célzás gombot és nincs jármûben } return 1; } 2. Adjunk meg néhány információt. Ez a rész az OnPlayerKeyStateChange-részbe fog kerülni new npc = GetPlayerIDFromName(\"NPC\"); //Lekérjük az NPC nevérõl az ID-jét. Figyelem! Az \"NPC\" részbe az NPC nevét írd. new Float:x,Float:y,Float:z; //Hozzuk létre az X, Y, Z float típusu változókat. GetPlayerPos(npc,x,y,z); //Kérjük le az NPC pozícióját. Ez arra lesz jó, hogy megnézd milyen közel vagy az NPC-hez. new weapon = GetPlayerWeapon(playerid); //Megnézzük a játékosnak milyen fegyvere van.
3. Nézzük meg, hogy az NPC közelébe van-e a játékos, hogy a játékosnál lõfegyver van és, hogy a játékos ránéz-e? public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { new npc = GetPlayerIDFromName(\"NPC\"); //Lekérjük az NPC nevérõl az ID-jét. Figyelem! Az \"NPC\" részbe az NPC nevét írd. new Float:x,Float:y,Float:z; //Hozzuk létre az X, Y, Z float típusu változókat. GetPlayerPos(npc,x,y,z); //Kérjük le az NPC pozícióját. Ez arra lesz jó, hogy megnézd milyen közel vagy az NPC-hez. new weapon = GetPlayerWeapon(playerid); //Megnézzük a játékosnak milyen fegyvere van. if(IsPlayerInRangeOfPoint(20, x, y, z) && weapon > 10 && GetPlayerTargetPlayer(playerid) == npc) //Megnézzük, hogy a játékos 20 yard távolságon belül van-e a az NPC pozíciójától, hogy lõfegyver van e a játékosnál és, hogy épp az NPC-re néz-e? { //Ha igen, csak akkor nézze, hogy a játékos lõ vagy céloz-e. if(PRESSED(KEY_FIRE)) { //Tehát amikor a játékos nyomja a tûz gombot. } if(PRESSED(KEY_HANDBRAKE && IsPlayerInAnyVehicle(playerid) == 0)) //Amikor céloz. Azét kell az IsPlayerInAnyVehicle, mivel a SAMP rendszerében egy gombnak veszi a kéziféket és a célzást. { //Tehát amikor a játékos nyomja a célzás gombot és nincs jármûben } } return 1; }
4. Utolsó felvonás: Animációk, halál detektálása. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { new npc = GetPlayerIDFromName(\"NPC\"); //Lekérjük az NPC nevérõl az ID-jét. Figyelem! Az \"NPC\" részbe az NPC nevét írd. new Float:x,Float:y,Float:z; //Hozzuk létre az X, Y, Z float típusu változókat. GetPlayerPos(npc,x,y,z); //Kérjük le az NPC pozícióját. Ez arra lesz jó, hogy megnézd milyen közel vagy az NPC-hez. new weapon = GetPlayerWeapon(playerid); //Megnézzük a játékosnak milyen fegyvere van. if(IsPlayerInRangeOfPoint(20, x, y, z) && weapon > 10 && GetPlayerTargetPlayer(playerid) == npc) //Megnézzük, hogy a játékos 20 yard távolságon belül van-e a az NPC pozíciójától, hogy lõfegyver van e a játékosnál és, hogy épp az NPC-re néz-e? { //Ha igen, csak akkor nézze, hogy a játékos lõ vagy céloz-e. if(PRESSED(KEY_FIRE)) { //Tehát amikor a játékos nyomja a tûz gombot. ApplyAnimation(npc,\"CRACK\",\"crckdeth4\",3.0,0,0,0,1,0);//Rakjuk az NPC-t fekvõ animba. SetPVarInt(npc, \"death\", 1); //Állítsuk be a death nevû változó értékét 1-re az npc-n. } if(PRESSED(KEY_HANDBRAKE && IsPlayerInAnyVehicle(playerid) == 0)) //Amikor céloz. Azét kell az IsPlayerInAnyVehicle, mivel a SAMP rendszerében egy gombnak veszi a kéziféket és a célzást. { //Tehát amikor a játékos nyomja a célzás gombot és nincs jármûben ApplyAnimation(npc,\"ped\",\"handsup\",3.0,0,0,0,1,0);//Rakja fel a kezét az NPC. } else { //Ha nem céloz a játékos if(GetPVarInt(npc, \"death\") == 0)//Ha nem halott az NPC { ClearAnimations(npc);//Akkor rakja le a kezét. (Vagyis ne legyen rajta anim.) } } } return 1; }
Kész! Így néz ki a kód: #define PRESSED(%0) \\ (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) stock GetPlayerIDFromName(const playername[], partofname=0) { new i; new playername1[64]; for (i=0;i<MAX_PLAYERS;i++) { if (IsPlayerConnected(i)) { GetPlayerName(i,playername1,sizeof(playername1)); if (strcmp(playername1,playername,true)==0) { return i; } } } new correctsigns_userid=-1; new tmpuname[128]; new hasmultiple=-1; if(partofname) { for (i=0;i<MAX_PLAYERS;i++) { if (IsPlayerConnected(i)) { GetPlayerName(i,tmpuname,sizeof(tmpuname)); if(!strfind(tmpuname,playername1[partofname],true, 0)) { hasmultiple++; correctsigns_userid=i; } if (hasmultiple>0) { return -2; } } } } return correctsigns_userid; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { new npc = GetPlayerIDFromName(\"NPC\"); //Lekérjük az NPC nevérõl az ID-jét. Figyelem! Az \"NPC\" részbe az NPC nevét írd. new Float:x,Float:y,Float:z; //Hozzuk létre az X, Y, Z float típusu változókat. GetPlayerPos(npc,x,y,z); //Kérjük le az NPC pozícióját. Ez arra lesz jó, hogy megnézd milyen közel vagy az NPC-hez. new weapon = GetPlayerWeapon(playerid); //Megnézzük a játékosnak milyen fegyvere van. if(IsPlayerInRangeOfPoint(20, x, y, z) && weapon > 10 && GetPlayerTargetPlayer(playerid) == npc) //Megnézzük, hogy a játékos 20 yard távolságon belül van-e a az NPC pozíciójától, hogy lõfegyver van e a játékosnál és, hogy épp az NPC-re néz-e? { //Ha igen, csak akkor nézze, hogy a játékos lõ vagy céloz-e. if(PRESSED(KEY_FIRE)) { //Tehát amikor a játékos nyomja a tûz gombot. ApplyAnimation(npc,\"CRACK\",\"crckdeth4\",3.0,0,0,0,1,0);//Rakjuk az NPC-t fekvõ animba. SetPVarInt(npc, \"death\", 1); //Állítsuk be a death nevû változó értékét 1-re az npc-n. } if(PRESSED(KEY_HANDBRAKE && IsPlayerInAnyVehicle(playerid) == 0)) //Amikor céloz. Azét kell az IsPlayerInAnyVehicle, mivel a SAMP rendszerében egy gombnak veszi a kéziféket és a célzást. { //Tehát amikor a játékos nyomja a célzás gombot és nincs jármûben ApplyAnimation(npc,\"ped\",\"handsup\",3.0,0,0,0,1,0);//Rakja fel a kezét az NPC. } else { //Ha nem céloz a játékos if(GetPVarInt(npc, \"death\") == 0)//Ha nem halott az NPC { ClearAnimations(npc);//Akkor rakja le a kezét. (Vagyis ne legyen rajta anim.) } } } return 1; }
Ugye nem is volt olyan nehéz? Ha bármi hibát találnál benne, válaszban írd meg, köszönöm! Eredeti:http://forum.sa-mp.com/showthread.php?t=176153 Fordította, Átalakította: vortexY
|