GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: Kjen - 22 Mayıs 2020, 01:30:32

Başlık: killerid nasıl tanımlayacağım
Gönderen: Kjen - 22 Mayıs 2020, 01:30:32
Merhabalar cop chase sunucusu kodluyorum ve kişinin öldüğünde mysql'ine +1 olarak ayarlamak istiyorum. Bir kaç yerden bakarak şunu yapabildim ancak error verdi killerid'yi nasıl tanımlayabilirim playerid kendi otomatik tanımlanıyor ancak killerid'yi nasıl tanımlayacağımı bilmiyorum!

PAWN Kodu: Seç
C:\Users\Cyrus\Desktop\Diamond Cop Chase\gamemodes\asena.pwn(100) : error 028: invalid subscript (not an array or too many subscripts): "oBilgi"
C:\Users\Cyrus\Desktop\Diamond Cop Chase\gamemodes\asena.pwn(100) : warning 215: expression has no effect
C:\Users\Cyrus\Desktop\Diamond Cop Chase\gamemodes\asena.pwn(100) : error 001: expected token: ";", but found "]"
C:\Users\Cyrus\Desktop\Diamond Cop Chase\gamemodes\asena.pwn(100) : error 029: invalid expression, assumed zero
C:\Users\Cyrus\Desktop\Diamond Cop Chase\gamemodes\asena.pwn(100) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

PAWN Kodu: Seç
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != INVALID_PLAYER_ID)
{
    oBilgi[killerid][Olme]++;
    oBilgi[playerid][Oldurme]++;
}
return 1;
}
Başlık: Ynt: killerid nasıl tanımlayacağım
Gönderen: HasanEfe - 22 Mayıs 2020, 12:30:22
boş biryere

enum E_PLAYERS
{
   xID,
   Oldurme,
   Olum,
};
new oyuncuData[MAX_PLAYERS][E_PLAYERS];

onplayerdeath publicine


    if(killerid != INVALID_PLAYER_ID)
   {
       oyuncuData[killerid][Oldurme]++;
        new query[256];
        mysql_format(g_SQL, query, sizeof query, "UPDATE `oyuncuveri` SET `oldurme` = %d WHERE `id` = %d LIMIT 1", oyuncuData[playerid][Oldurme], oyuncuData[playerid][xID]);
        mysql_query(g_SQL, query);
        mysql_format(g_SQL, query, sizeof query, "UPDATE `oyuncuveri` SET `olum` = %d WHERE `id` = %d LIMIT 1", oyuncuData[playerid][Olum], oyuncuData[playerid][xID]);
        mysql_query(g_SQL, query);
       }
    DeletePVar(playerid, "KillModu");

 onplayerspawn a şunu ekle

    aranmaLeveli(playerid, 0);
   oyuncuData[playerid][pAranma] = 0;
   if(GetPVarInt(playerid, "KillModu") == 0) oyuncuData[playerid][Olum]++;
Başlık: Ynt: killerid nasıl tanımlayacağım
Gönderen: Kjen - 22 Mayıs 2020, 17:15:58
Alıntı yapılan: HasanEfe - 22 Mayıs 2020, 12:30:22
boş biryere

enum E_PLAYERS
{
   xID,
   Oldurme,
   Olum,
};
new oyuncuData[MAX_PLAYERS][E_PLAYERS];

onplayerdeath publicine


    if(killerid != INVALID_PLAYER_ID)
   {
       oyuncuData[killerid][Oldurme]++;
        new query[256];
        mysql_format(g_SQL, query, sizeof query, "UPDATE `oyuncuveri` SET `oldurme` = %d WHERE `id` = %d LIMIT 1", oyuncuData[playerid][Oldurme], oyuncuData[playerid][xID]);
        mysql_query(g_SQL, query);
        mysql_format(g_SQL, query, sizeof query, "UPDATE `oyuncuveri` SET `olum` = %d WHERE `id` = %d LIMIT 1", oyuncuData[playerid][Olum], oyuncuData[playerid][xID]);
        mysql_query(g_SQL, query);
       }
    DeletePVar(playerid, "KillModu");

 onplayerspawn a şunu ekle

    aranmaLeveli(playerid, 0);
   oyuncuData[playerid][pAranma] = 0;
   if(GetPVarInt(playerid, "KillModu") == 0) oyuncuData[playerid][Olum]++;

Warning veriyor, warning'i nasıl çözeceğim?
PAWN Kodu: Seç
C:\Users\Cyrus\Desktop\Asena Police Pursuit\gamemodes\asena.pwn(100) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Warning.

Warning veren komut,
PAWN Kodu: Seç
        new query[256];
Başlık: Ynt: killerid nasıl tanımlayacağım
Gönderen: HasanEfe - 22 Mayıs 2020, 20:46:15
1. çözüm:new daha önceden var demekki onu sil birde öyle dene

2:çeviriden bakınca hatanın türkçesi " uyarı 217: gevşek girinti" yani { } doğru yerdemi emin ol yani

{
 }

böyle ise ;
{
}

böyle yap
Başlık: Ynt: killerid nasıl tanımlayacağım
Gönderen: Kjen - 22 Mayıs 2020, 21:06:37
Alıntı yapılan: HasanEfe - 22 Mayıs 2020, 20:46:15
1. çözüm:new daha önceden var demekki onu sil birde öyle dene

2:çeviriden bakınca hatanın türkçesi " uyarı 217: gevşek girinti" yani { } doğru yerdemi emin ol yani

{
 }

böyle ise ;
{
}

böyle yap
Dediğin gibiymiş yaptım saol. :)