GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi

[SA:MP] Trucker Sistemi!

Başlatan ibocanpashasarsilmazcano, 09 Şubat 2022, 17:43:25

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

ibocanpashasarsilmazcano

Selamlar dostlar, ben SqueSarsılmaz bugün kendi kodladığım yaptığım trucker sistemini paylaşma gereği bulundum her türlü teknik destekde bulunacağım hata çıkarsa lütfen konunun altında yazın iyi kullanımlar dilerim. :elsalla:

CMD'lerin bulunduğu yere.
PAWN Kodu: Seç
CMD:trucker(playerid)
{
        new gerekensefer, para;
        switch(PlayerData[playerid][TruckerSeviyesi])
        {
            case 0: gerekensefer = 50, para = 430;
            case 1: gerekensefer = 80, para = 500;
            case 2: gerekensefer = 110, para = 515;
            case 3: gerekensefer = 140, para = 550;
            case 4: gerekensefer = 170, para = 600;
            case 5: gerekensefer = 200, para = 620;
        }
    new vehicleid = GetPlayerVehicleID(playerid);
    if(!IsPlayerConnected(playerid)) return 1;
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return HataMesajGonder(playerid, "Araçta olmanız gerekmekte.");
    if(!IsPlayerInRangeOfPoint(playerid, 5.0, 1228.6822,183.5680,20.1310)) return HataMesajGonder(playerid, "Trucker mesleği noktasına yakın değilsiniz.");
if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 499) return HataMesajGonder(playerid, "Bu araç trucker mesleği için uygun değil.");
  new string[1024], string2[250];
strcat(string, "Y?lem\tAd\n");
strcat(string, "{C3C3C3}» {ffffff}Başlangıç:\t{ffffff}Montgomery\n");
strcat(string, "{C3C3C3}» {ffffff}Bitiş:\t{ffffff}Blueberry\n");
    format(string2,sizeof(string2),"{C3C3C3}» {ffffff}Araç Modeli:\t{ffffff}%s\n",ReturnVehicleModelName(GetVehicleModel(vehicleid)));
    strcat(string,string2);
    format(string2,sizeof(string2),"{C3C3C3}» {ffffff}Trucker Seviyesi:\t{ffffff}%d/5\n",PlayerData[playerid][TruckerSeviyesi]);
    strcat(string,string2);
    format(string2,sizeof(string2),"{C3C3C3}» {ffffff}Sefer Hakkı:\t{ffffff}%d\n",gerekensefer - PlayerData[playerid][TruckerSeferi]);
    strcat(string,string2);
    format(string2,sizeof(string2),"{C3C3C3}» {ffffff} Kazanç:\t{ffffff}%s\n",FormatNumber(para));
    strcat(string,string2);
strcat(string, " \n");
strcat(string, " \n");
strcat(string, " \n");
strcat(string, " \n");
strcat(string, "{996600}» {ffffff}Yük Al\n");
Dialog_Show(playerid, Trucker, DIALOG_STYLE_TABLIST_HEADERS, "{996600}Trucker Ağı: {ffffff}Ana Menü", string, "Seç", "{FF6347}Kapat");
    return 1;
}

Dialog:Trucker(playerid, response, listitem, inputtext[])
{
if(response)
{
    switch(listitem)
    {
        case 0:
        {
        HataMesajGonder(playerid, "Bu bölüme erişim yok.");
        }
        case 1:
        {
        HataMesajGonder(playerid, "Bu bölüme erişim yok.");
        }
        case 2:
        {
HataMesajGonder(playerid, "Bu bölüme erişim yok.");
}
        case 3:
        {
HataMesajGonder(playerid, "Bu bölüme erişim yok.");
}
        case 4:
        {
HataMesajGonder(playerid, "Bu bölüme erişim yok.");
}
        case 10:
        {
        new para;
        switch(PlayerData[playerid][TruckerSeviyesi])
        {
            case 0:  para = 150;
            case 1:  para = 360;
            case 2:  para = 410;
            case 3:  para = 460;
            case 4:  para = 510;
            case 5:  para = 800;
        }
            if(TruckerYuk[GetPlayerVehicleID(playerid)] == 1) return HataMesajGonder(playerid, "Bu araca zaten yük alınmıyor..");
Dialog_Show(playerid, TruckerYuk, DIALOG_STYLE_MSGBOX, "{C3C3C3}Trucker Alım: {ffffff}Yük Al", "{996600}» {AFAFAF}Baslangıç: {996600}Montgomery\n{996600}» {AFAFAF}Bitiş: {996600}Blueberry\n{996600}» {AFAFAF}Kazanç: {996600}%s\n{996600}» {666666}Taşınacak Yük: {996600}Domates\n", "Başla", "Iptal", FormatNumber(para));
}
  }
      }
      return 1;
}

forward truckeryukleniyor(playerid);
public truckeryukleniyor(playerid)
{
    TogglePlayerControllable(playerid,true);
    GameTextForPlayer(playerid,"~g~Icki kutulari yuklendi.",3000,3);
TruckerYuk[GetPlayerVehicleID(playerid)] = 1;
 SetPlayerCheckpoint(playerid, 1247.8058,158.2743,19.5238, 10.0);
BilgiMesajGonder(playerid, "Domates kutuları alındı, haritada işaretlenen Blueberry bölgesine yükleri teslim ediniz. (İptal için '/truckeriptal')");
return 1;
}

CMD:truckeriptal(playerid)
{
    if(!IsPlayerConnected(playerid)) return 1;
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return HataMesajGonder(playerid, "Mesleği iptal etmek için kamyonda bulunmalısınız.");
if(TruckerYuk[GetPlayerVehicleID(playerid)] == 0) return HataMesajGonder(playerid, "Bu araçta yük bulunmamakta.");
  TruckerYuk[GetPlayerVehicleID(playerid)] = 0;
    new vehicleid = GetPlayerVehicleID(playerid);
BilgiMesajGonder(playerid, "Trucker mesleğini iptal ettiniz.");
DisablePlayerCheckpoint(playerid);
return 1;
}



Dialog:TruckerYuk(playerid, response, listitem, inputtext[])
{
  if(response)
  {
if(!IsPlayerConnected(playerid)) return 1;
TogglePlayerControllable(playerid,false);
SetTimerEx("truckeryukleniyor",2500,false,"i",playerid);
BilgiMesajGonder(playerid, "Domates kutuları araca yükleniyor, bekleyin.");
    }
    return 1;
}

Labellerin oraya.
PAWN Kodu: Seç
CreateDynamicPickup(1239, 1, 1228.7434,183.8108,20.0998);
CreateDynamic3DTextLabel("[Trucker Alım Noktası]\n \n/trucker", COLOR_DEPARTMENT, 1228.7434,183.8108,20.0998, 10.0);
CreateDynamicPickup(1239, 1, 89.9208,-306.1798,1.5781);
CreateDynamic3DTextLabel("[Trucker Teslim Noktası]\n \nYük Teslim Noktası", COLOR_DEPARTMENT, 89.9208,-306.1798,1.5781, 10.0);

PlayerData
PAWN Kodu: Seç
TruckerSeviyesi, 
             TruckerSeferi,

New tanımlarının bulunduğu yere
PAWN Kodu: Seç
new TruckerYuk[MAX_VEHICLES];
Mesaj Tanımları
PAWN Kodu: Seç
#define MesajGonder(%0,%1) \
SendClientMessageEx(%0, 0xFFFF00AA, "[!]{C3C3C3} "%1)

#define SunucuMesaji(%0,%1) \
SendClientMessageEx(%0, 0xFFFF00AA, "[!]{C3C3C3} "%1)

#define BilgiMesajGonder(%0,%1) \
SendClientMessageEx(%0, 0xFFFF00AA, "[BILGI]{C3C3C3} "%1)

#define KullanimMesaji(%0,%1) \
SendClientMessageEx(%0, 0xFFFF00AA, "{C3C3C3}[BILGI]{C3C3C3} "%1)

#define HataMesajGonder(%0,%1) \
SendClientMessageEx(%0, 0xFF0000AA, "[HATA] "%1)

#define HataMesaji(%0,%1) \
SendClientMessageEx(%0, 0xFF0000AA, "[HATA] "%1)

#define SendAdminAction(%0,%1) \
SendClientMessageEx(%0, 0xC93636AA, "[!] {F5F5F5}"%1)

#define KullanimMesajGonder(%0,%1) \
    SendClientMessageEx(%0, 0xC93636AA, "{C93636}[!]{C93636} "%1)

SİSTEM GÖRÜNTÜSÜ

Bir kaç hafta önce yaptığım için new görüntü bulamadım, kendi sunucunuzun konseptine göre fiyatları değiştirebilirsiniz iyi günler iyi kullanımlar.

Dipnot: Sistemin "hatamesaji" gibi tanımlar kendi moduma göre tanımlanmıştır, herkes kendi moduna göre tanımlıyabilir çok zor bir şey değil.
Son düzenlenme: 09 Şubat 2022, 20:11:00 SqueSarsilmaz Sebep: düzeltme
bismillahi rahmannirahim subhaneke allahümme

ibocanpashasarsilmazcano

bismillahi rahmannirahim subhaneke allahümme

Nine Roleplay

Güzel.
Son düzenlenme: 09 Şubat 2022, 17:59:11 Merus

ibocanpashasarsilmazcano

bismillahi rahmannirahim subhaneke allahümme

Crius


ibocanpashasarsilmazcano

Alıntı yapılan: Crius - 09 Şubat 2022, 19:17:35
Çalıntı, https://www.gtamulti.com/forum/kilitli-konular-80/trucker-meslegi-beta/ gerçeği burada yer almakta.
Attığın linkdeki paylaşılan sistemin derinliklerine inen birisi ne kadar çıkacak para buglarını tahmin edebilir, benim paylaştığımdakinde çıkıcak tüm para bug fonksiyonları fix iyi forumlar. :D

bismillahi rahmannirahim subhaneke allahümme

Rodeiun

Alıntı yapılan: undefined
ADD-ON olarak paylaştığınız kodlar her mod için uygun olmalıdır. Modunuzdan aldığınız kodları tüm modlara uygun hale getirmelisiniz. Eksik olmamalı ve hata, uyarı vermemelidir.

 :kahkaha:  :kahkaha:  :kahkaha:  :kahkaha:  :kahkaha:


ibocanpashasarsilmazcano

Alıntı yapılan: AloneWarrioR - 09 Şubat 2022, 19:53:32
Alıntı yapılan: undefined
ADD-ON olarak paylaştığınız kodlar her mod için uygun olmalıdır. Modunuzdan aldığınız kodları tüm modlara uygun hale getirmelisiniz. Eksik olmamalı ve hata, uyarı vermemelidir.

 :kahkaha:  :kahkaha:  :kahkaha:  :kahkaha:  :kahkaha:
Enum eklemesi yapıyorum bir dakika.

bismillahi rahmannirahim subhaneke allahümme

ibocanpashasarsilmazcano

Alıntı yapılan: SqueSarsilmaz - 09 Şubat 2022, 17:43:25
Selamlar dostlar, ben SqueSarsılmaz bugün kendi kodladığım yaptığım trucker sistemini paylaşma gereği bulundum her türlü teknik destekde bulunacağım hata çıkarsa lütfen konunun altında yazın iyi kullanımlar dilerim. :elsalla:

CMD'lerin bulunduğu yere.
PAWN Kodu: Seç
CMD:trucker(playerid)
{
        new gerekensefer, para;
        switch(PlayerData[playerid][TruckerSeviyesi])
        {
            case 0: gerekensefer = 50, para = 430;
            case 1: gerekensefer = 80, para = 500;
            case 2: gerekensefer = 110, para = 515;
            case 3: gerekensefer = 140, para = 550;
            case 4: gerekensefer = 170, para = 600;
            case 5: gerekensefer = 200, para = 620;
        }
    new vehicleid = GetPlayerVehicleID(playerid);
    if(!IsPlayerConnected(playerid)) return 1;
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return HataMesajGonder(playerid, "Araçta olmanız gerekmekte.");
    if(!IsPlayerInRangeOfPoint(playerid, 5.0, 1228.6822,183.5680,20.1310)) return HataMesajGonder(playerid, "Trucker mesleği noktasına yakın değilsiniz.");
if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 499) return HataMesajGonder(playerid, "Bu araç trucker mesleği için uygun değil.");
  new string[1024], string2[250];
strcat(string, "Y?lem\tAd\n");
strcat(string, "{C3C3C3}» {ffffff}Başlangıç:\t{ffffff}Montgomery\n");
strcat(string, "{C3C3C3}» {ffffff}Bitiş:\t{ffffff}Blueberry\n");
    format(string2,sizeof(string2),"{C3C3C3}» {ffffff}Araç Modeli:\t{ffffff}%s\n",ReturnVehicleModelName(GetVehicleModel(vehicleid)));
    strcat(string,string2);
    format(string2,sizeof(string2),"{C3C3C3}» {ffffff}Trucker Seviyesi:\t{ffffff}%d/5\n",PlayerData[playerid][TruckerSeviyesi]);
    strcat(string,string2);
    format(string2,sizeof(string2),"{C3C3C3}» {ffffff}Sefer Hakkı:\t{ffffff}%d\n",gerekensefer - PlayerData[playerid][TruckerSeferi]);
    strcat(string,string2);
    format(string2,sizeof(string2),"{C3C3C3}» {ffffff} Kazanç:\t{ffffff}%s\n",FormatNumber(para));
    strcat(string,string2);
strcat(string, " \n");
strcat(string, " \n");
strcat(string, " \n");
strcat(string, " \n");
strcat(string, "{996600}» {ffffff}Yük Al\n");
Dialog_Show(playerid, Trucker, DIALOG_STYLE_TABLIST_HEADERS, "{996600}Trucker Ağı: {ffffff}Ana Menü", string, "Seç", "{FF6347}Kapat");
    return 1;
}

Dialog:Trucker(playerid, response, listitem, inputtext[])
{
if(response)
{
    switch(listitem)
    {
        case 0:
        {
        HataMesajGonder(playerid, "Bu bölüme erişim yok.");
        }
        case 1:
        {
        HataMesajGonder(playerid, "Bu bölüme erişim yok.");
        }
        case 2:
        {
HataMesajGonder(playerid, "Bu bölüme erişim yok.");
}
        case 3:
        {
HataMesajGonder(playerid, "Bu bölüme erişim yok.");
}
        case 4:
        {
HataMesajGonder(playerid, "Bu bölüme erişim yok.");
}
        case 10:
        {
        new para;
        switch(PlayerData[playerid][TruckerSeviyesi])
        {
            case 0:  para = 150;
            case 1:  para = 360;
            case 2:  para = 410;
            case 3:  para = 460;
            case 4:  para = 510;
            case 5:  para = 800;
        }
            if(TruckerYuk[GetPlayerVehicleID(playerid)] == 1) return HataMesajGonder(playerid, "Bu araca zaten yük alınmıyor..");
Dialog_Show(playerid, TruckerYuk, DIALOG_STYLE_MSGBOX, "{C3C3C3}Trucker Alım: {ffffff}Yük Al", "{996600}» {AFAFAF}Baslangıç: {996600}Montgomery\n{996600}» {AFAFAF}Bitiş: {996600}Blueberry\n{996600}» {AFAFAF}Kazanç: {996600}%s\n{996600}» {666666}Taşınacak Yük: {996600}Domates\n", "Başla", "Iptal", FormatNumber(para));
}
  }
      }
      return 1;
}

forward truckeryukleniyor(playerid);
public truckeryukleniyor(playerid)
{
    TogglePlayerControllable(playerid,true);
    GameTextForPlayer(playerid,"~g~Icki kutulari yuklendi.",3000,3);
TruckerYuk[GetPlayerVehicleID(playerid)] = 1;
 SetPlayerCheckpoint(playerid, 1247.8058,158.2743,19.5238, 10.0);
BilgiMesajGonder(playerid, "Domates kutuları alındı, haritada işaretlenen Blueberry bölgesine yükleri teslim ediniz. (İptal için '/truckeriptal')");
return 1;
}

CMD:truckeriptal(playerid)
{
    if(!IsPlayerConnected(playerid)) return 1;
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return HataMesajGonder(playerid, "Mesleği iptal etmek için kamyonda bulunmalısınız.");
if(TruckerYuk[GetPlayerVehicleID(playerid)] == 0) return HataMesajGonder(playerid, "Bu araçta yük bulunmamakta.");
  TruckerYuk[GetPlayerVehicleID(playerid)] = 0;
    new vehicleid = GetPlayerVehicleID(playerid);
BilgiMesajGonder(playerid, "Trucker mesleğini iptal ettiniz.");
DisablePlayerCheckpoint(playerid);
return 1;
}



Dialog:TruckerYuk(playerid, response, listitem, inputtext[])
{
  if(response)
  {
if(!IsPlayerConnected(playerid)) return 1;
TogglePlayerControllable(playerid,false);
SetTimerEx("truckeryukleniyor",2500,false,"i",playerid);
BilgiMesajGonder(playerid, "Domates kutuları araca yükleniyor, bekleyin.");
    }
    return 1;
}

Labellerin oraya.
PAWN Kodu: Seç
CreateDynamicPickup(1239, 1, 1228.7434,183.8108,20.0998);
CreateDynamic3DTextLabel("[Trucker Alım Noktası]\n \n/trucker", COLOR_DEPARTMENT, 1228.7434,183.8108,20.0998, 10.0);
CreateDynamicPickup(1239, 1, 89.9208,-306.1798,1.5781);
CreateDynamic3DTextLabel("[Trucker Teslim Noktası]\n \nYük Teslim Noktası", COLOR_DEPARTMENT, 89.9208,-306.1798,1.5781, 10.0);

PlayerData
PAWN Kodu: Seç
TruckerSeviyesi, 
             TruckerSeferi,

New tanımlarının bulunduğu yere
PAWN Kodu: Seç
new TruckerYuk[MAX_VEHICLES];
Mesaj Tanımları
PAWN Kodu: Seç
#define MesajGonder(%0,%1) \
SendClientMessageEx(%0, 0xFFFF00AA, "[!]{C3C3C3} "%1)

#define SunucuMesaji(%0,%1) \
SendClientMessageEx(%0, 0xFFFF00AA, "[!]{C3C3C3} "%1)

#define BilgiMesajGonder(%0,%1) \
SendClientMessageEx(%0, 0xFFFF00AA, "[BILGI]{C3C3C3} "%1)

#define KullanimMesaji(%0,%1) \
SendClientMessageEx(%0, 0xFFFF00AA, "{C3C3C3}[BILGI]{C3C3C3} "%1)

#define HataMesajGonder(%0,%1) \
SendClientMessageEx(%0, 0xFF0000AA, "[HATA] "%1)

#define HataMesaji(%0,%1) \
SendClientMessageEx(%0, 0xFF0000AA, "[HATA] "%1)

#define SendAdminAction(%0,%1) \
SendClientMessageEx(%0, 0xC93636AA, "[!] {F5F5F5}"%1)

#define KullanimMesajGonder(%0,%1) \
    SendClientMessageEx(%0, 0xC93636AA, "{C93636}[!]{C93636} "%1)

SİSTEM GÖRÜNTÜSÜ

Bir kaç hafta önce yaptığım için new görüntü bulamadım, kendi sunucunuzun konseptine göre fiyatları değiştirebilirsiniz iyi günler iyi kullanımlar.

Dipnot: Sistemin "hatamesaji" gibi tanımlar kendi moduma göre tanımlanmıştır, herkes kendi moduna göre tanımlıyabilir çok zor bir şey değil.
Düzeltildi.
Son düzenlenme: 09 Şubat 2022, 20:12:03 SqueSarsilmaz
bismillahi rahmannirahim subhaneke allahümme

Daxy

Text bir sistem çok zor değil ama yeni başlayanlar kullanabilir

Milli Savunma Üniversitesi

Synax

Alıntı bir sistem fakat genede eline sağlık.


ibocanpashasarsilmazcano

Alıntı yapılan: Daxy - 09 Şubat 2022, 20:50:45
Text bir sistem çok zor değil ama yeni başlayanlar kullanabilir
Teşekkür ederim, PAWN'a yeni başlıyanlar için kullanılabilir & geliştirilebilir bir sistem.
Alıntı yapılan: Synax - 09 Şubat 2022, 21:14:13
Alıntı bir sistem fakat genede eline sağlık.
Teşekkür ederim, alıntı fakat bulduğumda acayip hatalıydı tamamiyle hatalarını düzelttim paylaştım, paylaşılan konu arşivde zaten.

bismillahi rahmannirahim subhaneke allahümme

Feick


TRSinan28

Paylaşım için teşekkürler. Sistemin temeli başka birine ait ise "kodladığım, yaptığım" demek yerine "hatalarını giderdiğim" gibi sözler kullanman daha hoş olur. Bu seni asla küçültmez aksine alkışlanırsın.


Rodri

Eline sağlık, yeni başlıyanların işine yarıyabilir.


Discord: openconsole
Full Stack Developer. - Network Manager.