Guest poblib Odesláno: 18. Leden, 2009 Share Odesláno: 18. Leden, 2009 mod ala rally benzin,cas a vela ineho vas caka v tomto mode!pracujem na vyvoji verzie 0.1' prikladam pawno na ukazku vyvoja: //------------------------------------------------------------------------------ // New Technologie Racing Mode v 0.1 by [CX]shotung //------------------------------------------------------------------------------ #include #include #include #include #include #include #include enum SavePlayerPosEnum { Float:LastX, Float:LastY, Float:LastZ, Num } enum BasicInfo { money, team, logged, spawned, specinfo } new SavePlayerPos[MAX_PLAYERS][savePlayerPosEnum]; new BI[MAX_PLAYERS][basicInfo]; //=========================================================================TEAMS #define TEAM_NONE 0 #define COLOR_NONE 0xFFFF00FF #define TEAM_PILOT 1 #define COLOR_PILOT 0x004080FF #define TEAM_RESCUE 2 #define COLOR_RESCUE 0xFF0000FF #define TEAM_SERVIS 3 #define COLOR_SERVIS 0x808080FF #define TEAM_ATTACKER 4 #define COLOR_ATTACKER 0x1F1F1FFF //======================================================================VEHICLES #define TYPE_AIRPLANE 0 #define TYPE_TRAIN 1 #define TYPE_BIKE 2 #define TYPE_BOAT 3 #define TYPE_CAR 4 #define TYPE_RC 5 //==========================================================================CARS #define CAR_HUSTLER 545 #define MFUEL_HUSTLER 50 #define CFUEL_HUSTLER 5 #define TFUEL_HUSTLER BENZIN #define CAPACITY_HUSTLER 40 #define CAR_STAFFORD 580 #define MFUEL_STAFFORD 45 #define CFUEL_STAFFORD 4 #define TFUEL_STAFFORD BENZIN #define CAPACITY_STAFFORD 30 //==========================================================================FUEL #define BENZIN 1 #define NAFTA 2 #define PRICE_BENZIN 35 #define PRICE_NAFTA 44 //=======================================================================COLOURS #define COLOR_SYSTEM 0x006C6CFF #define bb 0xEFEFF7AA //========================================================================TIMERS #define TIMER_VEHICLESTATUS 1000 #define TIMER_CONSUMPTION 240000 #define TIMER_TIME 600000 #define TIMER_WEATHERCH 300000 //==========================================================================DCMD #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 //====================================================================TACHOMETER new UpdateSeconds; new Float:distance,valuea,valueb; new benzin[MAX_VEHICLES]; //=====================================================================CAS+DATUM new den = 3; new nastavene = 0; new TimerDni; new hourt,minutet,secondt; new yeart,montht,dayt; new HDS = 0; new MDS = 0; new SDS = 0; new CDS; new string99[256]; new string98[256]; new string97[256]; new string96[256]; new Text:Clock; new Text:Date; new Text:Sekundy; new Text:Dni; //======================================================================FORWARDS forward VehicleStatus(vehicleid,playerid); forward Consumption(playerid); forward WeatherChanger(); forward time(playerid); forward SetDayBorder(); forward SClock(playerid); forward DateD(playerid); forward HMseconds(playerid); forward GetVehicleType(vehicleid); forward IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius); forward GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z); forward GetDistanceBetweenPlayers(playerid,playerid2); forward GetVehicleWithinDistance( playerid, Float:x1, Float:y1, Float:z1, Float:dist, &veh); //=================================================================USELES-STOCKS stock SystemMsg(playerid,msg[]) { if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) { SendClientMessage(playerid,COLOR_SYSTEM,msg); } return 1; } stock PlayerName(playerid) { new name[64]; GetPlayerName(playerid, name, 64); return name; } //===================================================================TIME-STOCKS stock SetHM() { gettime(hourt,minutet,secondt); if (minutet <= 9 && hourt <= 9) { format(string99,25,"0%d:0%d",hourt,minutet);} else if (minutet >= 10 && hourt >= 10) {format(string99,25,"%d:%d",hourt,minutet);} else if (minutet <= 9 && hourt >= 10) { format(string99,25,"%d:0%d",hourt,minutet);} else if (minutet >= 10 && hourt <= 9) {format(string99,25,"0%d:%d",hourt,minutet);} return 1; } stock SetD() { getdate(yeart,montht,dayt); if (dayt <= 9 && montht <= 9) { format(string98,25,"0%d.0%d.%d",dayt,montht,yeart);} else if (dayt >= 9 && montht >= 9) {format(string98,25,"%d.%d.%d",dayt,montht,yeart);} else if (dayt <= 9 && montht >= 10) { format(string98,25,"0%d.%d.%d",dayt,montht,yeart);} else if (dayt >= 10 && montht <= 9) {format(string98,25,"%d.0%d.%d",dayt,montht,yeart);} return 1; } stock SetS() { gettime(hourt,minutet,secondt); format(string97,25,"%d",secondt); return 1; } stock SetWeek() { if (nastavene == 0) { nastavene = 1; SetDayBorder(); } gettime(hourt,minutet,secondt); if (nastavene == 1 && minutet >= 1 && secondt >= 1) { gettime(hourt,minutet,secondt); HDS = hourt; MDS = minutet; SDS = secondt; HDS = HDS * 60; HDS = HDS * 60; HDS = HDS * 60; HDS = HDS * 1000; MDS = MDS * 60; MDS = MDS * 1000; SDS = SDS * 1000; CDS = HDS + MDS; CDS = CDS + SDS; CDS = 86400000 - CDS; TimerDni = SetTimer("SetDayBorder",CDS,1); } return 1; } stock SetDayCount() { if(den == 7) { den = 1; } if(den >= 1 && den < 7) { den = den + 1; } return 1; } stock SetNameForBorder() { if (den == 1) return format(string96,25,"pondelok"," "); if (den == 2) return format(string96,25,"utorok"," "); if (den == 3) return format(string96,25,"streda"," "); if (den == 4) return format(string96,25,"stvrtok"," "); if (den == 5) return format(string96,25,"piatok"," "); if (den == 6) return format(string96,25,"sobota"," "); if (den == 7) return format(string96,25,"nedela"," "); return 1; } //======================================================================COMMANDS dcmd_register(playerid,params[]) { if (BI[playerid][logged] == 1) return SystemMsg(playerid,"Uz si prihlaseny."); if (udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"Ucet uz existuje, prosim /login [heslo]'."); if (strlen(params)==0) return SystemMsg(playerid,"Pouzite: /register[heslo]'"); if (udb_Create(PlayerName(playerid),params)) return SystemMsg(playerid,"Ucet bol uspesne vytvoreny. Teraz sa môzete prihlasit /login [heslo]"); return true; } dcmd_login(playerid,params[]) { if (BI[playerid][logged] == 1) return SystemMsg(playerid,"Si prihlaseny."); if (!udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"Ucet neexsistuje, prosim /register [heslo]'."); if (strlen(params)==0) return SystemMsg(playerid,"Pouzite: /login [heslo]'"); if (udb_CheckLogin(PlayerName(playerid),params)) { BI[playerid][team] = dUserINT(PlayerName(playerid)).("team"); BI[playerid][money] = dUserINT(PlayerName(playerid)).("money"); BI[playerid][logged] = 1; return SystemMsg(playerid,"Prihlaseny! Tvoje posledne informacie zistis : /info"); } return SystemMsg(playerid,"Login zlyhal! (Chybne Heslo)"); } //============================================================================// main() { print("\n------------------------------------------------"); print("New Technologie Racing Mode v 0.1 by [CX]shotung"); print("------------------------------------------------\n"); } //============================================================================// public OnGameModeInit() { SetGameModeText("NTRM 0.1"); SendRconCommand("mapname V0.1"); EnableTirePopping(1); ShowPlayerMarkers(1); ShowNameTags(1); UsePlayerPedAnims(); EnableZoneNames(1); DisableInteriorEnterExits(); SetTimer("VehicleStatus",TIMER_VEHICLESTATUS,1); SetTimer("WeatherChanger",TIMER_WEATHERCH, 1); SetHM(); SetD(); SetS(); SetWeek(); SetTimer("DateD",600000,0); SetTimer("HMseconds",1000,1); Clock = TextDrawCreate(545.000000,25.000000,string99); TextDrawFont(Clock,3); TextDrawLetterSize(Clock,0.499999,1.500000); TextDrawColor(Clock,0xffffff99); TextDrawSetOutline(Clock,1); TextDrawSetProportional(Clock,1); TextDrawSetShadow(Clock,1); TextDrawShowForAll(Clock); Date = TextDrawCreate(499.000000,13.000000,string98); TextDrawFont(Date,3); TextDrawLetterSize(Date,0.599999,1.000000); TextDrawColor(Date,0xffffffcc); TextDrawSetOutline(Date,1); TextDrawSetProportional(Date,1); TextDrawSetShadow(Date,1); TextDrawShowForAll(Date); Sekundy = TextDrawCreate(595.000000,26.000000,string97); TextDrawFont(Sekundy,3); TextDrawLetterSize(Sekundy,0.299999,1.000000); TextDrawColor(Sekundy,0xff000099); TextDrawSetOutline(Sekundy,1); TextDrawSetProportional(Sekundy,1); TextDrawSetShadow(Sekundy,1); TextDrawShowForAll(Sekundy); Dni = TextDrawCreate(499.000000,96.000000,string96); TextDrawFont(Dni,3); TextDrawLetterSize(Dni,0.699999,1.000000); TextDrawColor(Dni,0x00ff0099); TextDrawSetOutline(Dni,1); TextDrawSetProportional(Dni,1); TextDrawSetShadow(Dni,1); TextDrawShowForAll(Dni); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { 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 OnPlayerRequestSpawn(playerid) { return 1; } public OnPlayerConnect(playerid) { if(IsPlayerConnected(playerid)) { new string[256]; new pName[30]; BI[playerid][team] = TEAM_NONE; BI[playerid][money] = 0; BI[playerid][logged] = 0; BI[playerid][spawned] = 0; BI[playerid][specinfo] = 0; SetPlayerColor(playerid,COLOR_NONE); GetPlayerName(playerid, pName, 30); format(string, 256, "%s sa pripojil na server.", pName); SendClientMessageToAll(COLOR_SYSTEM,string); } return 1; } public OnPlayerDisconnect(playerid, reason) { return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerPrivmsg(playerid, recieverid, text[]) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { //=========================================================================BASIC dcmd(register,8,cmdtext); dcmd(login,5,cmdtext); return 0; } public OnPlayerInfoChange(playerid) { return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { if (benzin[vehicleid] < 1) { GameTextForPlayer(bb,"~r~Toto vozidlo nema palivo!",2500,1); } return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; } //===================================================================PUBLICS-CAR public VehicleStatus(vehicleid,playerid) { for(new i=0;i new Float:x,Float:y,Float:z; { if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) { GetPlayerPos(i, x, y, z); distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[LastZ])),2)); valuea = floatround(distance * 5000); if(UpdateSeconds > 1) { valuea = floatround(valuea / UpdateSeconds); //SavePlayerPos[Num] = floatround(value/1600); } } SavePlayerPos[LastX] = x; SavePlayerPos[LastY] = y; SavePlayerPos[LastZ] = z; } } if(IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER && GetVehicleType(GetPlayerVehicleID(i)) == TYPE_CAR) { new string[MAX_STRING]; new autorr[MAX_PLAYERS]; new Float:stav; autorr=GetPlayerVehicleID(i); GetVehicleHealth(autorr,stav); valuea = floatround(valuea / 1400); valueb = floatround(valuea / 1.7); valuea = floatround(valuea - valueb); SavePlayerPos[Num] = 0; SavePlayerPos[Num] = valuea; //format(string,sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~ ~r~Benzin ~y~: %d ~r~litru ~r~Stav ~y~: %1.f ~w~",benzin[GetPlayerVehicleID(i)],stav); %0.0f //format(string,sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~ ~r~Palivo ~y~: %d ~r~Stav ~y~: %1.f ~r~Km/h ~y~: %0.0f ~w~",benzin[GetPlayerVehicleID(i)],stav,floatround(valuea/1600)); format(string,sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~ ~r~Palivo ~y~: %d ~r~Stav ~y~: %1.f ~r~Km/h ~y~: %d ~w~",benzin[GetPlayerVehicleID(i)],stav,SavePlayerPos[Num]); GameTextForPlayer(i,string,1500,3); SavePlayerPos[Num] = 0; } if(benzin[GetPlayerVehicleID(i)]<1 && IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER && GetVehicleType(GetPlayerVehicleID(i)) == TYPE_CAR) { RemovePlayerFromVehicle(i); GameTextForPlayer(bb,"~r~Doslo ti Palivo!",3000,1); } if(IsPlayerInSphere(i,-1672.3580,415.0102,7.1797,10) || IsPlayerInSphere(i,-2028.9136,157.2211,28.8359,10) || IsPlayerInSphere(i,-2413.8376,976.8757,45.2969,10) && GetPlayerMoney(i)>=30 && benzin[GetPlayerVehicleID(i)]<50 && IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER &&GetPlayerState(i) == PLAYER_STATE_DRIVER && GetVehicleType(GetPlayerVehicleID(i)) == TYPE_CAR) { if(IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER && GetVehicleType(GetPlayerVehicleID(i)) == TYPE_CAR) { benzin[GetPlayerVehicleID(i)]++; GivePlayerMoney(i,-50); new neco[256]; format(neco,256, "~r~Tankujes - ~b~cena - $~y~50"); GameTextForPlayer(i,neco,1500,5); } } } return 1; } public Consumption(playerid) { for(new i=0;i if(IsPlayerConnected(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER && GetVehicleType(GetPlayerVehicleID(i)) == TYPE_CAR) { if(GetVehicleModel(GetPlayerVehicleID(i)) == CAR_HUSTLER) { benzin[GetPlayerVehicleID(i)] = benzin[GetPlayerVehicleID(i)] - CFUEL_HUSTLER; } if(GetVehicleModel(GetPlayerVehicleID(i)) == CAR_STAFFORD) { benzin[GetPlayerVehicleID(i)] = benzin[GetPlayerVehicleID(i)] - CFUEL_STAFFORD; } } } return true; } //==================================================================PUBLICS-TIME public time() { new hour,minute,second; gettime(hour,minute,second); SetTimer("time",TIMER_TIME,0); if (hour == 0){SetWorldTime(0);} if (hour == 1){SetWorldTime(1);} if (hour == 2){SetWorldTime(2);} if (hour == 3){SetWorldTime(3);} if (hour == 4){SetWorldTime(4);} if (hour == 5){SetWorldTime(5);} if (hour == 6){SetWorldTime(6);} if (hour == 7){SetWorldTime(7);} if (hour == 8){SetWorldTime(8);} if (hour == 9){SetWorldTime(9);} if (hour == 10){SetWorldTime(10);} if (hour == 11){SetWorldTime(11);} if (hour == 12){SetWorldTime(12);} if (hour == 13){SetWorldTime(13);} if (hour == 14){SetWorldTime(14);} if (hour == 15){SetWorldTime(15);} if (hour == 16){SetWorldTime(16);} if (hour == 17){SetWorldTime(17);} if (hour == 18){SetWorldTime(18);} if (hour == 19){SetWorldTime(19);} if (hour == 20){SetWorldTime(20);} if (hour == 21){SetWorldTime(21);} if (hour == 22){SetWorldTime(22);} if (hour == 23){SetWorldTime(23);} if (hour == 24){SetWorldTime(24);} return 1; } public WeatherChanger() { new randwet = random(20); SetWeather(randwet); return 1; } public SetDayBorder() { SetNameForBorder(); SetDayCount(); KillTimer(TimerDni); return 1; } public SClock(playerid) { if(BI[playerid][spawned] == 1) { if(BI[playerid][specinfo] == 0) { TextDrawHideForPlayer(playerid,Clock); SetHM(); TextDrawSetString(Clock, string99); TextDrawShowForPlayer(playerid,Clock); }} return 1; } public HMseconds(playerid) { if(BI[playerid][spawned] == 1) { if(BI[playerid][specinfo] == 0) { TextDrawHideForPlayer(playerid,Sekundy); SetS(); TextDrawSetString(Sekundy, string97); TextDrawShowForPlayer(playerid,Sekundy); gettime(hourt,minutet,secondt); if(secondt == 0) { SClock(playerid); } } } return 1; } public DateD(playerid){ if(BI[playerid][spawned] == 1) { if(BI[playerid][specinfo] == 0) { TextDrawHideForPlayer(playerid,Date); TextDrawHideForPlayer(playerid,Dni); SetD(); SetWeek(); TextDrawSetString(Date, string98); TextDrawSetString(Dni, string96); TextDrawShowForPlayer(playerid,Date); TextDrawShowForPlayer(playerid,Dni); } } return 1; } //================================================================PUBLICS-OTHERS public GetVehicleType(vehicleid) { new model = GetVehicleModel(vehicleid); if(model > 399 && model < 613) //kdyz jde o existujici auto { switch(model) { case 590,569,537,538,570,449: return TYPE_TRAIN; case 481,509,510: return TYPE_BIKE; case 592,577,511..513,548,593,425,417,487,553,488,497,563,476,447,519,460,469,520: return TYPE_AIRPLANE; case 472,473,493,595,484,430,453,452,446,454: return TYPE_BOAT; case 441,464,594,465,501,564: return TYPE_RC; default: return TYPE_CAR; } } return -1; } public IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius) { if(GetPlayerDistanceToPointEx(playerid,x,y,z) < radius){ return 1; } return 0; } public GetDistanceBetweenPlayers(playerid,playerid2){ new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; new Float:tmpdis; GetPlayerPos(playerid,x1,y1,z1); GetPlayerPos(playerid2,x2,y2,z2); tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); return floatround(tmpdis); } public GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z) { new Float:x1,Float:y1,Float:z1; new Float:tmpdis; GetPlayerPos(playerid,x1,y1,z1); tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z1)),2)); return floatround(tmpdis); } //============================================================================// Link to comment Share on other sites More sharing options...
Patrony 0 Odesláno: 3. Únor, 2009 Share Odesláno: 3. Únor, 2009 Vypada dost slibne jestli to bude ciste moto mod snad tam nedas zadnou pi**vi*ku Link to comment Share on other sites More sharing options...
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