Merhaba Arkadaşlar Sizlere Bugün Bir Kargo Sistemi Paylaşacağım Sistem Bana Ait Değildir Alıntıdır.
Sistem Kodları:
#include <a_samp>
#include <sscanf2>
#include <zcmd>
#include <streamer>
//2487.3599 -2671.091 13.6394
#define KARGO_ISBASI_X (2487.3599)
#define KARGO_ISBASI_Y (-2671.091)
#define KARGO_ISBASI_Z (13.6394)
#define KARGO_ISBASI_RANGE (3.0)
#define KARGO_ISBASI_PICKUP (1239)
#define KARGO_ISBASI_LABEL_TEXT "{e69138}[Kargo Mesleği]\n{c9c9c9}/kargo isbasi"
//2389.0405,-2673.4324,13.6676
#define KARGO_ODUN_X (2389.0405)
#define KARGO_ODUN_Y (-2673.4324)
#define KARGO_ODUN_Z (13.6676)
#define KARGO_ODUN_RANGE (3.0)
#define KARGO_ODUN_PICKUP (2060)
#define KARGO_ODUN_LABEL_TEXT "{e69138}[Kargo Mesleği]\n{6fa8dc}ODUN FABRIKASI"
//2500.3318,-2607.8806,13.6498
#define KARGO_ODUN_BIRAK_X (2500.3318)
#define KARGO_ODUN_BIRAK_Y (-2607.8806)
#define KARGO_ODUN_BIRAK_Z (13.6498)
#define KARGO_ODUN_BIRAK_RANGE (3.0)
#define KARGO_ODUN_BIRAK_PICKUP (1579)
#define KARGO_ODUN_BIRAK_LABEL_TEXT "{e69138}[Kargo Mesleği]\n{6fa8dc}ODUN SATIŞ FABRIKASI"
//2454.2341,-2485.7700,13.6426
#define KARGO_TEKSTIL_X (2454.2341)
#define KARGO_TEKSTIL_Y (-2485.7700)
#define KARGO_TEKSTIL_Z (13.6426)
#define KARGO_TEKSTIL_RANGE (3.0)
#define KARGO_TEKSTIL_PICKUP (2060)
#define KARGO_TEKSTIL_LABEL_TEXT "{e69138}[Kargo Mesleği]\n{ffd966}TEKSTIL FABRIKASI"
//2500.7476,-2570.3167,13.6496
#define KARGO_TEKSTIL_BIRAK_X (2500.7476)
#define KARGO_TEKSTIL_BIRAK_Y (-2570.3167)
#define KARGO_TEKSTIL_BIRAK_Z (13.6496)
#define KARGO_TEKSTIL_BIRAK_RANGE (3.0)
#define KARGO_TEKSTIL_BIRAK_PICKUP (2060)
#define KARGO_TEKSTIL_BIRAK_LABEL_TEXT "{e69138}[Kargo Mesleği]\n{ffd966}TEKSTIL SATIŞ FABRIKASI"
//2473.3606,-2628.0325,13.6513
#define KARGO_ARAC_TAMIR_X (2473.3606)
#define KARGO_ARAC_TAMIR_Y (-2628.0325)
#define KARGO_ARAC_TAMIR_Z (13.6513)
#define KARGO_ARAC_TAMIR_RANGE (3.0)
#define KARGO_ARAC_TAMIR_PICKUP (1650)
#define KARGO_ARAC_TAMIR_LABEL_TEXT "{e69138}[Kargo Mesleği]\n{ffd966}Araç Tamir Noktası"
enum e_player_data
{
bool:pKargoIsbasi,
pKargoStreak,
pKargoMStreak,
bool:pKargoBasladi,
bool:pKargoOdun,
bool:pKargoOdunArac,
bool:pKargoTekstil,
bool:pKargoTekstilArac,
pCheckpoint
};
new PlayerData[MAX_PLAYERS][e_player_data];
main () {}
new kargoveh[2];
public OnGameModeInit()
{
//İŞBAŞI
CreateDynamicPickup(KARGO_ISBASI_PICKUP, 1, KARGO_ISBASI_X, KARGO_ISBASI_Y, KARGO_ISBASI_Z);
CreateDynamic3DTextLabel(KARGO_ISBASI_LABEL_TEXT, -1, KARGO_ISBASI_X, KARGO_ISBASI_Y, KARGO_ISBASI_Z, 15.0);
//ODUN KARGO
CreateDynamicPickup(KARGO_ODUN_PICKUP, 1, KARGO_ODUN_X, KARGO_ODUN_Y, KARGO_ODUN_Z);
CreateDynamic3DTextLabel(KARGO_ODUN_LABEL_TEXT, -1, KARGO_ODUN_X, KARGO_ODUN_Y, KARGO_ODUN_Z, 15.0);
//ODUN KARGO SATIŞ
CreateDynamicPickup(KARGO_ODUN_BIRAK_PICKUP, 1, KARGO_ODUN_BIRAK_X, KARGO_ODUN_BIRAK_Y, KARGO_ODUN_BIRAK_Z);
CreateDynamic3DTextLabel(KARGO_ODUN_BIRAK_LABEL_TEXT, -1, KARGO_ODUN_BIRAK_X, KARGO_ODUN_BIRAK_Y, KARGO_ODUN_BIRAK_Z, 15.0);
//TEKSTIL KARGO
CreateDynamicPickup(KARGO_TEKSTIL_PICKUP, 1, KARGO_TEKSTIL_X, KARGO_TEKSTIL_Y, KARGO_TEKSTIL_Z);
CreateDynamic3DTextLabel(KARGO_TEKSTIL_LABEL_TEXT, -1, KARGO_TEKSTIL_X, KARGO_TEKSTIL_Y, KARGO_TEKSTIL_Z, 15.0);
//TEKSTIL KARGO SATIŞ
CreateDynamicPickup(KARGO_TEKSTIL_BIRAK_PICKUP, 1, KARGO_TEKSTIL_BIRAK_X, KARGO_TEKSTIL_BIRAK_Y, KARGO_TEKSTIL_BIRAK_Z);
CreateDynamic3DTextLabel(KARGO_TEKSTIL_BIRAK_LABEL_TEXT, -1, KARGO_TEKSTIL_BIRAK_X, KARGO_TEKSTIL_BIRAK_Y, KARGO_TEKSTIL_BIRAK_Z, 15.0);
//KARGO ARAÇ TAMİR
CreateDynamicPickup(KARGO_ARAC_TAMIR_PICKUP, 1, KARGO_ARAC_TAMIR_X, KARGO_ARAC_TAMIR_Y, KARGO_ARAC_TAMIR_Z);
CreateDynamic3DTextLabel(KARGO_ARAC_TAMIR_LABEL_TEXT, -1, KARGO_ARAC_TAMIR_X, KARGO_ARAC_TAMIR_Y, KARGO_ARAC_TAMIR_Z, 15.0);
//Kargo Araç
kargoveh[0] = AddStaticVehicle(530, 2498.1824, -2673.2476, 13.6328, 86.8014, -1, -1);
kargoveh[1] = AddStaticVehicle(530, 2499.0701, -2670.3506, 13.6328, 86.8014, -1, -1);
return 1;
}
public OnPlayerConnect(playerid)
{
KargoVeriSifirla(playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
KargoVeriSifirla(playerid);
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerPos(playerid, 2487.3599, -2671.0918, 13.6394);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if(PlayerData[playerid][pKargoIsbasi] == true)
{
SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Meslek işbaşında {f44336}öldüğünüz{ffffff} için bütün verileriniz sıfırlandı.");
KargoVeriSifirla(playerid);
return 1;
}
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(PlayerData[playerid][pKargoBasladi] == true)
{
new vehid = GetPlayerVehicleID(playerid);
SetVehicleToRespawn(vehid);
}
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
for(new i = 0; i < sizeof kargoveh; i++)
{
if(IsPlayerInVehicle(playerid, kargoveh[i]))
{
if(PlayerData[playerid][pKargoBasladi] == false)
SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Kargo aracına bindin. ({9fc5e8}/kargo basla{ffffff})");
}
}
}
if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT) // Player entered a vehicle as a driver
{
if(PlayerData[playerid][pKargoBasladi] == true)
{
new vehid = GetPlayerVehicleID(playerid);
SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Kargo aracından indiğin için verilerin sıfırlandı. ({9fc5e8}/kargo isbasi{ffffff})");
SendClientMessageEx(playerid, -1, "{e69138}[KARGO]: {ffffff}Toplam süreçte {6aa84f}%d{ffffff} kere koli taşıdın ve {6aa84f}$%d{ffffff} kazandın.", PlayerData[playerid][pKargoStreak], PlayerData[playerid][pKargoMStreak]);
SetVehicleToRespawn(vehid);
KargoVeriSifirla(playerid);
}
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
if(PlayerData[playerid][pCheckpoint] == 1)
{
PlayerData[playerid][pCheckpoint] = 0;
GameTextForPlayer(playerid, "~g~/kargo al", 1500, 4);
DisablePlayerCheckpoint(playerid);
}
else if(PlayerData[playerid][pCheckpoint] == 2)
{
PlayerData[playerid][pCheckpoint] = 0;
GameTextForPlayer(playerid, "~g~/kargo birak", 1500, 4);
DisablePlayerCheckpoint(playerid);
}
return 1;
}
stock randomEx(min, max)
{
new randm = random(max-min)+min;
return randm;
}
stock SendClientMessageEx(playerid, color, const text[], {Float, _}:...) //Credits: Emmet_
{
static
args,
str[144];
/*
* Custom function that uses #emit to format variables into a string.
* This code is very fragile; touching any code here will cause crashing!
*/
if ((args = numargs()) == 3)
{
SendClientMessage(playerid, color, text);
}
else
{
while (--args >= 3)
{
#emit LCTRL 5
#emit LOAD.alt args
#emit SHL.C.alt 2
#emit ADD.C 12
#emit ADD
#emit LOAD.I
#emit PUSH.pri
}
#emit PUSH.S text
#emit PUSH.C 144
#emit PUSH.C str
#emit PUSH.S 8
#emit SYSREQ.C format
#emit LCTRL 5
#emit SCTRL 4
SendClientMessage(playerid, color, str);
#emit RETN
}
return 1;
}
CMD:kargo(playerid, params[])
{
new str[32];
if(!IsPlayerConnected(playerid)) return 1;
if(sscanf(params,"s[32]", str))
{
SendClientMessage(playerid, -1, "{8fce00}KULLANIM:{ffffff} /kargo [parametre]");
SendClientMessage(playerid, -1, "{ffd966}PARAMETRE:{c9c9c9} isbasi - veri - basla - al - birak - tamir");
return 1;
}
if(!strcmp(params, "isbasi", true))
{
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "{F97043}HATA: {ffffff}Bir araç içerisinde bu komutu kullanamazsın!");
if(IsPlayerInRangeOfPoint(playerid, KARGO_ISBASI_RANGE, KARGO_ISBASI_X, KARGO_ISBASI_Y, KARGO_ISBASI_Z))
{
if(PlayerData[playerid][pKargoIsbasi] == false)
{
PlayerData[playerid][pKargoIsbasi] = true;
PlayerData[playerid][pKargoStreak] = 0;
PlayerData[playerid][pKargoMStreak] = 0;
SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Başarıyla işbaşına giriş yaptın.");
SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Yakında bulunan forkliftlere binerek işe başlayabilirsin!");
return 1;
}
if(PlayerData[playerid][pKargoIsbasi] == true)
{
KargoVeriSifirla(playerid);
SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Başarıyla işbaşından çıkış yaptın.");
SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Meslekte bulunan tüm verilerin sıfırlandı!");
return 1;
}
return 1;
}
else return SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Bir işbaşı noktasına yakın değilsin.");
}
else if(!strcmp(params, "basla", true))
{
if(PlayerData[playerid][pKargoIsbasi] == false) return SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}İşbaşında değilken mesleğe başlayamazsın!");
if(PlayerData[playerid][pKargoBasladi] == true) return SendClientMessage(playerid, -1 , "{e69138}[KARGO]: {ffffff}Zaten mesleğe başlamışsın!");
for(new i = 0; i < sizeof kargoveh; i++)
{
if(IsPlayerInVehicle(playerid, kargoveh[i]))
{
SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Kargo mesleğine başladın!");
PlayerData[playerid][pKargoBasladi] = true;
RandomNoktalar(playerid);
}
}
}
else if(!strcmp(params, "veri", true))
{
if(PlayerData[playerid][pKargoIsbasi] == false) return SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}İşbaşında değilken görüntüleyemezsin!");
else
{
SendClientMessage(playerid, -1, "{38761d}|_________________________________|");
SendClientMessageEx(playerid, -1, "{e69138}[KARGO] Toplam taşıma: {ffffff}%d", PlayerData[playerid][pKargoStreak]);
SendClientMessageEx(playerid, -1, "{e69138}[KARGO] Toplam kazanç: {ffffff}$%d", PlayerData[playerid][pKargoMStreak]);
SendClientMessage(playerid, -1, "{38761d}|_________________________________|");
}
return 1;
}
else if(!strcmp(params, "al", true))
{
if(PlayerData[playerid][pKargoIsbasi] == false) return SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}İşbaşında değilken bu komutu kullanamazsın!");
if(PlayerData[playerid][pKargoBasladi] == false) return SendClientMessage(playerid, -1 , "{e69138}[KARGO]: {ffffff}Mesleğe başlamadan bu komutu kullanamazsın!");
for(new i = 0; i < sizeof kargoveh; i++)
{
if(PlayerData[playerid][pKargoOdun] == true && IsPlayerInVehicle(playerid, kargoveh[i]))
{
if(IsPlayerInRangeOfPoint(playerid, KARGO_ODUN_RANGE, KARGO_ODUN_X, KARGO_ODUN_Y, KARGO_ODUN_Z))
{
if(PlayerData[playerid][pKargoOdunArac] == true) return SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Zaten forklifte odun kolisini almışsın.");
else
{
SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Odun kolisini başarıyla forklifte yükledin.");
SetPlayerCheckpoint(playerid, KARGO_ODUN_BIRAK_X, KARGO_ODUN_BIRAK_Y, KARGO_ODUN_BIRAK_Z, 5.0);
PlayerData[playerid][pCheckpoint] = 2;
PlayerData[playerid][pKargoOdunArac] = true;
}
}
return 1;
}
if(PlayerData[playerid][pKargoTekstil] == true && IsPlayerInVehicle(playerid, kargoveh[i]))
{
if(IsPlayerInRangeOfPoint(playerid, KARGO_TEKSTIL_RANGE, KARGO_TEKSTIL_X, KARGO_TEKSTIL_Y, KARGO_TEKSTIL_Z))
{
if(PlayerData[playerid][pKargoTekstilArac] == true) return SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Zaten forklifte tekstil kolisini almışsın.");
else
{
SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Tekstil kolisini başarıyla forklifte yükledin.");
SetPlayerCheckpoint(playerid, KARGO_TEKSTIL_BIRAK_X, KARGO_TEKSTIL_BIRAK_Y, KARGO_TEKSTIL_BIRAK_Z, 5.0);
PlayerData[playerid][pCheckpoint] = 2;
PlayerData[playerid][pKargoTekstilArac] = true;
}
}
return 1;
}
}
return 1;
}
else if(!strcmp(params, "birak", true))
{
new pay = 300 + randomEx(100, 150); // Oyuncuya verilecek para buradan ayarlanabilir.
if(PlayerData[playerid][pKargoIsbasi] == false) return SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}İşbaşında değilken bu komutu kullanamazsın!");
if(PlayerData[playerid][pKargoBasladi] == false) return SendClientMessage(playerid, -1 , "{e69138}[KARGO]: {ffffff}Mesleğe başlamadan bu komutu kullanamazsın!");
for(new i = 0; i < sizeof kargoveh; i++)
{
if(PlayerData[playerid][pKargoOdun] == true && PlayerData[playerid][pKargoOdunArac] == true && IsPlayerInVehicle(playerid, kargoveh[i]))
{
if(IsPlayerInRangeOfPoint(playerid, KARGO_ODUN_BIRAK_RANGE, KARGO_ODUN_BIRAK_X, KARGO_ODUN_BIRAK_Y, KARGO_ODUN_BIRAK_Z))
{
if(PlayerData[playerid][pKargoOdunArac] == false) return SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Aracında odun kolisi yok.");
else
{
SendClientMessageEx(playerid, -1, "{e69138}[KARGO]: {ffffff}Odun kolisini başarıyla sattın ve {6aa84f}$%d{ffffff} kazandın!.", pay);
PlayerData[playerid][pKargoOdunArac] = false;
PlayerData[playerid][pKargoOdun] = false;
GivePlayerMoney(playerid, pay);
PlayerData[playerid][pKargoStreak]++;
PlayerData[playerid][pKargoMStreak] += pay;
RandomNoktalar(playerid);
}
}
return 1;
}
if(PlayerData[playerid][pKargoTekstil] == true && PlayerData[playerid][pKargoTekstilArac] == true && IsPlayerInVehicle(playerid, kargoveh[i]))
{
if(IsPlayerInRangeOfPoint(playerid, KARGO_TEKSTIL_BIRAK_RANGE, KARGO_TEKSTIL_BIRAK_X, KARGO_TEKSTIL_BIRAK_Y, KARGO_TEKSTIL_BIRAK_Z))
{
if(PlayerData[playerid][pKargoTekstilArac] == false) return SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Aracında tekstik kolisi yok.");
else
{
SendClientMessageEx(playerid, -1, "{e69138}[KARGO]: {ffffff}Tekstil kolisini başarıyla sattın ve {6aa84f}$%d{ffffff} kazandın!.", pay);
PlayerData[playerid][pKargoTekstilArac] = false;
PlayerData[playerid][pKargoTekstil] = false;
GivePlayerMoney(playerid, pay);
PlayerData[playerid][pKargoStreak]++;
PlayerData[playerid][pKargoMStreak] += pay;
RandomNoktalar(playerid);
}
}
}
}
}
else if(!strcmp(params, "tamir", true))
{
if(PlayerData[playerid][pKargoIsbasi] == false) return SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}İşbaşında değilken bu komutu kullanamazsın!");
if(PlayerData[playerid][pKargoBasladi] == false) return SendClientMessage(playerid, -1 , "{e69138}[KARGO]: {ffffff}Mesleğe başlamadan bu komutu kullanamazsın!");
for(new i = 0; i < sizeof kargoveh; i++)
{
if(IsPlayerInVehicle(playerid, kargoveh[i]))
{
new vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInRangeOfPoint(playerid, KARGO_ARAC_TAMIR_RANGE, KARGO_ARAC_TAMIR_X, KARGO_ARAC_TAMIR_Y, KARGO_ARAC_TAMIR_Z))
{
RepairVehicle(vehicleid);
SendClientMessageEx(playerid, -1, "{33aa33}Aracınız tamir edildi.");
}
}
}
}
return 1;
}
//İsteğe bağlı olarak nokta arttırımı yapılabilir.
stock RandomNoktalar(playerid)
{
new randpoints = random(2); //Eğer nokta arttırırsanız burayı güncelleyin.
switch(randpoints)
{
case 0:
{
SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Odun fabrikası bölgesinden kolileri al.");
SetPlayerCheckpoint(playerid, KARGO_ODUN_X, KARGO_ODUN_Y, KARGO_ODUN_Z, 5.0);
PlayerData[playerid][pCheckpoint] = 1;
PlayerData[playerid][pKargoOdun] = true;
}
case 1:
{
SendClientMessage(playerid, -1, "{e69138}[KARGO]: {ffffff}Tekstil fabrikası bölgesinden kolileri al.");
SetPlayerCheckpoint(playerid, KARGO_TEKSTIL_X, KARGO_TEKSTIL_Y, KARGO_TEKSTIL_Z, 5.0);
PlayerData[playerid][pCheckpoint] = 1;
PlayerData[playerid][pKargoTekstil] = true;
}
}
return 1;
}
stock KargoVeriSifirla(playerid)
{
PlayerData[playerid][pKargoIsbasi] = false;
PlayerData[playerid][pKargoStreak] = 0;
PlayerData[playerid][pKargoOdun] = false;
PlayerData[playerid][pKargoOdunArac] = false;
PlayerData[playerid][pKargoBasladi] = false;
PlayerData[playerid][pKargoTekstil] = false;
PlayerData[playerid][pKargoTekstilArac] = false;
PlayerData[playerid][pCheckpoint] = 0;
PlayerData[playerid][pKargoMStreak] = 0;
return 1;
}


0 Yorum Yap
Yorum Gönder