Arkadaşlar ben ekranın altına textdraw olarak PARA,SKOR,PİNG göstergeleri koydum.Sunucuda tek kişi olunca doğru düzgün gösteriyor neyse.Sunucuda 2 kişi olunca ışık hızı gibi hem diğer arkadaşın Para,skor,ping ini gösteriyor hem de benimkini.İnanın ışık hızı gibi :D Bir bakabilirmisiniz kodlar şunlar;
format(string, sizeof string, "%d", GetPlayerPing(playerid));
TextDrawSetString(Alttext15, string);
format(string, sizeof string, "%d", GetPlayerScore(playerid));
TextDrawSetString(Alttext9, string);
format(string, sizeof string, "$%d", GetPlayerMoney(playerid));
TextDrawSetString(Alttext5, string);
OnPlayerUpdate'de bunlar.
foreach(Player, i)
{
format(string, sizeof string, "%d", GetPlayerPing(i));
TextDrawSetString(Alttext15, string);
format(string, sizeof string, "%d", GetPlayerScore(i));
TextDrawSetString(Alttext9, string);
format(string, sizeof string, "$%d", GetPlayerMoney(i));
TextDrawSetString(Alttext5, string);
}
Global bir textdrawı player için kullanamazsın. Eğer özel bir şey değilse bana textdrawdaki kodları gönder düzeltip atayım.
Düzeldi kardeşim Allah razı olsun :) Şu Foreach ne işe yarıyor açıklar mısın ? Ne gibi yerlerde kullanabilirim ?
Alıntı yapılan: Excision - 01 Şubat 2018, 23:21:55
Global bir textdrawı player için kullanamazsın. Eğer özel bir şey değilse bana textdrawdaki kodları gönder düzeltip atayım.
Arkadaşın verdiği kodlar düzeltti olayı ama bi sıkıntı çıkar mı ki ?
O şekilde kullanamazsın.
Alıntı yapılan: TRSinan28 - 01 Şubat 2018, 23:22:11
Düzeldi kardeşim Allah razı olsun :) Şu Foreach ne işe yarıyor açıklar mısın ? Ne gibi yerlerde kullanabilirim ?
Karışık kuruşuk şeyler ya :D
Bütün oyuncuları döngüye sokarken kullanabilirsin, hem daha performanslı olur foreach kullanırsan. Örnek verecek olursak;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
GivePlayerMoney(i, 3000);
}
}
kullanmak yerine
foreach(new i: Player)
{
GivePlayerMoney(i, 3000);
}
gibi kullanmak daha pratik ve sağlıklı.
foreach ile oyundaki bütün oyuncuları döngüye aldığımız için tekrardan IsPlayerConnected şartını getirmemize gerek kalmıyor.
Arkadaşın attığı kodda öyleydi
Edit: Yanlış anlamışım Foreach kullanımını öğrettin.Tamamdır Alican abi anladım.Teşekkür ederim.
Kullanımı yanlış, oyuncu her onplayerupdate i çağırdığında ki bu public saniyede 4 5 defa çağrılabiliyor. Her seferinde foreach ile oyuncuları boşu boşuna döngüye sokacaktı ki bi işe yaramayacaktı.
Özelden attım linki, incele anlarsın.
Textdraw kodlarını OnGameModeInit'e atıyorum.Sen OnPlayerConnect'e uyarlamışsın.Bir sıkıntı olmaz dimi ?
Attığım gibi kullan.
Çözüldü.