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

Extra Can Ve Zırh Verme

Başlatan Almera, 01 Ocak 2020, 16:11:24

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Almera

Merhabalar..
Oyuncuya Verebildiğimiz Can Ve Zırh Miktarı 100'ün üstüne çıkmıyor.

Anadolu modundaki texdrawı aldım. Anlık olarak oyuncunun canını ve zırhının kaç olduğunu gösteriyor texdrwda.

Fakat Oyuncunun canını veya zırını 100 ün üstünde girmiğim vakit texdraw hala 100'de sabit kalıyor.

Demek istediğim şey, oyuncunun canını 100 ün üstüne çıkarabilmek için herhangi bir inc. veya plugin'e gerek var mı ?


Radless

TextDrawı alıp koymakla olmuyor can göstergesi zırh göstergesi, adamın canı zırhı değişince değişiyor mu textdrawlardaki yazılar, kontrol ettin mi?

"Life's too short to hold grudges."

Almera

Ettim kanka. Canımı 50 yapıyorum mesela texdraw 50 gösteriyor herşey tamam fakat. 100'ün üstünde bi rakam girdimmi texdraw 100 gösteriyor üstünü göstermiyor.


Goddeww

Çünkü bunu desteklemiyordur yaptığınız textdraw, fakat sistemsel olarak 150 hp verdiğinizde ekstra hpniz olur fakat bu textdrawa yansımaz çünkü bu GTA'nın klasik değerlerini aşamaz.

Belki pawnoda can çekme fonksiyonunda değişiklikler yaparsan yapabilirsin.


Eamon

Can ve armor'un değerleri tekli değer değildir. Örnek veriyorum canın 100 ise, aslında 100.000.000 gibi bir şeydir o. Textdrawlarda onu tek haneli göstermek için round gibi fonksiyonlar kullanılır o yüzden hep öyle gözüküyor olabilir.

Bugünün güzel zamanları, yarının üzücü düşünceleridir.

NexoR

Anadolu modunda can ve zırh max 150 olarak ayarlıdır. Anadolu modundaki textdrawı alıp başka bir sunucuya koysanda 100 üstüne çıkamazsın. Plugin ile yapılan bir şey bu.


Almera

Alıntı yapılan: NexoR - 02 Ocak 2020, 11:27:41
Anadolu modunda can ve zırh max 150 olarak ayarlıdır. Anadolu modundaki textdrawı alıp başka bir sunucuya koysanda 100 üstüne çıkamazsın. Plugin ile yapılan bir şey bu.

Hangi Plugin ile yaptınız bunu söylermisin ?


squarepants

Eğer GetPlayerHealth(); fonksiyonu kullanıyorsanız , varsayılan tamsayı değerleri dışındaki değerleri okuyamaz , 255'e kadar olan uzunluk değerini okuyabilir ancak üstü değerler için aynı kural geçerli değil. Örneğin 256 can kapasitesine sahip bir oyuncu için bu değer 0 olacaktır.

Bu kuralı OnPlayerTakeDamage() callback'ı sayesinde kırabilmeniz mümkün. Örnek verecek olur isek :


new Float:can[MAX_PLAYERS];
new Text:ocan;
public OnGameModeInit()
{
 ocan = TextDrawCreate(54.000000, 326.000000, "_");
 TextDrawBackgroundColor(ocan, 255);
 TextDrawFont(ocan, 2);
 TextDrawLetterSize(ocan, 0.500000, 1.000000);
 TextDrawColor(ocan, -65281);
 TextDrawSetOutline(ocan, 1);
 TextDrawSetProportional(ocan, 1);
 return 1;
}
OnPlayerSpawn(playerid)
{
 can[playerid] = 100.0;
 new candeger[15];
 format(candeger, 15, "%.02f",can[playerid]);
 TextDrawSetString(ocan, candeger);
 TextDrawShowForPlayer(playerid, ocan);
 return 1;
}
CMD:cata(playerid)
{
 can[playerid] = 256;
 SetPlayerHealth(playerid,can[playerid]);
 new candeger[15];
 format(candeger, 15, "%.02f",can[playerid]);
 TextDrawSetString(ocan, candeger);
 TextDrawShowForPlayer(playerid, ocan);
 return 1;
}
CMD:cbak(playerid)
{
 new msj[60];
 format(msj , sizeof(msj),"can degeri %.02f",can[playerid]);
 SendClientMessage(playerid,-1,msj);
 return 1;
}
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
    new candeger[15];
    can[playerid] -= amount;
    if(can[playerid] <= 0.0) return 0;
    format(candeger, 15, "%.02f",can[playerid]);
    TextDrawSetString(ocan, candeger);
    TextDrawShowForPlayer(playerid, ocan);
    return 0;
}

cata komut istemcisi kullanıldığında textdraw , hesaplanmış olan değeri sorunsuz bir şekilde gösterecektir. Hasar alındığında ise bu değer alınan hasar miktarı kadar azalacaktır.
Son düzenlenme: 04 Ocak 2020, 12:31:03 ThePosition

Almera

Alıntı yapılan: ThePosition - 04 Ocak 2020, 01:02:10
Eğer GetPlayerHealth(); fonksiyonu kullanıyorsanız , varsayılan tamsayı değerleri dışındaki değerleri okuyamaz , 255'e kadar olan uzunluk değerini okuyabilir ancak üstü değerler için aynı kural geçerli değil. Örneğin 256 can kapasitesine sahip bir oyuncu için bu değer 0 olacaktır.

Bu kuralı OnPlayerTakeDamage() callback'ı sayesinde kırabilmeniz mümkün. Örnek verecek olur isek :


new Float:can[MAX_PLAYERS];
new Text:ocan;
public OnGameModeInit()
{
 ocan = TextDrawCreate(54.000000, 326.000000, "_");
 TextDrawBackgroundColor(ocan, 255);
 TextDrawFont(ocan, 2);
 TextDrawLetterSize(ocan, 0.500000, 1.000000);
 TextDrawColor(ocan, -65281);
 TextDrawSetOutline(ocan, 1);
 TextDrawSetProportional(ocan, 1);
 return 1;
}
OnPlayerSpawn(playerid)
{
 can[playerid] = 100.0;
 new candeger[15];
 format(candeger, 15, "%.02f",can[playerid]);
 TextDrawSetString(ocan, candeger);
 TextDrawShowForPlayer(playerid, ocan);
 return 1;
}
CMD:cata(playerid)
{
 can[playerid] = 256;
 SetPlayerHealth(playerid,can[playerid]);
 new candeger[15];
 format(candeger, 15, "%.02f",can[playerid]);
 TextDrawSetString(ocan, candeger);
 TextDrawShowForPlayer(playerid, ocan);
 return 1;
}
CMD:cbak(playerid)
{
 new msj[60];
 format(msj , sizeof(msj),"can degeri %.02f",can[playerid]);
 SendClientMessage(playerid,-1,msj);
 return 1;
}
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
    new candeger[15];
    can[playerid] -= amount;
    if(can[playerid] <= 0.0) return 0;
    format(candeger, 15, "%.02f",can[playerid]);
    TextDrawSetString(ocan, candeger);
    TextDrawShowForPlayer(playerid, ocan);
    return 0;
}

cata komut istemcisi kullanıldığında textdraw , hesaplanmış olan değeri sorunsuz bir şekilde gösterecektir. Hasar alındığında ise bu değer alınan hasar miktarı kadar azalacaktır.




Kardeşim Çokkkk Teşekkür Ederim. Texdraw sıkıntısız çalışıyor fakat canımı 256 olarak  ayarlıyorum ama canım 100'ü geçmiyor. Onu Nasıl yapabilirim ?.
SetPlayerHealth(playerid, 256); Yapıyorum olmuyor. En fazla 100 oluyor.
Yani canımı nasıl 256  veya başka bi değer yabailirim.


squarepants

Tam olarak anlayamadım , yani 256 yaptığınız halde oyuncu canı 100 olarak mı kalıyor ? yoksa textdraw ile mi ilgili ?


Almera

Oyuncunun canını 256 yaptığım halde 100 kalıyor. Texdraw Sıkıntısız Çalışıyor.


squarepants

Düz mantık 256 iken 100 olması imkansız ancak yüksek ihtimal modunda kullandığın bazı eklentiler veya fonksiyonlar tarafından bloklanmış olabilir , hile veya başka sebeplerden dolayı.


Excision

Weapon-Config ile max health ve max armouru değiştirebilirsiniz.
PAWN Kodu: Seç
SetPlayerMaxHealth(playerid, Float:value);
SetPlayerMaxArmour(playerid, Float:value);


Almera

Alıntı yapılan: Excision - 05 Ocak 2020, 15:35:46
Weapon-Config ile max health ve max armouru değiştirebilirsiniz.
PAWN Kodu: Seç
SetPlayerMaxHealth(playerid, Float:value);
SetPlayerMaxArmour(playerid, Float:value);

Teşekkürler Oldu Sağolun :)