Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <foreach>
- #define MAX_WHEAT 100
- #define GROW_SPEED 30000
- #define WHEAT_SIZE 7.59
- #define PRESSED(%0) \
- (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
- enum WHEAT_DATA
- {
- Float:bX,
- Float:bY,
- Float:bZ,
- object,
- kesz,
- levagva,
- Text3D:btext,
- felveve
- }
- new Iterator:Wheat< MAX_WHEAT >,
- bInfo[MAX_WHEAT][WHEAT_DATA],
- binveh[MAX_VEHICLES],
- DummyWheat[WHEAT_DATA],
- bt[MAX_PLAYERS];
- public OnPlayerSpawn(playerid)
- {
- SetPVarInt(playerid, "Mag", 0);
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/mag-felvesz", cmdtext, true, 10) == 0)
- {
- if(GetPVarInt(playerid, "Mag") > 0) return SendClientMessage(playerid,-1,"Még van nálad mag! ");
- SetPVarInt(playerid, "Mag", 30);
- SendClientMessage(playerid,-1,"Kaptál 30 magot! ");
- return 1;
- }
- if (strcmp("/lead", cmdtext, true, 10) == 0)
- {
- new string [128],veh = GetPlayerVehicleID(playerid);
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0x00FF00AA, "Nem ülsz jármuben");
- if(binveh[veh] == 0 ) return SendClientMessage(playerid, 0x00FF00AA, "Ebben a jármuben nincs búza");
- format(string,sizeof(string),"Leadtál {d0b02c}%d {ffffff}kg búzát és kapál érte {d0b02c}%d${ffffff}-t",binveh[veh],binveh[veh]*2);
- SendClientMessage(playerid,0xFFFFFFAA,string);
- GivePlayerMoney(playerid,binveh[veh]*2);
- binveh[veh] = 0;
- return 1;
- }
- return 0;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER && oldstate != PLAYER_STATE_DRIVER)
- {
- bt[playerid] = SetTimerEx("CheckCombine", 200, true, "d", playerid);
- }
- if(newstate != PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_DRIVER)
- {
- KillTimer(bt[playerid]);
- }
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if (PRESSED(KEY_YES))
- {
- if (IsPlayerInAnyVehicle(playerid))
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- if(GetVehicleModel(vehicleid) == 531)//ha traktor
- {
- if(GetPVarInt(playerid, "Mag") <= 0) return SendClientMessage(playerid,-1,"Nincs nálad mag! ");
- new str[64], Float:x, Float:y, Float:z,id = Iter_Free(Wheat),Float: speed;
- format(str,sizeof(str),"Elültettél egy magot. {d0b02c}(%d/30)",GetPVarInt(playerid, "Mag"));
- SendClientMessage(playerid,-1,str);
- GetPlayerPos(playerid, x, y, z);
- bInfo[id][bX] = x;
- bInfo[id][bY] = y;
- bInfo[id][bZ] = z;
- speed = WHEAT_SIZE / ( GROW_SPEED / 1000);
- bInfo[id][object] = CreateObject(855, bInfo[id][bX], bInfo[id][bY], bInfo[id][bZ]-7.59, 0.00, 0.00, 0.00);
- MoveObject(bInfo[id][object], bInfo[id][bX], bInfo[id][bY], bInfo[id][bZ], speed);
- SetTimerEx("GrowWheat",GROW_SPEED, false, "i", id);
- SetPVarInt(playerid, "Mag",GetPVarInt(playerid, "Mag")-1);
- Iter_Add(Wheat,id);
- }
- if(GetVehicleModel(vehicleid) == 478)//ha walton
- {
- foreach(new o:Wheat)
- {
- if(bInfo[o][levagva] == 1)
- {
- if(bInfo[o][felveve] == 0)
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, bInfo[o][bX],bInfo[o][bY], bInfo[o][bZ]))
- {
- Delete3DTextLabel(bInfo[o][btext]);
- SendClientMessage(playerid,-1,"Felvettél 1 kg búzát");
- binveh[vehicleid] ++;
- new string[64];
- format(string,sizeof(string),"Az autóban {d0b02c}%d {ffffff}kg búza van",binveh[vehicleid]);
- SendClientMessage(playerid,0xFFFFFFAA,string);
- bInfo[o] = DummyWheat;
- Iter_Remove(Wheat,o);
- }
- }
- }
- }
- }
- }
- }
- return 1;
- }
- forward GrowWheat(id);
- public GrowWheat(id)
- {
- bInfo[id][btext] = Create3DTextLabel("[ Búza ]", 0x919191FF, bInfo[id][bX], bInfo[id][bY], bInfo[id][bZ], 3.0, 0, 0);
- bInfo[id][kesz] = 1;
- }
- forward CheckCombine(playerid);
- public CheckCombine(playerid)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- if(GetVehicleModel(vehicleid) == 532)
- {
- foreach(new o:Wheat)
- {
- if(bInfo[o][kesz] == 1)
- {
- if(bInfo[o][levagva] == 0)
- {
- if(IsPlayerInRangeOfPoint(playerid, 7.0, bInfo[o][bX],bInfo[o][bY], bInfo[o][bZ]))
- {
- DestroyObject(bInfo[o][object]);
- Delete3DTextLabel(bInfo[o][btext]);
- bInfo[o][levagva] = 1;
- bInfo[o][btext] = Create3DTextLabel("Levágott Búza[Flevételhez Y gomb]", 0xd8a758FF, bInfo[o][bX], bInfo[o][bY], bInfo[o][bZ], 20.0, 0, 0);
- SendClientMessage(playerid,-1,"Levágtál 1kg búzát");
- }
- }
- }
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement