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

Mermi sayısını çekme?

Başlatan Muteo, 18 Ocak 2019, 20:53:28

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Muteo

Oyuncunun silah mermi sayısını nasıl çekerim vivala modunda oyuncu mesela 10 kez ateş ediyor yaralanınca ya da relog atınca mermileri geri geliyor o'nu çözmek için.


Zoxy


Muteo

Alıntı yapılan: Zoxy - 18 Ocak 2019, 20:57:20

https://wiki.sa-mp.com/wiki/GetPlayerAmmo

   pGuns[13],
   pAmmo[13],
13 tane slot  var oyuncunun hangi silahı kullandığını nasıl anlayım ben?


Zoxy

GetPlayerWeapon fonksiyonu oyuncunun hangi silahı kullandığını çeker (silah id'si).


Muteo

Alıntı yapılan: Zoxy - 18 Ocak 2019, 21:01:21

GetPlayerWeapon fonksiyonu oyuncunun hangi silahı kullandığını çeker (silah id'si).

O'nu demiyorum oyuncu silahları pGuns olarak mermisi pAmmo olarak kayıt ediliyor ben pGuns[?] kaçı kullandığını nasıl anlayacağım?
Şöyle mi yapıyım?
GetPlayerWeapon(playerid) == 23 if(PlayerData[pGuns][1] == 23 else if 24.25.26 diye götürüyüm mü?
Son düzenlenme: 18 Ocak 2019, 21:08:19 Muteo

Bliss

Kod alıntıdır. Düzenlenmiştir. Bu kod sizdeki silahları ve mermilerini gösterir.

PAWN Kodu: Seç
CMD:checkweapons(playerid, params[])
{
new count = 0;
        new ammo, weaponid, weapon[24], string[128];
for (new c = 0; c < 13; c++)
                {
                    GetPlayerWeaponData(playerid, c, weaponid, ammo);
                    if (weaponid != 0 && ammo != 0)
                    {
                        count++;
                    }
                }
                SCM(playerid, COLOR_ORANGE, "||=============WEAPONS AND AMMO===========||");
                if(count > 0)
                {
                    for (new c = 0; c < 13; c++)
                    {
                        GetPlayerWeaponData(playerid, c, weaponid, ammo);
                        if (weaponid != 0 && ammo != 0)
                        {
                            GetWeaponName(weaponid, weapon, 24);
                            format(string, sizeof(string), "Silah: %s  Mermi: %d", weapon, ammo);
                            SendClientMessage(playerid, COLOR_GREEN, string);
                        }
                    }
                }
                else
                {
                    SCM(playerid, COLOR_GREY, "Silahın Yok");
                }
                return 1;
}


Muteo

GiveWeaponToPlayer komutunu kopyalayarak yapmaya çalıştım ama weaponid yerine ne koyacağım?

GiveWeaponToPlayer(playerid, weaponid, ammo)
{
if (weaponid < 0 || weaponid > 46)
    return 0;

PlayerData[playerid][pGuns][GetWeaponSlot(weaponid)] = weaponid;
PlayerData[playerid][pAmmo][GetWeaponSlot(weaponid)] = ammo;
//SendServerMessage(playerid, "Silah Slot: %d, Silah ID: %d, Silah Mermi: %d.", GetWeaponSlot(weaponid), weaponid, PlayerData[playerid][pAmmo][GetWeaponSlot(weaponid)]);
return GivePlayerWeapon(playerid, weaponid, ammo);
}

Bu kısımda kaydetmesini istiyorum ama weaponid yerine ne koyacağım?
PAWN Kodu: Seç

WeaponSave(playerid)
{
if (!PlayerData[playerid][pLogged] && !PlayerData[playerid][pCharacter])
return 0;

new
    query[2048];
   

new ammo = GetPlayerAmmo(playerid);
PlayerData[playerid][pAmmo][GetWeaponSlot(weaponid)] = ammo;

for (new i = 0; i < 13; i ++) {
format(query, sizeof(query), "%s, `Gun%d` =  %d , `Ammo%d` =  %d ", query, i + 1, PlayerData[playerid][pGuns][i], i + 1, PlayerData[playerid][pAmmo][i]);
}
return 1;
}


Bliss

Alıntı yapılan: Muteo - 18 Ocak 2019, 21:25:15

GiveWeaponToPlayer komutunu kopyalayarak yapmaya çalıştım ama weaponid yerine ne koyacağım?

GiveWeaponToPlayer(playerid, weaponid, ammo)
{
if (weaponid < 0 || weaponid > 46)
    return 0;

PlayerData[playerid][pGuns][GetWeaponSlot(weaponid)] = weaponid;
PlayerData[playerid][pAmmo][GetWeaponSlot(weaponid)] = ammo;
//SendServerMessage(playerid, "Silah Slot: %d, Silah ID: %d, Silah Mermi: %d.", GetWeaponSlot(weaponid), weaponid, PlayerData[playerid][pAmmo][GetWeaponSlot(weaponid)]);
return GivePlayerWeapon(playerid, weaponid, ammo);
}

Bu kısımda kaydetmesini istiyorum ama weaponid yerine ne koyacağım?
PAWN Kodu: Seç

WeaponSave(playerid)
{
if (!PlayerData[playerid][pLogged] && !PlayerData[playerid][pCharacter])
return 0;

new
    query[2048];
   

new ammo = GetPlayerAmmo(playerid);
PlayerData[playerid][pAmmo][GetWeaponSlot(weaponid)] = ammo;

for (new i = 0; i < 13; i ++) {
format(query, sizeof(query), "%s, `Gun%d` =  %d , `Ammo%d` =  %d ", query, i + 1, PlayerData[playerid][pGuns][i], i + 1, PlayerData[playerid][pAmmo][i]);
}
return 1;
}



Kodlarda sıkıntı yok gibi gözüküyor. Kendinize silah verin bir kaç el ateş edin mermisi gitmiyorsa MySQL'e yazmıyordur. Yoksa kodlarda sıkıntı yok gibi duruyor.


Bliss

PAWN Kodu: Seç
WeaponSave(playerid)
{
if (!PlayerData[playerid][pLogged] && !PlayerData[playerid][pCharacter])
return 0;

new
    query[2048];
   

new ammo = GetPlayerAmmo(playerid);
PlayerData[playerid][pAmmo][GetWeaponSlot(weaponid)] = ammo;

for (new i = 0; i < 13; i ++) {
format(query, sizeof(query), "%s, `Gun%d` =  %d , `Ammo%d` =  %d ", query, i + 1, PlayerData[playerid][pGuns][i], i + 1, PlayerData[playerid][pAmmo][i]);
}
                mysql_tquery(g_iHandle, query);
return 1;
}


Bunun ile değiştirip dener misiniz ?
Son düzenlenme: 18 Ocak 2019, 21:33:17 Bliss

Muteo

Dediğim gibi;
undefined symbol "weaponid"
pAmmo kısmını tamamen silip sadece mysql kayıt eden kısmı bırakıyım mı?


Muteo

Bu arada mysql'e yazıyor çünkü Sql_SaveCharacter'de aynı komut var ama modda hiç bir yerde [pAmmo] kesen bir kısım yok


Bliss

PAWN Kodu: Seç
WeaponSave(playerid)
{
if (!PlayerData[playerid][pLogged] && !PlayerData[playerid][pCharacter])
return 0;

new
    query[2048];

    for (new c = 0; c < 13; c++)
                    {
                        GetPlayerWeaponData(playerid, c, weaponid, ammo);
                        if (weaponid != 0 && ammo != 0)
                        {
                            format(query, sizeof(query), "%s, `Gun%d` =  %d , `Ammo%d` =  %d ", query, c + 1, weaponid, c + 1, ammo);
                        }
                    }
                mysql_tquery(g_iHandle, query);
return 1;
}


Dener misiniz ?
Son düzenlenme: 18 Ocak 2019, 21:45:54 Bliss

Muteo

3 kez weaponid bulunamadı hatası geldi.


Bliss

Alıntı yapılan: Muteo - 18 Ocak 2019, 22:00:44

3 kez weaponid bulunamadı hatası geldi.


PAWN Kodu: Seç
new ammo, weaponid;

Bunu üste ekleyin.


Muteo

Attığın kod hata vermeye başladı konsolda Ammo1 bulunamadı gibi bende şöyle değiştirdim hala kayıt etmiyor?

WeaponSave(playerid)
{
if (!PlayerData[playerid][pLogged] && !PlayerData[playerid][pCharacter])
return 0;

new
    query[2048],
    ammo,
    weaponid;

    for (new c = 0; c < 13; c++)
    {
        GetPlayerWeaponData(playerid, c, weaponid, ammo);
        if (weaponid != 0 && ammo != 0)
        {
format(query, sizeof(query), "%s, `Gun%d` =  %d, `Ammo%d` = %d ", query, c + 1, weaponid, c + 1, ammo);
  mysql_tquery(g_iHandle, query);
}
}
return 1;
}