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 - EpicSlash
Oldalak: [1]
1
« Dátum: 2013. december 09. - 21:30:12 »
Sziasztok! A saját szkriptembe készítettem ezt az egyszerû kis függvényt. Hasonló az IsPlayerInRangeOfPoint -hoz, de ez csekkolja az interiort és a VW-t is. Használat: if(!strcmp(\"/enter\", cmd)) { //PozDetector(playerid, SUGÁR, X, Y, Z, Interior, VirtualWorld); if(PozDetector(playerid, 10, 2745.453, -456.564, 14.563, 0, 5)) { SetPlayerPos(playerid, 345, 6776, 32); SetPlayerVirtualWorld(playerid, 6); SetPlayerInterior(playerid, 3); SendClientMessage(playerid, 0xFFFFFFFF, \"Bementél a házba!\"); return 1; } else { SendClientMessage(playerid, 0xFFFFFFFF, \"Nem vagy a ház bejáratánál!\"); } return 1; } Függvény: #define fuggveny%0(%1) forward%0(%1); public%0(%1) // Ez összefonja a Public-ot és a Forward-ot. Credit: Régi See szkript (?Rolee) fuggveny PozDetector(playerid, Float:pdR, Float:pdX, Float:pdY, Float:pdZ, Float:pdI, Float:pdW) { new i = GetPlayerInterior(playerid), w = GetPlayerVirtualWorld(playerid); if(IsPlayerInRangeOfPoint(playerid, pdR, pdX, pdY, pdZ) && pdI == i && pdW == w) { return 1; } return 0; }
2
« Dátum: 2013. november 17. - 12:04:48 »
Hali! Szeretném átalakítani a CreateDynamic3DTextLabel fgv.-t, úgy hogy 5 részt kiszedek belõle. Próbáltam #define -vel és stock-al is megoldani, de egyik sem mûködött. Valaki tudna segíteni? #define Dynamic3DText(%0, %1, %2, %3, %4, %5, %6, %7) \\ CreateDynamic3DTextLabel(%0, 0xFFFFFFFF, %1, %2, %3, %6, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, %7, %4, %5, -1, 100)
3
« Dátum: 2013. november 16. - 17:52:04 »
Tetszik!+ De a fogalmazásod, meg a helyesírási hibáid... Függvény*, nem pedig föggvény.
4
« Dátum: 2013. november 15. - 20:50:08 »
Üdvözlök mindenkit! Lejjebb a saját készítésû Bejárat Rendszeremet mutatom be. Néhány függvény-t a régi See-modból vettem. A rendszer Bug-mentes. Ha mégis gond lenne vele, írjatok. Mivel hosszú szkript, elõfordulhat, hogy valamit kihagytam. Ha ez elõfordul, kérlek jelezd nekem. Tulajdonságai: -Egyszerû paranccsal készíthetõ IG. -Mindegyik bejáratnak hosszú neve lehet. -MySQL rendszerbe menti õket. -Szép 3Dtextlabel, PickUp, GameText. -Egy gombnyomásra bedob. -Streamer kell hozzá, azaz a VW-k, és az INT-ek teljesen elkülöníthetõk egymástól. -BetoltBejaratok(); függvényt használhatod akárhányszor, szépen újratölti a MySQl-bõl az adatokat. Kép: http://kepfeltoltes.hu/131115/sa-mp-904_www.kepfeltoltes.hu_.png.sql fájl letöltése: https://mega.co.nz/#!9s1EVZLK!VTcMZil6fmezCH8NGVmDTVmhpKNrj6fn5XW3AyhWTkQMaga a szkript: Változók, enumok: #define DIALOG_BEJARAT 9876 #define MAX_BEJARATOK 100 enum bejaratok_adatai { Float:kint_x, Float:kint_y, Float:kint_z, kint_i, kint_w, Float:bent_x, Float:bent_y, Float:bent_z, bent_i, bent_w, b_van, b_id }; new Bejaratok[MAX_BEJARATOK][bejaratok_adatai]; new BejaratokPickup[sizeof(Bejaratok)][2]; new Text3D:Bejaratok3D[sizeof(Bejaratok)][2]; new BejaratokNeve[sizeof(Bejaratok)][1]; new bool:BejaratKeszito[MAX_PLAYERS] = false; enum BejaratKeszitoAdatok { Float:b_poz_x, Float:b_poz_y, Float:b_poz_z, b_poz_i, b_poz_w }; new BejaratKeszitoPoz[MAX_PLAYERS][bejaratKeszitoAdatok]; OnPlayerConnect és OnGameModeInit public OnPlayerConnect(playerid) { ResetPlayerBejaratKeszito(playerid); return 1; } public OnGameModeInit() { BetoltBejaratok(); return 1; }
Fõ Parancs: /bejarat CMD:bejarat(playerid, params[]) { if(BejaratKeszito[playerid] == false) { ShowPlayerDialog(playerid, DIALOG_BEJARAT, DIALOG_STYLE_MSGBOX, \"Bejárat készítõ\", \"Helló! Ha szeretnél ide egy bejáratot, akkor kattints a \'Mehet\' gombra.\", \"Mehet\", \"Mégse\"); return 1; } if(BejaratKeszito[playerid] == true) { new b_neve[30], BejaratID = UresBejaratHely(); if(BejaratID == -1) { MSG(playerid, \"Nem rakható le több bejárat!\"); return 1; } if(sscanf(params, \"s[30]\", b_neve)) return MSG(playerid, \"Használat: /bejarat [ Bejárat neve ]\"); else if(3 >= strlen(b_neve)) return MSG(playerid, \"A névnek 3 - 30 karakterig terjedõnek kell lennie!\"); else { strmid(BejaratokNeve[bejaratID], b_neve, 0, strlen(b_neve), strlen(b_neve)+1); } Bejaratok[bejaratID][b_van] = 1; new adatok[500], adatok_eleje[150], str_be[128], str_ki[128]; new Float:x, Float:y, Float:z, i = GetPlayerInterior(playerid), w = GetPlayerVirtualWorld(playerid); GetPlayerPos(playerid, x, y, z); Bejaratok[bejaratID][kint_x] = BejaratKeszitoPoz[playerid][b_poz_x]; Bejaratok[bejaratID][kint_y] = BejaratKeszitoPoz[playerid][b_poz_y]; Bejaratok[bejaratID][kint_z] = BejaratKeszitoPoz[playerid][b_poz_z]; Bejaratok[bejaratID][kint_i] = BejaratKeszitoPoz[playerid][b_poz_i]; Bejaratok[bejaratID][kint_w] = BejaratKeszitoPoz[playerid][b_poz_w]; Bejaratok[bejaratID][bent_x] = x; Bejaratok[bejaratID][bent_y] = y; Bejaratok[bejaratID][bent_z] = z; Bejaratok[bejaratID][bent_i] = i; Bejaratok[bejaratID][bent_w] = w; Bejaratok[bejaratID][b_id] = BejaratID; BejaratokPickup[bejaratID][0] = CreateDynamicPickup( 1318, 23, Bejaratok[bejaratID][kint_x], Bejaratok[bejaratID][kint_y], Bejaratok[bejaratID][kint_z], Bejaratok[bejaratID][kint_w], Bejaratok[bejaratID][kint_i], -1, 100 ); BejaratokPickup[bejaratID][1] = CreateDynamicPickup( 1318, 23, Bejaratok[bejaratID][bent_x], Bejaratok[bejaratID][bent_y], Bejaratok[bejaratID][bent_z], Bejaratok[bejaratID][bent_w], Bejaratok[bejaratID][bent_i], -1, 100 ); format(str_be, sizeof(str_be), \"{339933}[bejárat]\\n{33cc66}%s\", BejaratokNeve[bejaratID]); format(str_ki, sizeof(str_ki), \"{339933}[Kijárat]\\n{33cc66}%s\", BejaratokNeve[bejaratID]); Bejaratok3D[bejaratID][0] = CreateDynamic3DTextLabel( str_be, -1, Bejaratok[bejaratID][kint_x], Bejaratok[bejaratID][kint_y], Bejaratok[bejaratID][kint_z]+0.7, 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, Bejaratok[bejaratID][kint_w], Bejaratok[bejaratID][kint_i], -1, 100 ); Bejaratok3D[bejaratID][1] = CreateDynamic3DTextLabel( str_ki, -1, Bejaratok[bejaratID][bent_x], Bejaratok[bejaratID][bent_y], Bejaratok[bejaratID][bent_z]+0.7, 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, Bejaratok[bejaratID][bent_w], Bejaratok[bejaratID][bent_i], -1, 100 ); adatok_eleje = \"INSERT INTO `bejaratok` (`id`,`kint_x`,`kint_y`,`kint_z`,`kint_i`,`kint_w`,`bent_x`,`bent_y`,`bent_z`,`bent_i`,`bent_w`,`nev`) VALUES \"; format(adatok,sizeof(adatok),\"%s(\'%i\',\'%f\',\'%f\',\'%f\',\'%i\',\'%i\',\'%f\',\'%f\',\'%f\',\'%i\',\'%i\',\'%s\')\",\\ adatok_eleje, Bejaratok[bejaratID][b_id], Bejaratok[bejaratID][kint_x], Bejaratok[bejaratID][kint_y], Bejaratok[bejaratID][kint_z], Bejaratok[bejaratID][kint_i], Bejaratok[bejaratID][kint_w], Bejaratok[bejaratID][bent_x], Bejaratok[bejaratID][bent_y], Bejaratok[bejaratID][bent_z], Bejaratok[bejaratID][bent_i], Bejaratok[bejaratID][bent_w], BejaratokNeve[bejaratID]); mysql_query(adatok); FMSG(playerid, \"Új bejárat lerakva! (#%d)\", BejaratID); BejaratKeszito[playerid] = false; return 1; } return 1; } Egyéb parancsok: /bejaratdel (Bejárat törlése) /bejaratgo (Teleport bejárathoz) /bejaratclosest (Legközelebbi bejárat ID-je.) CMD:bejaratdel(playerid, params[]) { new delid; if(sscanf(params, \"i\", delid)) return MSG(playerid, \"Használat: /bejaratdel [ Bejárat ID ]\"); else { if(BejaratokPickup[delid][0]) DestroyDynamicPickup(BejaratokPickup[delid][0]); if(BejaratokPickup[delid][1]) DestroyDynamicPickup(BejaratokPickup[delid][1]); if(Bejaratok3D[delid][0]) DestroyDynamic3DTextLabel(Bejaratok3D[delid][0]); if(Bejaratok3D[delid][1]) DestroyDynamic3DTextLabel(Bejaratok3D[delid][1]); BejaratokNeve[delid] = \"\"; Bejaratok[delid][kint_x] = 0; Bejaratok[delid][kint_y] = 0; Bejaratok[delid][kint_z] = 0; Bejaratok[delid][kint_i] = 0; Bejaratok[delid][kint_w] = 0; Bejaratok[delid][bent_x] = 0; Bejaratok[delid][bent_y] = 0; Bejaratok[delid][bent_z] = 0; Bejaratok[delid][bent_i] = 0; Bejaratok[delid][bent_w] = 0; Bejaratok[delid][b_id] = 0; Bejaratok[delid][b_van] = 0; new string[64]; format(string, sizeof(string), \"DELETE FROM `samp`.`bejaratok` WHERE `bejaratok`.`id` = %d\", delid); mysql_query(string); } return 1; } CMD:bejaratclosest(playerid, params[]) { new bejaratid = GetClosestBejarat(playerid); new Float:distance = GetDistanceToBejarat(playerid, bejaratid); FMSG(playerid, \"Legközelebbi bejárat: ID(#%d) Távolság: %.2f\", bejaratid, distance); return 1; } CMD:bejaratgo(playerid, params[]) { new iden; if(sscanf(params, \"i\", iden)) return MSG(playerid, \"/gobejarat [id]\"); else { if(Bejaratok[iden][b_van] == 0) return MSG(playerid, \"Nincs ilyen bejárat.\"); SetPlayerVirtualWorld(playerid, Bejaratok[iden][kint_w]); SetPlayerInterior(playerid, Bejaratok[iden][kint_i]); SetPlayerPos(playerid, Bejaratok[iden][kint_x], Bejaratok[iden][kint_y], Bejaratok[iden][kint_z]); } return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { for(new i = 0;i < sizeof(BejaratokPickup);i++) { if( IsPlayerInRangeOfPoint(playerid,2,Bejaratok[kint_x],Bejaratok[kint_y],Bejaratok[kint_z]) && GetPlayerVirtualWorld(playerid) == Bejaratok[kint_w] ) { GameTextForPlayer(playerid, \"~u~ ~w~Belépéshez: ~g~~h~ALT ~u~\", 5000, 5); return 1; } } for(new i = 0;i < sizeof(BejaratokPickup);i++) { if( IsPlayerInRangeOfPoint(playerid,2,Bejaratok[bent_x],Bejaratok[bent_y],Bejaratok[bent_z]) && GetPlayerVirtualWorld(playerid) == Bejaratok[bent_w] ) { GameTextForPlayer(playerid, \"~d~ ~w~Kilépéshez: ~g~~h~ALT ~d~\", 5000, 5); return 1; } } return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(PRESSED(KEY_WALK)) { for(new i = 0;i < sizeof(BejaratokPickup);i++) { if( IsPlayerInRangeOfPoint(playerid,2,Bejaratok[kint_x],Bejaratok[kint_y],Bejaratok[kint_z]) && GetPlayerVirtualWorld(playerid) == Bejaratok[kint_w] && GetPlayerInterior(playerid) == Bejaratok[kint_i] ) { SetPlayerPos(playerid,Bejaratok[bent_x],Bejaratok[bent_y],Bejaratok[bent_z]); SetPlayerInterior(playerid,Bejaratok[bent_i]); SetPlayerVirtualWorld(playerid,Bejaratok[bent_w]); SetCameraBehindPlayer(playerid); return 1; } } for(new i = 0;i < sizeof(BejaratokPickup);i++) { if( IsPlayerInRangeOfPoint(playerid,2,Bejaratok[bent_x],Bejaratok[bent_y],Bejaratok[bent_z]) && GetPlayerVirtualWorld(playerid) == Bejaratok[bent_w] && GetPlayerInterior(playerid) == Bejaratok[bent_i] ) { SetPlayerPos(playerid,Bejaratok[kint_x],Bejaratok[kint_y],Bejaratok[kint_z]); SetPlayerInterior(playerid,Bejaratok[kint_i]); SetPlayerVirtualWorld(playerid,Bejaratok[kint_w]); return 1; } } return 1; } return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_BEJARAT) { if(response) { new Float:pozi_x, Float:pozi_y, Float:pozi_z, pozi_i, pozi_w; GetPlayerPos(playerid, pozi_x, pozi_y, pozi_z); pozi_i = GetPlayerInterior(playerid); pozi_w = GetPlayerVirtualWorld(playerid); BejaratKeszitoPoz[playerid][b_poz_x] = pozi_x; BejaratKeszitoPoz[playerid][b_poz_y] = pozi_y; BejaratKeszitoPoz[playerid][b_poz_z] = pozi_z; BejaratKeszitoPoz[playerid][b_poz_i] = pozi_i; BejaratKeszitoPoz[playerid][b_poz_w] = pozi_w; BejaratKeszito[playerid] = true; MSG(playerid, \"Ez kész van. Most menj el oda, ahova a kijáratot szeretnéd, majd írd be ezt: /bejarat [bejárat neve]\"); } return 1; } return 1; } Függvény: BetoltBejaratok(); Szépen újratölti az adatokat. stock BetoltBejaratok() { TorolIGObjectek(); new count = 0; while (count < sizeof(Bejaratok)) { new where[32]; format(where, sizeof(where), \"id=\'%d\'\", count); if(Mysql_Num(\"bejaratok\", where) == 1) { Bejaratok[count][b_van] = 1; } else { Bejaratok[count][b_van] = 0; } if(Bejaratok[count][b_van] == 1) { new query[128]; format(query, sizeof(query), \"SELECT * FROM `bejaratok` WHERE %s\", where); mysql_query(query); new datas[256], data[12][6]; mysql_store_result(); mysql_fetch_row(datas); mysql_free_result(); split(datas, data, \'|\'); Bejaratok[count][b_id] = strval(data[0]); Bejaratok[count][kint_x] = floatstr(data[1]); Bejaratok[count][kint_y] = floatstr(data[2]); Bejaratok[count][kint_z] = floatstr(data[3]); Bejaratok[count][kint_i] = strval(data[4]); Bejaratok[count][kint_w] = strval(data[5]); Bejaratok[count][bent_x] = floatstr(data[6]); Bejaratok[count][bent_y] = floatstr(data[7]); Bejaratok[count][bent_z] = floatstr(data[8]); Bejaratok[count][bent_i] = strval(data[9]); Bejaratok[count][bent_w] = strval(data[10]); strmid(BejaratokNeve[count], data[11], 0, strlen(data[11])+1, strlen(data[11])+1); Bejaratok[count][b_van] = 1; BejaratokPickup[count][0] = CreateDynamicPickup( 1318, 23, Bejaratok[count][kint_x], Bejaratok[count][kint_y], Bejaratok[count][kint_z], Bejaratok[count][kint_w], Bejaratok[count][kint_i], -1, 100 ); BejaratokPickup[count][1] = CreateDynamicPickup( 1318, 23, Bejaratok[count][bent_x], Bejaratok[count][bent_y], Bejaratok[count][bent_z], Bejaratok[count][bent_w], Bejaratok[count][bent_i], -1, 100 ); new str_be[128], str_ki[128]; format(str_be, sizeof(str_be), \"{339933}[bejárat]\\n{33cc66}%s\", BejaratokNeve[count]); format(str_ki, sizeof(str_ki), \"{339933}[Kijárat]\\n{33cc66}%s\", BejaratokNeve[count]); Bejaratok3D[count][0] = CreateDynamic3DTextLabel( str_be, -1, Bejaratok[count][kint_x], Bejaratok[count][kint_y], Bejaratok[count][kint_z]+0.7, 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, Bejaratok[count][kint_w], Bejaratok[count][kint_i], -1, 100 ); Bejaratok3D[count][1] = CreateDynamic3DTextLabel( str_ki, -1, Bejaratok[count][bent_x], Bejaratok[count][bent_y], Bejaratok[count][bent_z]+0.7, 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, Bejaratok[count][bent_w], Bejaratok[count][bent_i], -1, 100 ); } count++; } return 1; } Egyéb függvények, melyekre szükségünk lesz. Van ami SeeRPG mod átalakítás. Credit: Rolee stock split(const strsrc[], strdest[][], delimiter) { new i, li; new aNum; new len; while(i <= strlen(strsrc)){ if(strsrc==delimiter || i==strlen(strsrc)){ len = strmid(strdest[aNum], strsrc, li, i, 128); strdest[aNum][len] = 0; li = i+1; aNum++; } i++; } return 1; } stock Mysql_Num(tabla[], ahol[]) { new query[256], num; format(query, sizeof(query), \"SELECT * FROM `%s` WHERE %s\", tabla, ahol); mysql_query(query); mysql_store_result(); num = mysql_num_rows(); mysql_free_result(); return num; } stock TorolIGObjectek() { for(new i = 0;i < sizeof(Bejaratok);i++) { if(BejaratokPickup[0]) DestroyDynamicPickup(BejaratokPickup[0]); if(BejaratokPickup[1]) DestroyDynamicPickup(BejaratokPickup[1]); if(Bejaratok3D[0]) DestroyDynamic3DTextLabel(Bejaratok3D[0]); if(Bejaratok3D[1]) DestroyDynamic3DTextLabel(Bejaratok3D[1]); BejaratokNeve = \"\"; Bejaratok[kint_x] = 0; Bejaratok[kint_y] = 0; Bejaratok[kint_z] = 0; Bejaratok[kint_i] = 0; Bejaratok[kint_w] = 0; Bejaratok[bent_x] = 0; Bejaratok[bent_y] = 0; Bejaratok[bent_z] = 0; Bejaratok[bent_i] = 0; Bejaratok[bent_w] = 0; Bejaratok[b_id] = 0; Bejaratok[b_van] = 0; } } stock UresBejaratHely() { new hely = -1; for(new x = 0; x < sizeof(Bejaratok); x++) { if(x==0) continue; if(Bejaratok { hely = x; break; } } return hely; } const Float:INF_FLOAT=Float:0x7F800000; stock Float:GetDistanceToBejarat(playerid, bejarat) { if (IsPlayerConnected(playerid) && Bejaratok[bejarat][b_van]) { return GetDistanceToPoint(playerid, Bejaratok[bejarat][kint_x], Bejaratok[bejarat][kint_y], Bejaratok[bejarat][kint_z]); } return INF_FLOAT; } stock GetClosestBejarat(playerid) { if(IsPlayerConnected(playerid)) { new kozelibejarat = -1; new Float:closestdist = 9999.0, Float:dist; for(new bejarat=0; bejarat< sizeof(Bejaratok); bejarat++) { dist = GetDistanceToBejarat(playerid, bejarat); if(dist < closestdist) { closestdist = dist; kozelibejarat = bejarat; } } return kozelibejarat; } return -1; } forward Float:GetDistanceToPoint(playerid,Float:x1,Float:y1,Float:z1); stock Float:GetDistanceToPoint(playerid,Float:x1,Float:y1,Float:z1) { if (IsPlayerConnected(playerid)) { new Float:x2,Float:y2,Float:z2; GetPlayerPos(playerid,x2,y2,z2); return GetDistanceBetweenPoints(x1,y1,z1,x2,y2,z2); } return INF_FLOAT; } forward Float:GetDistanceBetweenPoints(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2); stock Float:GetDistanceBetweenPoints(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2) { return floatadd(floatadd(floatsqroot(floatpower(floatsub(x1,x2),2)),floatsqroot(floatpower(floatsub(y1,y2),2))),floatsqroot(floatpower(floatsub(z1,z2),2))); } forward ResetPlayerBejaratKeszito(playerid); public ResetPlayerBejaratKeszito(playerid) { BejaratKeszito[playerid] = false; BejaratKeszitoPoz[playerid][b_poz_x] = 0; BejaratKeszitoPoz[playerid][b_poz_y] = 0; BejaratKeszitoPoz[playerid][b_poz_z] = 0; BejaratKeszitoPoz[playerid][b_poz_i] = 0; BejaratKeszitoPoz[playerid][b_poz_w] = 0; }
5
« Dátum: 2013. március 19. - 20:17:36 »
FIGYELEM!!Valamit kihagytál! Ha bejelentkezésnél/regisztrálásnál nem írnak semmit, akkor is belépteti õket stb.. Írjátok még be ezt: //ezt a dialog register/login alá kell! if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,\"Panel\",\"Felhasználó már létezik!\\nJelentkezz be!\",\"Mehet\",\"Mégse\"); { //.... }
6
« Dátum: 2013. március 18. - 20:15:59 »
Sziasztok! Egy elég egyszerû, de kompakt filterszkript! Lehet már készítettek hasonlót, de azért feltöltöm a sajátomat Lényege: Játékon belül Y betût nyomtok, akkor lehív egy tetszõleges jármûvet, amit a szkriptem beállítotok, és bele is rak titeket. 10 MP-nként tudtok lehívni, amit egy Text Draw is jelez. ScreaM verziója: http://www.solidfiles.com/d/303eb4d556/Képek: http://kepfeltoltes.hu/130318/sa-mp-687_www.kepfeltoltes.hu_.png[/img] http://kepfeltoltes.hu/130318/sa-mp-688_www.kepfeltoltes.hu_.png[/img] Beállítás-t találtok a modban. Használjátok egészséggel! // Készítette: Peti, 2013... Beállítások lejjebb!!! // verzió: 1.0.0 #include <a_samp> #define FILTERSCRIPT #pragma tabsize 0 #if defined FILTERSCRIPT public OnFilterScriptInit() { BetoltesYcucc(); // return 1; } public OnFilterScriptExit() { return 1; } #else main() { } #endif //========================[bEÁLLÍTÁSOK]============================== #define YBILL KEY_YES // Ezzel állíthatod át, hogy melyik gombra jöjjön elõ!! A \"KEY_YES\"-t kell változtatni!!! #define model 522 // Ez a jármû model amit lehívsz. 522 = NRG-500 #define szin1 8 // 1-es szín #define szin2 2 // 2-es szín //========================[bEÁLLÍTÁSOK]============================== //////////////////////////////////////////// //////////////////////////////////////////// //// Innenstõl kezdõ DIKK //////////// //////////////////////////////////////////// //////////////////////////////////////////// new bool:Ynyomhat[MAX_PLAYERS] = false; new Text:Ymehetnem, Text:Ymehetyes; #define TD_COLOR_RED 0xFF0000AA #define TD_COLOR_GREEN 0x33AA33AA #define NYOMOTTGOMB(%0) \\ (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) forward Ycucceltuntet(playerid); forward YnyomhatEX(playerid); public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(NYOMOTTGOMB(YBILL)) { if(Ynyomhat[playerid] == true) return 0; // itt hívja le a jármûvet, és dobja a playert rá, stb, stb.... { new Float:x, Float:y, Float:z, Float:a, vid; GetPlayerPos(playerid, x,y,z); GetPlayerFacingAngle(playerid, a); CreateVehicle(model, x,y,z,a,szin1,szin2, -1); vid = GetClosestVehicle(playerid); PutPlayerInVehicle(playerid, vid, 0); TextDrawShowForPlayer(playerid, Ymehetnem); Ynyomhat[playerid] = true; SetTimerEx(\"YnyomhatEX\", 10 * 1000, false, \"i\", playerid); SetTimerEx(\"Ycucceltuntet\", 12000, false, \"i\", playerid); } } return 0; } stock BetoltesYcucc() { Ymehetnem = TextDrawCreate(440,240,\"Jarmu lehivas inaktiv!\"); TextDrawFont(Ymehetnem,1); TextDrawLetterSize(Ymehetnem,0.5,1.76); TextDrawBackgroundColor(Ymehetnem, TD_COLOR_RED); TextDrawColor(Ymehetnem,0xffffffff); TextDrawUseBox(Ymehetnem, 1); TextDrawBoxColor(Ymehetnem, 0x05050566); Ymehetyes = TextDrawCreate(440,240,\"Jarmu lehivas aktiv!\"); TextDrawFont(Ymehetyes,1); TextDrawBackgroundColor(Ymehetyes, TD_COLOR_GREEN); TextDrawLetterSize(Ymehetyes,0.5,1.76); TextDrawColor(Ymehetyes,0xffffffff); TextDrawUseBox(Ymehetyes, 1); TextDrawBoxColor(Ymehetyes, 0x05050566); } public YnyomhatEX(playerid) { TextDrawHideForPlayer(playerid, Ymehetnem); TextDrawShowForPlayer(playerid, Ymehetyes); } public Ycucceltuntet(playerid) { TextDrawHideForPlayer(playerid, Ymehetyes); Ynyomhat[playerid] = false; } stock GetClosestVehicle( playerid ) // DEXI készítette { new Float:Elmentett = 5; new ElmentettID; for( new vehicleid = 0; vehicleid < 20; vehicleid++ ) { new Float:Jelenlegi; GetDistance( playerid, vehicleid, Jelenlegi ); if( vehicleid != INVALID_VEHICLE_ID ) { if( Jelenlegi < Elmentett ) { Elmentett = Jelenlegi; ElmentettID = vehicleid; } } } return ElmentettID; } stock GetDistance( playerid, vehicleid, &Float:number ) { new Float:posx, Float:posy, Float:posz; new Float:odposx, Float:odposy, Float:odposz; new Float:tmpx, Float:tmpy, Float:tmpz; GetPlayerPos(playerid, odposx, odposy, odposz); if( vehicleid != INVALID_VEHICLE_ID ) { GetVehiclePos(vehicleid, posx, posy, posz); tmpx = (odposx -posx); tmpy = (odposy -posy); tmpz = (odposz -posz); new Float:end = floatsqroot( ((tmpx * tmpx) + (tmpy * tmpy)) + (tmpz * tmpz)); number = end; } } // VÉGa
Oldalak: [1]
|