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ó

[0] Üzenetek főoldala

Teljes verzió megtekintése