San Andreas Többjátékos > Szerverfejelsztés
[Filterszkript] [Filterscript]Farmer "Munka"
(1/1)
Rolux:
Áthoztam ide a másik fórumról.
A munka menete:
1.Felveszed a magokat (mag-felvesz)
2.Beülsz egy traktorba, és a kiválasztott helyen lenyomod az Y gombot(ezzel elülteted,akár többet is:D ).
3.Vársz még kinõnek (30mp)
4,Beülsz egy Kombájn-ba és levágod a z elültetett búzát.
5.Beülsz egy Walton-ba és az Y gomb segítségével felveszed a levágott búzát.
6.Elmész a Waltonnal a raktárhoz és leadod.(/lead)
Képek:
https://i.imgur.com/enRiQYF.jpg
https://i.imgur.com/tGoyMkF.jpg
https://i.imgur.com/VfTf4F2.jpg
https://i.imgur.com/kItFgk9.jpg
Kód:
--- Kód: Pawn ---#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;}Pastebin: https://pastebin.com/jCUEhc9F
Navigáció
Teljes verzió megtekintése