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

soygn sistemi çıkış cpleri

Başlatan magnet00, 11 Şubat 2025, 23:20:51

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

magnet00

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...


Krips Je

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
Son düzenlenme: 12 Şubat 2025, 10:45:30 Krips Je
"Kodunu yaz, gerisini compiler düşünsün." - Meçhul Yazılımcı
    

Krips Je

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 :)

"Kodunu yaz, gerisini compiler düşünsün." - Meçhul Yazılımcı
    

magnet00

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


magnet00

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.


Krips Je

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.

"Kodunu yaz, gerisini compiler düşünsün." - Meçhul Yazılımcı
    

magnet00

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.