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.
Üzenetek - bencarter007
Oldalak: 1 2 [3] 4 5 ... 20
31
« Dátum: 2015. április 02. - 10:40:40 »
ez a teljes kód: public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_LOGIN) { if(response) // If they clicked \'Cancel\' or pressed esc { new string[24+4]; format(string,sizeof(string),\"%s.ini\",pName(playerid)); dfile_Open(string); if(!strcmp(inputtext, dfile_ReadString(\"Password\"))) { pInfo[playerid][Admin] = dfile_ReadInt(\"Admin\"); pInfo[playerid][Logins] = dfile_ReadInt(\"Logins\"); pInfo[playerid][Warns] = dfile_ReadInt(\"Warns\"); pInfo[playerid][PosX] = dfile_ReadFloat(\"PosX\"); pInfo[playerid][PosY] = dfile_ReadFloat(\"PosY\"); pInfo[playerid][PosZ] = dfile_ReadFloat(\"PosZ\"); pInfo[playerid][Money] = dfile_ReadInt(\"Money\"); pInfo[playerid][Kills] = dfile_ReadInt(\"Kills\"); pInfo[playerid][Deaths] = dfile_ReadInt(\"Deaths\"); pInfo[playerid][interior] = dfile_ReadInt(\"Interior\"); pInfo[playerid][skin] = dfile_ReadInt(\"Skin\"); pInfo[playerid][sex] = dfile_ReadInt(\"Sex\"); pInfo[playerid][Age] = dfile_ReadInt(\"Age\"); pInfo[playerid][Money] = dfile_ReadInt(\"Money\"); pInfo[playerid][Kills] = dfile_ReadInt(\"Kills\"); pInfo[playerid][Deaths] = dfile_ReadInt(\"Deaths\"); pInfo[playerid][Wanted] = dfile_ReadInt(\"Wanted\"); pInfo[playerid][Job] = dfile_ReadInt(\"Job\"); pInfo[playerid][LeaderJob] = dfile_ReadInt(\"LeaderJob\"); pInfo[playerid][LeaderRank] = dfile_ReadInt(\"LeaderRank\"); pInfo[playerid][Family] = dfile_ReadInt(\"Family\"); pInfo[playerid][FamilyRank] = dfile_ReadInt(\"FamilyRank\"); pInfo[playerid][CarJacks] = dfile_ReadInt(\"CarJacks\"); pInfo[playerid][JailTime] = dfile_ReadInt(\"JailTime\"); pInfo[playerid][AdminJailTime] = dfile_ReadInt(\"AdminJailTime\"); pInfo[playerid][Joint] = dfile_ReadInt(\"Joint\"); pInfo[playerid][Marihuana] = dfile_ReadInt(\"Marihuana\"); pInfo[playerid][MarihuanaSeed] = dfile_ReadInt(\"MarihuanaSeed\"); pInfo[playerid][Cocaine] = dfile_ReadInt(\"Cocaine\"); pInfo[playerid][Paper] = dfile_ReadInt(\"Paper\"); pInfo[playerid][Lighter] = dfile_ReadInt(\"Lighter\"); GivePlayerMoney(playerid,pInfo[playerid][Money]); LoggedIn[playerid] = true; CarJackTime[playerid] = 5*60; pInfo[playerid][Logins] ++; SpawnPlayer(playerid); if(pInfo[playerid][Admin] == 1) SendClientMessage(playerid,-1,\"Üdvözöllek, admin segéd!\"); if(pInfo[playerid][Admin] == 2) SendClientMessage(playerid,-1,\"Üdvözöllek, admin!\"); if(pInfo[playerid][Admin] == 3) SendClientMessage(playerid,-1,\"Üdvözöllek, főadmin!\"); if(pInfo[playerid][Admin] == 4) SendClientMessage(playerid,-1,\"Üdvözöllek, fejlesztő!\"); if(pInfo[playerid][Admin] == 5) SendClientMessage(playerid,-1,\"Üdvözöllek, tulajdonos!\"); } else ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"Az általad megadott jelszó hibás!\\nGépeld be a jelszavad!\", \"Belép\", \"Kilép\"); } else { Kick(playerid); } return 1; } if(dialogid == DIALOG_REGISTER) { if(response) { new string[24+4]; format(string,sizeof(string),\"%s.ini\",pName(playerid)); if((strlen(inputtext) > 5) && (strlen(inputtext) < 33 )) { dfile_Create(string); dfile_Open(string); { dfile_WriteString(\"Password\",inputtext); dfile_WriteInt(\"Admin\",0); dfile_WriteInt(\"Logins\",-1); dfile_WriteInt(\"Warns\",0); dfile_WriteFloat(\"PosX\",0.0); dfile_WriteFloat(\"PosY\",0.0); dfile_WriteFloat(\"PosZ\",0.0); dfile_WriteInt(\"Money\",0); dfile_WriteInt(\"Kills\",0); dfile_WriteInt(\"Deaths\",0); dfile_WriteInt(\"Wanted\",0); dfile_WriteInt(\"Interior\",0); dfile_WriteInt(\"Skin\",1); dfile_WriteInt(\"Sex\",0); dfile_WriteInt(\"Age\",0); dfile_WriteInt(\"Money\",0); dfile_WriteInt(\"Kills\",0); dfile_WriteInt(\"Deaths\",0); dfile_WriteInt(\"Job\",0); dfile_WriteInt(\"LeaderJob\",0); dfile_WriteInt(\"LeaderRank\",0); dfile_WriteInt(\"Family\",0); dfile_WriteInt(\"FamilyRank\",0); dfile_WriteInt(\"CarJacks\",0); dfile_WriteInt(\"JailTime\",0); dfile_WriteInt(\"AdminJailTime\",0); dfile_WriteInt(\"Joint\",0); dfile_WriteInt(\"Marihuana\",0); dfile_WriteInt(\"MarihuanaSeed\",0); dfile_WriteInt(\"Cocaine\",0); dfile_WriteInt(\"Paper\",0); dfile_WriteInt(\"Lighter\",0); ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_LIST, \"Milyen nemű a karaktered?\", \"Férfi\\nNő\", \"Tovább\", \"\"); } dfile_SaveFile(); dfile_CloseFile(); } else ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, \"Regisztráció\", \"A jelszavad legyen 6-32 karakter!\\nKérlek regisztrálj!\\n\\nGépelj be egy jelszavat!\", \"Tovább\", \"\"); } else { Kick(playerid); } return 1; } if(dialogid == DIALOG_SEX) { if(response) // If they clicked \'Cancel\' or pressed esc { switch(listitem) { case 0: { pInfo[playerid][sex] = 1; ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, \"Karakter adatok\", \"Hány éves a karaktered?\\n(21-99)\", \"Tovább\", \"\"); } case 1: { pInfo[playerid][sex] = 2; ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, \"Karakter adatok\", \"Hány éves a karaktered?\\n(21-99)\", \"Tovább\", \"\"); } } } return 1; } if(dialogid == DIALOG_AGE) { if(response) { new age = strval(inputtext); if((age > 20) && (age < 100)) { pInfo[playerid][Age] = age; ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"Gépeld be a jelszavad!\", \"Belép\", \"Kilép\"); } else ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, \"Karakter adatok\", \"Hány éves a karaktered?\\n(21-99)\", \"Tovább\", \" \"); } else { Kick(playerid); } return 1; } return 0; }
32
« Dátum: 2015. április 02. - 02:41:09 »
a regisztrációban minden más működik, csak épp ezek a sorok nem. beregisztrálok, kapom a kezdőpénzt, a fegyvereket, de a kort és a nemet nem menti... public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_LOGIN) { if(response) { new string[24+4]; format(string,sizeof(string),\"%s.ini\",pName(playerid)); if(!strcmp(password,\"password\") { //bejelentkezett } else ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"Az általad megadott jelszó hibás!\\nGépeld be a jelszavad!\", \"Belép\", \"Kilép\"); } else { Kick(playerid); } return 1; } if(dialogid == DIALOG_REGISTER) { if(response) { new string[24+4]; format(string,sizeof(string),\"%s.ini\",pName(playerid)); if((strlen(inputtext) > 5) && (strlen(inputtext) < 33 )) { ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_LIST, \"Milyen nemű a karaktered?\", \"Férfi\\nNő\", \"Tovább\", \"\"); } else ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, \"Regisztráció\", \"A jelszavad legyen 6-32 karakter!\\nKérlek regisztrálj!\\n\\nGépelj be egy jelszavat!\", \"Tovább\", \"\"); } else { Kick(playerid); } return 1; } if(dialogid == DIALOG_SEX) { if(response) { switch(listitem) { case 0: { pInfo[playerid][sex] = 1; ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, \"Karakter adatok\", \"Hány éves a karaktered?\\n(21-99)\", \"Tovább\", \"\"); } case 1: { pInfo[playerid][sex] = 2; ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, \"Karakter adatok\", \"Hány éves a karaktered?\\n(21-99)\", \"Tovább\", \"\"); } } } return 1; } if(dialogid == DIALOG_AGE) { if(response) { new age = strval(inputtext); if((age > 20) && (age < 100)) { pInfo[playerid][Age] = age; ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, \"Bejelentkezés\", \"Gépeld be a jelszavad!\", \"Belép\", \"Kilép\"); } else ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, \"Karakter adatok\", \"Hány éves a karaktered?\\n(21-99)\", \"Tovább\", \" \"); } else { Kick(playerid); } return 1; } return 0; } ötlet?
33
« Dátum: 2015. március 30. - 15:05:15 »
Teljes mértékben igazad van, egy admin pls törölje a témát!
34
« Dátum: 2015. március 30. - 12:48:53 »
Az utolsó pár sorban megjegyeztem, hogy nem vagyok pontos, Elnézést is kérek érte, de ezzel a tutoriallal már egy nagyon egyszerű szervert már össze lehet hozni. Kedvet szerettem volna csinálni a nagyon kezdőknek, és kicsit ösztönötni az RP editereket, hogy írjanak saját módot. Még az egyszer biztos Elnézést kérek a hiányosságokért!
35
« Dátum: 2015. március 30. - 07:14:54 »
Helyezd kérlek át! Köszönöm!
36
« Dátum: 2015. március 30. - 00:21:58 »
nem tudtam eldönteni, mert egyszerre egy működő gamemode és leírás
37
« Dátum: 2015. március 29. - 23:52:39 »
/* Köszöntelek a rövid tutorial scriptben! a \"per csillag\" nyitja a kommentárt, a \"csillag per\" pedig zárja, mint azt láthatod itt is */ //a kommentárt így is hozzáadhatod, de a \"//\" után a teljes sor kommentként lesz jelen /* ha összehasonlítasz, azt mindig így tedd: if(változó1 == változó2) ez egyenlőséget jelez if(változó1 >= változó2) változó1 nagyobb vagy egyenlő a változó2-vel if(változó1 <= változó2) változó1 kisebb vagy egyenlő a változó1-el if(változó1 > változó2) változó1 nagyobb, mint a változó2 if(változó1 < változó2) változó1 kisebb, mint a változó2 !!!FONTOS!!! a változók nevébe ne adj meg ékezetes karaktereket! a változókhoz rendelhetsz értéket: new integer = 1; new Float:value = 3.14; new string[24] = \"egy karakterlánc\"; integer++; //az integer nevű változóhoz hozzáad egyet integer--; //az integer nevű változóból kivon egyet integer -= 2; //az integer értékből kivontunk 2-t, ugyanaz, mint: integer = integer -2; integer += 2;//az integerhez hozzáadtunk 2-t, ugyanaz, mint: integer = integer +2; integer *= 2; //az integer-t megszoroztuk kettővel, ugyanaz, mint: integer = integer * 2; !!!FONTOS!!! elkerülendő, hogy az érték átadáskor kifaggyon a program, figyelembe kell venni, hogy a változó typusa megfelelő legyen az adott adat tárolására! [GYAKORI HIBA]: integer /= 2; //az integer-t osztotuk kettővel,ugyanaz, mint: integer = integer /2; az integer egész változó típusú, így nem tudja tárolni az adatokat. Miért? Fel van készítve arra, hogy az osztás nem egész számot ad vissza, pl.: 1/2 = 0.5 Ezt már nem tudja menteni egyszerű egész számra lefoglalt memóriaterületre a program a lefoglalható memóriaterületekre most nem térek ki, aki kiváncsi rá, az olvasson utána (Elnézést kérek érte) include-ok az include-ok amolyan beépülők, a pawno/includes mappájából olvassa be őket a konverter. #include <a_samp> //ez egy olyan alap, amelyre minden módban szükség van #include <zcmd> //ez egy parancsfeldolgozó, ezzel (szerintem/számomra) legegyszerűbb a parancsok feldolgozása, lentebb ki lesz fejtve #include <sscanf2> //ez egy függvény, amely a zcmd-t segíti, feldarabolja a paramétereket, és segít feldolgozni azokat, további infó lentebb néhány include megköveteli a plugin-okat, ezeket a plugins mappában találjuk és oda is kell őket beilleszteni. az include-ok helyes felhasználásáról érdemes többet olvasni, a leírás végén linkelek pár leírást. */ //a script működése érdekében kivettem a kódot a megjegyzésekből, és a feldolgozandó részbe is kimásoltam #include <a_samp> #include <zcmd> #include <sscanf2> //definíciók //definiálhatsz egy szavat, amihez hozzáadsz egy értéket, így például a zöld színt #define COLOR_GREEN 0x33AA33AA //#define kulcsszó érték stock pName( playerid ) { new name[ MAX_PLAYER_NAME ]; GetPlayerName( playerid, name, sizeof name ); return name; } main()//ezt a részt innen ne töröld ki, különben nem fut fel a szerver { /*a \"print\" a konzolba ír szöveget pl.: print(\"hello world\"); ha egy változót szeretnénk a szövegbe beilleszteni, nem kell sztringeket létrehozni sé formázni őket, mint egyébként a SendClientMessage-nél kéne. a változó beillesztős konzolos kiírás így néz ki: new integer = 4; printf(\"az integer értéke %d\",integer); */ print(\"\\n----------------------------------\"); print(\" A játékmód felfutott\"); print(\"----------------------------------\\n\"); } public OnGameModeInit()//amikor felfut a mód { SetGameModeText(\"teszt mód\");//ez írja a szerver kliensben a GAMEMODE alá //az AddPlayerClass-okból legalább egyet haggy bent, különben bugolni fog a szerver AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } public OnGameModeExit()//amikor a szerver leáll { return 1; } public OnPlayerRequestClass(playerid, classid)//amikor a játékos spawn előtt választ { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid)//amikor a játékos csatlakozik { new string[180];//létrehoztál egy új sztringet format(string,sizeof(string),\"%s csatlakozott a szerverhez!\",pName(playerid)); SendClientMessageToAll(-1,string); return 1; } public OnPlayerDisconnect(playerid, reason)//amikor egy játékos lecsatlakozik { new string[180];//létrehoztál egy új sztringet, a []-ben szereplő érték a biteket foglalja le a memóriában //minél több karaktert szeretnél beletenni, annál több itet kell lefoglalni format(string,sizeof(string),\"%s lecsatlakozott a szerverről!\",pName(playerid)); //a string változóba eltároltuk a szöveget. a \" %s \" a játékos nevét fogja behelyetesíteni. //minden változó fajta behelyettesítéséhez más karaktert használunk. //%s a sztring, %f a lebegőpontos, %d az egész változó SendClientMessageToAll(-1,string); switch(reason)//a switch a sok változós összehasonlításnál jó //switch-be beírod a változót, a \"case\" után pedig hogy mit tartalmazzon. { case 0: SendClientMessageToAll(-1,\"Oka: időtúllépés\"); //ha a változó egyet tartalmaz, akkor ezt írja case 1: SendClientMessageToAll(-1,\"Oka: kilépett (/q)\"); //ha a változó kettőt tartalmaz, akkor ezt írja case 2: SendClientMessageToAll(-1,\"Oka: kick/ban\"); //ha a változó hármat tartalmaz, akkor ezt írja } /* ez az összehasonlítás így is kinézhetett volna: if (reason == 0) SendClientMessageToAll(-1,\"Oka: időtúllépés\"); else if (reason == 1) SendClientMessageToAll(-1,\"Oka: kilépett (/q)\"); else if (reason == 2) SendClientMessageToAll(-1,\"Oka: kick/ban\"); */ return 1; } public OnPlayerSpawn(playerid)//mikor a játékos spawnol { return 1; } public OnPlayerDeath(playerid, killerid, reason)//miko a játékos meghal { return 1; } public OnPlayerText(playerid, text[])//amikor a játékos beír valamilyen szöveget, a parancsok nem tartoznak ide { return 1; } public OnPlayerUpdate(playerid)//amikor a játékos és a szerver között van kapcsolat, tehát ezred másodpercenként { return 1; } CMD:car(playerid,params[])//amikor a játékos beírja ezt a parancsot { //itt létrehozol változókat new car; //ez egy egyszerű változó, mely egy integer-t, tehát egy egész számot ment a memóriába. new Float:x,Float:y,Float:z,Float:Angle;// a \"Float:\" lebegőpontos (pl 3.14) értéket ment GetPlayerPos(playerid,x,y,z);//lekéri a játékos koordinátáit. a koordináták mindig lebegőpontosak GetPlayerFacingAngle(playerid,Angle); //lekéri a játékos nézőszögét, ez szintén lebegőpontos car = CreateVehicle(558,x,y,z,Angle,0,0,-1);//a \"car\" nevű változóra rátesszük a járművet, amit létrehozunk. // CreateVehicle(jármű modell, x tengely, y tengely, z tengely, forgási tengely, szín 1, szín 2, respawn idő); PutPlayerInVehicle(playerid,car,0);//beleteszi a járműbe a játékost, PutPlayerInVehicle(játékosid, jármű id, ülés száma) //az ülések: 0-sofőr,1 - anyós, 2&3 - hátsó ülések,4 és több ritkán használt SendClientMessage(playerid,-1,\"Lekértél egy autót!\"); //küldesz egy üzenetet a játékosnak, SendClientMessage(játékos id, szín id, \"Üzenet\"); return 1; //visszaadjuk a szervernek, hogy parancsot írt be a játékos } CMD:createcar(playerid, params[]) { new string[128],carmodel,Float:x,Float:y,Float:z,Float:angle;//létrehozzuk a változókat if(sscanf(params, \"d\", carmodel)) return SendClientMessage(playerid, -1, \"[TIPP]: /createcar <modell>\"); //az SSCANF feldolgozza a paramétereket, kiolvassa a paraméterek közül a megadott modellt, pl.: /createcar 558 //itt az 558-as értéket menti át a \"carmodel\" változóba. GetPlayerPos(playerid,x,y,z);//lekérjük a koordinátákat, az előző parancsnál magyarázva GetPlayerFacingAngle(playerid,angle);//lekérjük a játékos nézőszögét, előző parancsnál magyarázva new car = CreateVehicle(carmodel,x,y,z,angle,0,0,-1);//létrehozzuk a járművet, előző parancsnál magyarázva PutPlayerInVehicle(playerid,car,0);//beleültetjük a játékost a járműbe, előző parancsnál magyarázva format(string,sizeof(string),\"Letettél egy %d modellű járművet! [iD:%d]\",carmodel,car); /*a sztringbe beillesztjük a szövegünket, melyben az első %d az általunk megadott jármű modellje lesz, a második pedig a jármű ID-je, melyet az imént létrehoztunk*/ SendClientMessage(playerid,COLOR_GREEN,string);//elküldjük a játékosnak az üzenetet return 1; } /*amennyiben a leírások valamelyike nem volt érthető, vagy nem merítettem ki a témát eléggé, (mert nem írtam le mindent, ez az igazság) mellékelek egy link listát! külön köszönet a www.sampforum.hu adminjainak és felhasználóinak! zcmd leírása: http://sampforum.hu/index.php?topic=10780.0 sscanf leírása: http://sampforum.hu/index.php?topic=4400.0 !!!Figyelem!!! Előfordulhatnak banális elírási, illetve fogalmazási és megnevezési hibák. Amennyiben észrevételek vannak, kérem őket kommentbe, privát üzenetbe, vagy a [email protected] címre. Megértéseteket köszönöm! */
38
« Dátum: 2015. március 18. - 12:19:17 »
Az átmenetek néhol furák, de amúgy szép munka :smokin:
39
« Dátum: 2015. március 17. - 10:58:33 »
Bocsánat! javítok! public OnVehicleSpawn(vehicleid) { new objectid = CreateObject(19419, 0, 0, 0, 0, 0, 0); AttachObjectToVehicle(objectid, vehicleid, 0.009999, -0.019999, 0.944999, 0.000000, 0.000000, 0.000000); //Object Model: 19419 | return 1; }
40
« Dátum: 2015. március 16. - 20:37:48 »
public OnVehicleSpawn(vehicleid) { new objectid = CreateObject(19419, 0, 0, 0, 0, 0, 0); AttachObjectToVehicle(objectid, GetPlayerVehicleID(playerid), 0.009999, -0.019999, 0.944999, 0.000000, 0.000000, 0.000000); //Object Model: 19419 | SendClientMessage(playerid, COLOR_RED, \"You\'ve Added a siren to your vehicle\"); return 1; }
Nem volt tesztelve, de elvileg kéne mennie
41
« Dátum: 2015. február 11. - 10:51:23 »
Alapjában véve meg van írva, hogy lehajoljon, ha átnézitek a kódot, látni. valamiért nem hajtja végre a ApplyAnimation(target, \"BOMBER\", \"BOM_Plant\", 4.0, 1, 0, 0, 0, 0); részét. ha valakinek ötlete van, hogy lehetne kijavítani, várom! Feltettem a kódot is! megjegyzés: az admin link shortener miatt REGGEL levette a linket, DÉLIG nem volt link, később ki lett téve egy rendes link, emiatt nem volt elérhető a letöltés. figyelmeztetést megkaptam érte, többet nem fordul elő.
42
« Dátum: 2015. február 09. - 01:27:09 »
Hali! Megtetszett a bankrablás a GTA5-ből, hát megirtam. /bank paranccsal bejutsz a bankba. Ott ácsorog egy NPC. Ha rászegezed a fegyvert, akkor elkezdi kipakolni a pénzt a pultra, pár másodperc múlva a rabló felveszi az összeget és mehet. Tehát bemész http://kepfeltoltes.hu/150209/sa-mp-049_www.kepfeltoltes.hu_.png[/img] Előhúzod a fegyvert http://kepfeltoltes.hu/150209/sa-mp-050_www.kepfeltoltes.hu_.png[/img] Rá célzol http://kepfeltoltes.hu/150209/sa-mp-051_www.kepfeltoltes.hu_.png[/img] Kezdi kipakolni a lóvét http://kepfeltoltes.hu/150209/sa-mp-052_www.kepfeltoltes.hu_.png[/img] Kipakolta, futás. http://kepfeltoltes.hu/150209/sa-mp-053_www.kepfeltoltes.hu_.png[/img] Egyszerre csak egy ember rabolhat és nincs lefagyasztva a rabló a rablás idejére, hiszen igy nem tudna védekezni. ha /enter & /exit parancsra van irva a módban a belépés/kilépés, ide csak egy new bool:IsPlayerRobbing[MAX_PLAYERS]; CMD:exit(playerid,params[]) { if(IsPlayerRobbing[playerid] == true) return SendClientMessage(playerid,-1,\"Rablás közben nem mehetsz ki!\"); }
ez egy tipp,mindenkire rábizom, hogy oldja meg Alapból 10 000 dolcsit ad a rablásért, de ebben a sorban be lehet állitani mennyit adjon: #define BankRobMoney 10000
A fájl tartalmazza a forráskódot, a konvertált .AMX fájlt és az NPC felvételét(.rec). A rendszert szabadon lehet használni, fejleszteni, a nevemet azért tüntessétek fel. Köszi! link: http://www.filedropper.com/bankrobkód: #include <a_samp> #include <zcmd> new bool:BankRobToggle; #define COLOR_GREEN 0x33AA33AA #define COLOR_GREY 0xAFAFAFAA #define BankRobMoney 10000 stock pName(playerid) { new name[100]; GetPlayerName(playerid,name,sizeof(name)); return name; } public OnFilterScriptInit() { CreateMap(); BankRobToggle = false; ConnectNPC(\"Bank_NPC\", \"bot\"); return 1; } forward CreateMap(); public CreateMap() { CreateObject(4571,2164.8999000,-518.7999900,433.2000100,0.0000000,0.0000000,0.0000000); //object(stolenbuilds09) (1) CreateObject(2173,2183.3000000,-520.9000200,497.5000000,90.0000000,0.0000000,180.0000000); //object(med_office_desk_3) (2) CreateObject(2173,2185.2000000,-520.9000200,497.5000000,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (3) CreateObject(2173,2187.1001000,-520.9000200,497.5000000,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (4) CreateObject(2173,2183.3000000,-520.5000000,497.2000100,0.0000000,0.0000000,180.0000000); //object(med_office_desk_3) (6) CreateObject(2173,2185.2000000,-520.5000000,497.2000100,0.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (7) CreateObject(2173,2187.1001000,-520.5000000,497.2000100,0.0000000,0.0000000,179.9950000); //object(med_office_desk_3) ( CreateObject(2174,2187.1001000,-520.5999800,497.2000100,0.0000000,0.0000000,270.0000000); //object(med_office4_desk_2) (1) CreateObject(2190,2185.8000000,-520.4000200,498.0000000,0.0000000,0.0000000,0.0000000); //object(pc_1) (1) CreateObject(2190,2183.6001000,-520.4000200,498.0000000,0.0000000,0.0000000,0.0000000); //object(pc_1) (2) CreateObject(2174,2184.8000000,-520.7000100,497.2000100,0.0000000,0.0000000,270.0000000); //object(med_office4_desk_2) (3) CreateObject(2173,2187.3000000,-522.9000200,497.2000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (9) CreateObject(2173,2185.3999000,-522.9000200,497.2000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (10) CreateObject(2173,2183.5000000,-522.9000200,497.2000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (11) CreateObject(2174,2182.6001000,-520.5999800,497.2000100,0.0000000,0.0000000,270.0000000); //object(med_office4_desk_2) (4) CreateObject(2173,2187.3000000,-522.9000200,498.0000000,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (13) CreateObject(2173,2187.3000000,-522.9000200,498.7999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (14) CreateObject(2173,2185.3999000,-522.9000200,498.0000000,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (15) CreateObject(2173,2185.3999000,-522.9000200,498.7999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (16) CreateObject(2173,2183.5000000,-522.9000200,498.0000000,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (17) CreateObject(2173,2183.5000000,-522.9000200,498.7999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (18) CreateObject(2173,2188.3999000,-520.5999800,498.8999900,90.0000000,0.0000000,269.9950000); //object(med_office_desk_3) (19) CreateObject(2173,2182.3000000,-521.5999800,498.7999900,90.0000000,0.0000000,89.9890000); //object(med_office_desk_3) (20) CreateObject(2173,2189.0000000,-520.9000200,497.5000000,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (21) CreateObject(2173,2189.1001000,-520.9000200,498.2999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (22) CreateObject(2173,2189.1001000,-520.9000200,499.1000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (23) CreateObject(2173,2182.6001000,-520.9000200,498.2999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (24) CreateObject(2173,2182.6001000,-520.9000200,499.1000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (25) CreateObject(16150,2185.5000000,-518.9000200,496.7000100,0.0000000,0.0000000,0.0000000); //object(ufo_barinterior) (1) CreateObject(2173,2189.1001000,-520.9000200,499.8999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (26) CreateObject(2173,2188.3999000,-520.5999800,499.7000100,90.0000000,0.0000000,269.9890000); //object(med_office_desk_3) (27) CreateObject(2173,2187.3000000,-522.9000200,499.6000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (28) CreateObject(2173,2185.3999000,-522.9000200,499.6000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (29) CreateObject(2173,2183.5000000,-522.9000200,499.6000100,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (30) CreateObject(2173,2182.3000000,-521.5999800,499.6000100,90.0000000,0.0000000,89.9890000); //object(med_office_desk_3) (31) CreateObject(2173,2182.6001000,-520.9000200,499.8999900,90.0000000,0.0000000,179.9950000); //object(med_office_desk_3) (32) CreateObject(1522,2184.5000000,-513.0000000,497.1000100,0.0000000,0.0000000,0.0000000); //object(gen_doorshop3) (1) } public OnPlayerSpawn(playerid) { if (IsPlayerNPC(playerid)) { if ( !strcmp ( pName(playerid), \"Bank_NPC\", true ) ) { SetPlayerSkin(playerid,194); return 1; } } return 1; } public OnPlayerUpdate(playerid) { if(!IsPlayerNPC(playerid)) { if(GetPlayerWeapon(playerid) <34 && GetPlayerWeapon(playerid) >21) { new target = GetPlayerTargetPlayer(playerid); if (BankRobToggle == false) { if(IsPlayerNPC(target)) { if ( !strcmp ( pName(target), \"Bank_NPC\", true ) ) { ApplyAnimation(target,\"ped\",\"handsup\",4.1,0,1,1,1,1,1); BankRobToggle = true; new Float:x,Float:y,Float:z,string[280]; GetPlayerPos(playerid,x,y,z); for(new i = 0; i < MAX_PLAYERS; i++) { if (IsPlayerInRangeOfPoint(i,10.0,x,y,z)) { format(string,sizeof(string),\"%s kiabálja: Fegyveres rablás! Mindenki a földre!\",pName(playerid)); SendClientMessage(i,-1,string); format(string,sizeof(string),\"%s kiabálja: Hé, Bankos! Pakold a pénzt kifelé!\",pName(playerid)); SendClientMessage(i,-1,string); } } SetTimerEx(\"BankRobStart\",1500,false,\"dd\",playerid,target); } } } } } return 1; } forward BankRobStart(playerid,target); public BankRobStart(playerid,target) { new Float:x,Float:y,Float:z; GetPlayerPos(target,x,y,z); if(IsPlayerNPC(target)) { if ( !strcmp ( pName(target), \"Bank_NPC\", true ) ) { ApplyAnimation(target, \"BOMBER\", \"BOM_Plant\", 4.0, 1, 0, 0, 0, 0); SetTimerEx(\"BankRobReady\",15000,false,\"dd\",playerid,target); for(new i = 0; i < MAX_PLAYERS; i++) { if (IsPlayerInRangeOfPoint(i,8.0,x,y,z)) { SendClientMessage(i,-1,\"Bankos hebegi: Odaadom a pénzt, csak egy...egy pillanat...\"); SendClientMessage(i,COLOR_GREEN,\"*Bankos nekiállt kipakolni a pénzt a széfből.*\"); } } } } } forward BankRobReady(playerid,targetid); public BankRobReady(playerid,targetid) { if(IsPlayerConnected(playerid)) { if(IsPlayerConnected(targetid)) { new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); ClearAnimations(targetid); GivePlayerMoney(playerid,BankRobMoney); BankRobToggle = false; for(new i = 0; i < MAX_PLAYERS; i++) { if (IsPlayerInRangeOfPoint(i,5.0,x,y,z)) { SendClientMessage(i,-1,\"*A rabló leszedi a pultról a pénzt*\"); } else if(IsPlayerInRangeOfPoint(i,8.0,x,y,z)) { SendClientMessage(i,-1,\"*A rabló leszedi a pultról a pénzt*\"); } } } } } CMD:bank(playerid,params[]) { SetPlayerPos(playerid,2185.2363,-513.9238,498.2156); SetPlayerInterior(playerid,1); SendClientMessage(playerid,-1,\"Beléptél a bankba!\"); return 1; }
update! javítva a fegyver lekérése! if(GetPlayerWeapon(playerid) <34 && GetPlayerWeapon(playerid) >21) Köszönet \"florone\" nevű fórumozónak! Hibákat, észrevételeket várom! Köszönöm!
43
« Dátum: 2015. január 16. - 02:33:08 »
az egész változókkal ez működik hiba nélkül, a lebegőpontos változókat megwarningolja egy tag mismatch-al a dolgot. hibás sorok: pInfo[playerid][PosX] = dfile_ReadFloat(\"PosX\"); pInfo[playerid][PosY] = dfile_ReadFloat(\"PosY\"); pInfo[playerid][PosZ] = dfile_ReadFloat(\"PosZ\"); ötletek?
44
« Dátum: 2014. december 23. - 14:51:28 »
köszi!
45
« Dátum: 2014. december 23. - 14:49:32 »
Hali! a dialogomban a szöveg iigy jelenik meg: asdasdasdasdasdasdasdasdasdasdasdasdasdasdasd asdasdasdasdasdasdasdasdasd asdasdasdasdasdasdasdasdasdasdasdasdasdasdasd asdasdasdasdasdasdasdasdasdasd asdasdasdasdasdasdasdasdasdasdasdasdasd asdasdasdasdasdasdasdasdasdasdasd hogy tudom rendezni ballra? asdasdasdasdasdasdasdasdasdasd asdasdasdasdasdasdasd asdasdasdasdasdasdasdasdasdasdasd asdasdasdasdasdasdasdasdasd asdasdasdasdasdasd asdasdasdasdasdasdasdasdasdasdasdasdasd
Oldalak: 1 2 [3] 4 5 ... 20
|