GTAMulti - GTA Türkiye

San Andreas Multiplayer => PAWN Kodlama => Yardım Talepleri => Konuyu başlatan: magnet00 - 11 Şubat 2025, 23:20:51

Başlık: soygn sistemi çıkış cpleri
Gönderen: magnet00 - 11 Şubat 2025, 23:20:51
PAWN Kodu: Seç
    c++;
cache_get_value_name_int(i,"ID",soygunlar[i][soygunID]);
cache_get_value_name(i,"soy_adi",soygunlar[i][soygunAdi]);

cache_get_value_name_float(i,"soy_giris_cp_x",soygunlar[i][soygunGirisCp][0]);
        cache_get_value_name_float(i,"soy_giris_cp_y",soygunlar[i][soygunGirisCp][1]);
        cache_get_value_name_float(i,"soy_giris_cp_z",soygunlar[i][soygunGirisCp][2]);

        cache_get_value_name_float(i,"soy_giris_pos_x",soygunlar[i][soygunGirisPos][0]);
        cache_get_value_name_float(i,"soy_giris_pos_y",soygunlar[i][soygunGirisPos][1]);
        cache_get_value_name_float(i,"soy_giris_pos_z",soygunlar[i][soygunGirisPos][2]);
        cache_get_value_name_float(i,"soy_giris_pos_a",soygunlar[i][soygunGirisPos][3]);

        cache_get_value_name_float(i,"soy_baslat_cp_x",soygunlar[i][soygunBaslatCp][0]);
        cache_get_value_name_float(i,"soy_baslat_cp_y",soygunlar[i][soygunBaslatCp][1]);
        cache_get_value_name_float(i,"soy_baslat_cp_z",soygunlar[i][soygunBaslatCp][2]);

        cache_get_value_name_float(i,"soy_cikis_cp_x",soygunlar[i][soygunCikisCp][0]);
        cache_get_value_name_float(i,"soy_cikis_cp_y",soygunlar[i][soygunCikisCp][1]);
        cache_get_value_name_float(i,"soy_cikis_cp_z",soygunlar[i][soygunCikisCp][2]);

        cache_get_value_name_float(i,"soy_cikis_pos_x",soygunlar[i][soygunCikisPos][0]);
        cache_get_value_name_float(i,"soy_cikis_pos_y",soygunlar[i][soygunCikisPos][1]);
        cache_get_value_name_float(i,"soy_cikis_pos_z",soygunlar[i][soygunCikisPos][2]);
        cache_get_value_name_float(i,"soy_cikis_pos_a",soygunlar[i][soygunCikisPos][3]);

        cache_get_value_name_int(i,"soy_interior",soygunlar[i][soygunInterior]);

        soygunlar[i][soygunVirtualWorld] = soygunlar[i][soygunID];
        soygunlar[i][soygunDurum] = 0;

        soygunlar[i][soygunGirisCpID] = CreateDynamicCP(soygunlar[i][soygunGirisCp][0], soygunlar[i][soygunGirisCp][1], soygunlar[i][soygunGirisCp][2], 1.7);
        soygunlar[i][soygunCikisCpID] = CreateDynamicCP(soygunlar[i][soygunCikisCp][0], soygunlar[i][soygunCikisCp][1], soygunlar[i][soygunCikisCp][2], 1.7);
        soygunlar[i][soygunBaslatCpID] = CreateDynamicCP(soygunlar[i][soygunBaslatCp][0], soygunlar[i][soygunBaslatCp][1], soygunlar[i][soygunBaslatCp][2], 2.0);

new str[128];

format(str , sizeof(str) , "{FFFFFF}[ %s ]\n {00d23d}Giriş" , soygunlar[i][soygunAdi]);
        soygunlar[i][soygunGirisLabelID] = CreateDynamic3DTextLabel(str, 0x008080FF, soygunlar[i][soygunGirisCp][0], soygunlar[i][soygunGirisCp][1], soygunlar[i][soygunGirisCp][2], 50.0, INVALID_PLAYER_ID, INVALID_PLAYER_ID, 0, 0, 0);

      format(str , sizeof(str) , "{FFFFFF}[ %s ]\n {ff0000}Çıkış" , soygunlar[i][soygunAdi]);
        soygunlar[i][soygunCikisLabelID] = CreateDynamic3DTextLabel(str, 0x008080FF, soygunlar[i][soygunCikisCp][0], soygunlar[i][soygunCikisCp][1], soygunlar[i][soygunCikisCp][2], 50.0, .testlos = 1, .interiorid = soygunlar[i][soygunInterior]);


        format(str, sizeof(str) , "{FFFFFF}Soymak İçin CheckPoint İçinde Bekleyiniz. \n [ Durum:{0AFF12}Soyulabilir {FFFFFF}]");
       // soygunlar[i][soygunBaslatLabelID] = CreateDynamic3DTextLabel(str, -1, soygunlar[i][soygunBaslatCp][0], soygunlar[i][soygunBaslatCp][1], soygunlar[i][soygunBaslatCp][2], 45.0, INVALID_PLAYER_ID, INVALID_PLAYER_ID, 0, soygunlar[i][soygunVirtualWorld], 0);
        soygunlar[i][soygunBaslatLabelID] = CreateDynamic3DTextLabel(str, 0xFFFFFFFF, soygunlar[i][soygunBaslatCp][0],soygunlar[i][soygunBaslatCp][1], soygunlar[i][soygunBaslatCp][2], 50.0, .testlos = 1, .interiorid = soygunlar[i][soygunInterior]);
}
new str[128];
format(str,sizeof(str) , "[RobSystem] %d Adet Soygun Kaydı Yüklendi." , c);
printf(str);
return 1;

beyler bu loadrobbery fonksiyonu
PAWN Kodu: Seç
public OnPlayerEnterDynamicCP(playerid, checkpointid)
{
    new str[256];
for(new i = 0; i < MAX_SOYGUN_YERI; i++) {
if(checkpointid == soygunlar[i][soygunGirisCpID]) {
SetPlayerInterior(playerid, soygunlar[i][soygunInterior]);
SetPlayerVirtualWorld(playerid, soygunlar[i][soygunVirtualWorld]);
SetPlayerPos(playerid,soygunlar[i][soygunGirisPos][0],soygunlar[i][soygunGirisPos][1],soygunlar[i][soygunGirisPos][2]);
break;
}
if(checkpointid == soygunlar[i][soygunCikisCpID]){

    if(game_players[playerid][pIsSoygunda] != 0){
                KillTimer(soygunlar[i][TimerSoygunRastgeleParaVer]);
                KillTimer(soygunlar[i][TimerSoygunTamamla]);
game_players[playerid][pIsSoygunda] = 0;
soygunlar[i][soygunDurum] = 90;
format(str, sizeof(str) , "{FFFFFF}Soymak İçin CheckPoint İçinde Bekleyiniz. \n [ Durum:{ff0000}Soyulmuş {FFFFFF}]");
                UpdateDynamic3DTextLabelText(soygunlar[i][soygunBaslatLabelID], 0xFF0000FF, str);
format(str , sizeof(str) , "{ff0000}[!] %s {FFFFFF} Adlı Mekandan Soygunu Tamamlamadan Ayrıldığınız İçin {ff0000}Skor Ödülünü {FFFFFF}Alamadınız.", soygunlar[i][soygunAdi]);
SendClientMessage(playerid , -1 , str);
                PlayerPlaySound(playerid, 1056, 0.0, 0.0, 10.0);
}
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
            SetPlayerPos(playerid,soygunlar[i][soygunCikisPos][0],soygunlar[i][soygunCikisPos][1],soygunlar[i][soygunCikisPos][2]);
            break;
}
if(checkpointid == soygunlar[i][soygunBaslatCpID])
         {
            if(soygunlar[i][soygunDurum] == 0) // Eğer checkpoint soyulabilir durumdaysa
            {
               game_players[playerid][pIsSoygunda] = 1;
               game_players[playerid][pWantedLevel] += 2;
               SetPlayerWantedLevel(playerid , game_players[playerid][pWantedLevel]);
               soygunlar[i][soygunDurum] = 30;
               
               PlayerPlaySound(playerid, 1056, 0.0, 0.0, 10.0);
               format(str,sizeof(str) , "{00d23d}[!] %s  {FFFFFF}Adlı Mekanı Soymaya Başladınız , Soygun Süresi {00d23d}30 {FFFFFF}Saniye." , soygunlar[i][soygunAdi]);
   SendClientMessage(playerid, -1, str);
   
   soygunlar[i][TimerSoygunTamamla] = SetTimerEx("SoygunTamamla", 29000, false, "ii", playerid, i);
               soygunlar[i][TimerSoygunRastgeleParaVer] = SetTimerEx("SoygunRastgeleParaVer" , 2000 , true , "i" , playerid);

   format(str, sizeof(str) , "{FFFFFF}Soymak İçin CheckPoint İçinde Bekleyiniz. \n [ Durum:{ff0000}Soyuluyor.. {FFFFFF}]");
     UpdateDynamic3DTextLabelText(soygunlar[i][soygunBaslatLabelID], 0xFF0000FF, str);
            }
            else
            {
   if(game_players[playerid][pIsSoygunda] == 0)
               format(str, sizeof(str), "{ff0000}[!] {FFFFFF}Bu Mekanın Tekrar Soyulmasına {ff0000}%d {FFFFFF}Saniye Var.", soygunlar[i][soygunDurum]);
   else
             format(str, sizeof(str), "{ff0000}[!] {FFFFFF}Bu Mekan Şuan Soyuluyor Bitmesine {ff0000}%d {FFFFFF}Saniye Var.", soygunlar[i][soygunDurum]);

   SendClientMessage(playerid, -1, str);
               PlayerPlaySound(playerid, 1056, 0.0, 0.0, 10.0);
            }
            break;
        }
}
return 1;
}

buda cp girişlerinni kontrol ettiğim fonksiyon ancak 2 farklı mekandan çıksamda aynı çıkışlara atıyor veritabanına baktım çıkış posları aynı değil ancak hangi mekana girersem gireyim çıkış posları aynı yere atıyor kafayı yemek üzereyim az kaldı biraz bişiler öğrendim onuda bırakıcam...
Başlık: Ynt: soygn sistemi çıkış cpleri
Gönderen: Krips Je - 12 Şubat 2025, 02:05:24
audit log kullanarak sorunu tespit edebilirsin.

OnPlayerEnterDynamicCP ye
PAWN Kodu: Seç
printf("id: %d, cikis pos: %f, %f, %f", i, soygunlar[i][soygunCikisPos][0], soygunlar[i][soygunCikisPos][1], soygunlar[i][soygunCikisPos][2]);

büyük ihtimalle veritabanından veri çekilirken yanlış indeksleme veya sabit bir değişkene yanlış değer atanmasından oluyor olabilir kuzen sana verdigim debugu ekle bakim yine duzelmezse soygunlar dizinin atarsin bakariz
Başlık: Ynt: soygn sistemi çıkış cpleri
Gönderen: Krips Je - 12 Şubat 2025, 02:07:35
Alıntı yapılan: magnet00 - 11 Şubat 2025, 23:20:51
kafayı yemek üzereyim az kaldı biraz bişiler öğrendim onuda bırakıcam...

google üzerinden aratarak, github, forumlar bir sürü yardım alabileceğin yerler var. pes etmemeni öneririm dostum bu yolda sana başarılar :)
Başlık: Ynt: soygn sistemi çıkış cpleri
Gönderen: magnet00 - 12 Şubat 2025, 22:28:01
Alıntı yapılan: Krips Je - 12 Şubat 2025, 02:05:24
audit log kullanarak sorunu tespit edebilirsin.

OnPlayerEnterDynamicCP ye
PAWN Kodu: Seç
printf("id: %d, cikis pos: %f, %f, %f", i, soygunlar[i][soygunCikisPos][0], soygunlar[i][soygunCikisPos][1], soygunlar[i][soygunCikisPos][2]);

büyük ihtimalle veritabanından veri çekilirken yanlış indeksleme veya sabit bir değişkene yanlış değer atanmasından oluyor olabilir kuzen sana verdigim debugu ekle bakim yine duzelmezse soygunlar dizinin atarsin bakariz


PAWN Kodu: Seç
enum soygunSchema {

soygunID,
soygunAdi[24],

soygunGirisCpID,
soygunCikisCpID,
soygunBaslatCpID,

Text3D:soygunBaslatLabelID,
Text3D:soygunGirisLabelID,
Text3D:soygunCikisLabelID,

Float:soygunGirisCp[3],
Float:soygunGirisPos[4],
    Float:soygunCikisCp[3],
    Float:soygunCikisPos[4],
Float:soygunBaslatCp[3],

    soygunInterior,
soygunVirtualWorld,

// bunlar statü durumudur veritabanına kaydedilmez
soygunDurum,
TimerSoygunRastgeleParaVer,
TimerSoygunTamamla,
}
new soygunlar[MAX_SOYGUN_YERI][soygunSchema];



bu soygun enumu her seferinde aynı soygun yerini basıyor yani id:0 x, y ,z gibi sorun burada gibi duruyor
Başlık: Ynt: soygn sistemi çıkış cpleri
Gönderen: magnet00 - 12 Şubat 2025, 22:50:49
Alıntı yapılan: Krips Je - 12 Şubat 2025, 02:07:35
Alıntı yapılan: magnet00 - 11 Şubat 2025, 23:20:51
kafayı yemek üzereyim az kaldı biraz bişiler öğrendim onuda bırakıcam...

google üzerinden aratarak, github, forumlar bir sürü yardım alabileceğin yerler var. pes etmemeni öneririm dostum bu yolda sana başarılar :)

Reis sorun cplere virtualworld vermediğim için oluşuyor yani 2 tane cp aynı mekanda üst üste geliyor çözdüm , teşekkür ederim sanada zahmet veriyorum.
Başlık: Ynt: soygn sistemi çıkış cpleri
Gönderen: Krips Je - 13 Şubat 2025, 00:38:43
Alıntı yapılan: magnet00 - 12 Şubat 2025, 22:50:49
Alıntı yapılan: Krips Je - 12 Şubat 2025, 02:07:35
Alıntı yapılan: magnet00 - 11 Şubat 2025, 23:20:51
kafayı yemek üzereyim az kaldı biraz bişiler öğrendim onuda bırakıcam...

google üzerinden aratarak, github, forumlar bir sürü yardım alabileceğin yerler var. pes etmemeni öneririm dostum bu yolda sana başarılar :)

Reis sorun cplere virtualworld vermediğim için oluşuyor yani 2 tane cp aynı mekanda üst üste geliyor çözdüm , teşekkür ederim sanada zahmet veriyorum.

kolay bir sorunmuş bak hemen çözülmüş. bana zahmet vermiyorsun eyvallah sorun olursa konu açman yeterli olur.
Başlık: Ynt: soygn sistemi çıkış cpleri
Gönderen: magnet00 - 13 Şubat 2025, 01:02:11
Alıntı yapılan: Krips Je - 13 Şubat 2025, 00:38:43
Alıntı yapılan: magnet00 - 12 Şubat 2025, 22:50:49
Alıntı yapılan: Krips Je - 12 Şubat 2025, 02:07:35
Alıntı yapılan: magnet00 - 11 Şubat 2025, 23:20:51
kafayı yemek üzereyim az kaldı biraz bişiler öğrendim onuda bırakıcam...

google üzerinden aratarak, github, forumlar bir sürü yardım alabileceğin yerler var. pes etmemeni öneririm dostum bu yolda sana başarılar :)

Reis sorun cplere virtualworld vermediğim için oluşuyor yani 2 tane cp aynı mekanda üst üste geliyor çözdüm , teşekkür ederim sanada zahmet veriyorum.

kolay bir sorunmuş bak hemen çözülmüş. bana zahmet vermiyorsun eyvallah sorun olursa konu açman yeterli olur.

işin açığı sana güvenip konu açıyorum kardeşim :) ha tabi öbür arkadaşlarında hakkını yememek lazım minnettarım hocam.