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

SetPvarİnt kullanım farkları

Başlatan magnet00, 16 Şubat 2025, 17:11:41

« önceki - sonraki »

0 Üye ve 2 Ziyaretçi konuyu incelemekte.

magnet00

SetPVarInt yerine enumda değerler oluşturdum işte pIsSoygunda gibi SetPVarInt kullanmamın ne avantajı var ve genelde nerede kullanılır bu SetPVarInt


kızıl

Alıntı yapılan: magnet00 - 16 Şubat 2025, 17:11:41
SetPVarInt yerine enumda değerler oluşturdum işte pIsSoygunda gibi SetPVarInt kullanmamın ne avantajı var ve genelde nerede kullanılır bu SetPVarInt
openmp veya samp wiki sayfasından bakabilirsin


magnet00


Alıntı yapılan: kızıl - 16 Şubat 2025, 18:01:10
Alıntı yapılan: magnet00 - 16 Şubat 2025, 17:11:41
SetPVarInt yerine enumda değerler oluşturdum işte pIsSoygunda gibi SetPVarInt kullanmamın ne avantajı var ve genelde nerede kullanılır bu SetPVarInt
openmp veya samp wiki sayfasından bakabilirsin

önce oraya baktım sonra buraya yazdım , sampwikide bunun ne için kullanıldıgını veya enumdan farkının ne oldugunu anlatmıyor.


Murat Budak

Her yerde kullanılabilir ama elinden geldiğince hiç kullanma çok gereksiz bir şey SetPVarInt yerine enum kullanman daha sağlıklı SetPVarInt kullanırsan bir süre sonra veri kaybı yaşayabilirsin. tek seferlik kullanabilirsin enum değilde sadece bir değişken açılacaktır bir sefer kullanacan bir daha kullanmayacan bunun yerine SetPVarInt kullan ama eğerki sürekli kullanılacak bir değişkense enum kullanmanı öneririm
Son düzenlenme: 16 Şubat 2025, 18:23:21 Murat Budak

magnet00

Alıntı yapılan: Murat Budak - 16 Şubat 2025, 18:14:33
Her yerde kullanılabilir ama elinden geldiğince hiç kullanma çok gereksiz bir şey SetPVarInt yerine enum kullanman daha sağlıklı SetPVarInt kullanırsan bir süre sonra veri kaybı yaşayabilirsin. tek seferlik kullanabilirsin enum değilde sadece bir değişken açılacaktır bir sefer kullanacan bir daha kullanmayacan bunun yerine SetPVarInt kullan ama eğerki sürekli kullanılacak bir değişkense enum kullanmanı öneririm
Teşekkür ettim


kızıl

enum SetPvarInt'ye gore daha duzenli bir değer dizini, SetPVarInt ise kullanıcı üzerindeki bir değeri değiştirmek gibi, ornek bir kullanıcıya para vermek gibi, vikide'de aynisini vermiş zaten
// GetPlayerMoney'i "Para" adlı oyuncunun değişkeninin değerine ayarla
SetPVarInt ( playerid, "Para" , GetPlayerMoney ( playerid ) ) ;
 // oyuncunun sahip olduğu parayı yazdırır printf
( " para: %d" , GetPVarInt ( playerid, "Para" ) ) ;

ya da

SetPVarInt(playerid, "Logged",1);

kullanici giris yaptı gibi...

enum ise bunun daha düzenli ve toplu kullanisi, dizi hali diyebiliriz mesala;
enum E_MY_ARRAY
{
 E_MY_ARRAY_MONEY,
 E_MY_ARRAY_AMMO,
 E_MY_ARRAY_GUN
}
 
new
 gPlayerData[MAX_PLAYERS][E_MY_ARRAY];
 
public OnPlayerConnect(playerid)
{
 gPlayerData[playerid][E_MY_ARRAY_MONEY] = 0;
 gPlayerData[playerid][E_MY_ARRAY_AMMO] = 100;
 gPlayerData[playerid][E_MY_ARRAY_GUN] = 5;
}
giriş yapan kullanıcının para değerini, alacağı silahı ve mermisine kadar düzeltme şansın bulunuyor, SetPvarInt'ye göre daha düzenli ve toplu bir şekilde kullanma şansın var diğerinde ise her satıra ayrı.

anladığım kadarıyla,






Alıntı yapılan: magnet00 - 16 Şubat 2025, 18:06:23
Alıntı yapılan: kızıl - 16 Şubat 2025, 18:01:10
Alıntı yapılan: magnet00 - 16 Şubat 2025, 17:11:41
SetPVarInt yerine enumda değerler oluşturdum işte pIsSoygunda gibi SetPVarInt kullanmamın ne avantajı var ve genelde nerede kullanılır bu SetPVarInt
openmp veya samp wiki sayfasından bakabilirsin

önce oraya baktım sonra buraya yazdım , sampwikide bunun ne için kullanıldıgını veya enumdan farkının ne oldugunu anlatmıyor.


magnet00

Alıntı yapılan: kızıl - 16 Şubat 2025, 18:32:51
enum SetPvarInt'ye gore daha duzenli bir değer dizini, SetPVarInt ise kullanıcı üzerindeki bir değeri değiştirmek gibi, ornek bir kullanıcıya para vermek gibi, vikide'de aynisini vermiş zaten
// GetPlayerMoney'i "Para" adlı oyuncunun değişkeninin değerine ayarla
SetPVarInt ( playerid, "Para" , GetPlayerMoney ( playerid ) ) ;
 // oyuncunun sahip olduğu parayı yazdırır printf
( " para: %d" , GetPVarInt ( playerid, "Para" ) ) ;

ya da

SetPVarInt(playerid, "Logged",1);

kullanici giris yaptı gibi...

enum ise bunun daha düzenli ve toplu kullanisi, dizi hali diyebiliriz mesala;
enum E_MY_ARRAY
{
 E_MY_ARRAY_MONEY,
 E_MY_ARRAY_AMMO,
 E_MY_ARRAY_GUN
}
 
new
 gPlayerData[MAX_PLAYERS][E_MY_ARRAY];
 
public OnPlayerConnect(playerid)
{
 gPlayerData[playerid][E_MY_ARRAY_MONEY] = 0;
 gPlayerData[playerid][E_MY_ARRAY_AMMO] = 100;
 gPlayerData[playerid][E_MY_ARRAY_GUN] = 5;
}
giriş yapan kullanıcının para değerini, alacağı silahı ve mermisine kadar düzeltme şansın bulunuyor, SetPvarInt'ye göre daha düzenli ve toplu bir şekilde kullanma şansın var diğerinde ise her satıra ayrı.

anladığım kadarıyla,






Alıntı yapılan: magnet00 - 16 Şubat 2025, 18:06:23
Alıntı yapılan: kızıl - 16 Şubat 2025, 18:01:10
Alıntı yapılan: magnet00 - 16 Şubat 2025, 17:11:41
SetPVarInt yerine enumda değerler oluşturdum işte pIsSoygunda gibi SetPVarInt kullanmamın ne avantajı var ve genelde nerede kullanılır bu SetPVarInt
openmp veya samp wiki sayfasından bakabilirsin

önce oraya baktım sonra buraya yazdım , sampwikide bunun ne için kullanıldıgını veya enumdan farkının ne oldugunu anlatmıyor.

aynen reis zaten ondan sordum, enumda ne isim verdiğini ne veri tipinde tuttugunu daha duzenlı görebiliyorsun , setpvarint ise enum tanımlamadan direk playeridye değer ataması yapıyor ancak kullanımı bence daha zor karmasıklastırıyor işi.


kızıl

Alıntı yapılan: magnet00 - 16 Şubat 2025, 21:05:09
Alıntı yapılan: kızıl - 16 Şubat 2025, 18:32:51
enum SetPvarInt'ye gore daha duzenli bir değer dizini, SetPVarInt ise kullanıcı üzerindeki bir değeri değiştirmek gibi, ornek bir kullanıcıya para vermek gibi, vikide'de aynisini vermiş zaten
// GetPlayerMoney'i "Para" adlı oyuncunun değişkeninin değerine ayarla
SetPVarInt ( playerid, "Para" , GetPlayerMoney ( playerid ) ) ;
 // oyuncunun sahip olduğu parayı yazdırır printf
( " para: %d" , GetPVarInt ( playerid, "Para" ) ) ;

ya da

SetPVarInt(playerid, "Logged",1);

kullanici giris yaptı gibi...

enum ise bunun daha düzenli ve toplu kullanisi, dizi hali diyebiliriz mesala;
enum E_MY_ARRAY
{
 E_MY_ARRAY_MONEY,
 E_MY_ARRAY_AMMO,
 E_MY_ARRAY_GUN
}
 
new
 gPlayerData[MAX_PLAYERS][E_MY_ARRAY];
 
public OnPlayerConnect(playerid)
{
 gPlayerData[playerid][E_MY_ARRAY_MONEY] = 0;
 gPlayerData[playerid][E_MY_ARRAY_AMMO] = 100;
 gPlayerData[playerid][E_MY_ARRAY_GUN] = 5;
}
giriş yapan kullanıcının para değerini, alacağı silahı ve mermisine kadar düzeltme şansın bulunuyor, SetPvarInt'ye göre daha düzenli ve toplu bir şekilde kullanma şansın var diğerinde ise her satıra ayrı.

anladığım kadarıyla,






Alıntı yapılan: magnet00 - 16 Şubat 2025, 18:06:23
Alıntı yapılan: kızıl - 16 Şubat 2025, 18:01:10
Alıntı yapılan: magnet00 - 16 Şubat 2025, 17:11:41
SetPVarInt yerine enumda değerler oluşturdum işte pIsSoygunda gibi SetPVarInt kullanmamın ne avantajı var ve genelde nerede kullanılır bu SetPVarInt
openmp veya samp wiki sayfasından bakabilirsin

önce oraya baktım sonra buraya yazdım , sampwikide bunun ne için kullanıldıgını veya enumdan farkının ne oldugunu anlatmıyor.

aynen reis zaten ondan sordum, enumda ne isim verdiğini ne veri tipinde tuttugunu daha duzenlı görebiliyorsun , setpvarint ise enum tanımlamadan direk playeridye değer ataması yapıyor ancak kullanımı bence daha zor karmasıklastırıyor işi.
evet yardımım dokunduysa ne mutlu bana kolay gelsin


Krips Je

ek diyecek birşey bırakmamışlar, tekrardan başarılar :D

2012 - 2025

magnet00

Alıntı yapılan: Krips Je - 16 Şubat 2025, 22:42:36
ek diyecek birşey bırakmamışlar, tekrardan başarılar :D

senle daha çok işimiz var hayırlı geceler :)


deksdeveloper

SetPVarInt birnevi değişken depolama yada direkt olarak değişken olarak adlandırılabilir. 
Veri kaybı yaşar mısın bilmiyorum fakat önemli verileri depolamanı önermem. Murat Budak'ın dediği gibi tek seferlik değişkenleri tutabilirsin.

Ama bence şunu unutma, hangi dil olursa olsun her şeyi deneyimleyerek öğren. Eğer sıfırdan bir dil öğreniyorsan hazır bir oyun modu kullanarak öğrenmeye çalışma, gördüğün çoğu şey kafanı karıştırabilir. Aç bir oyun modu ve adını "ciraklikeseri.pwn" yap, aklında ne varsa otur ve dene. Kaybedeceğin tek şey belkide birkaç saatin olur. Ama sonucunda gerçekten merak ettiklerini öğrenmiş olursun.

Ek olarakta fonksiyonların ve callbacklerin nasıl kullanıldığını https://sampwiki.blast.hk/wiki/Main_Page gibi sitelerden öğrenebilirsin, buna alternatif olarak openmp wiki sayfasıda mevcut.

Bir yola başladıysan sana bolca şans diliyorum, her şey gönlünce olsun.


magnet00

Alıntı yapılan: deksdeveloper - 16 Şubat 2025, 23:24:27
SetPVarInt birnevi değişken depolama yada direkt olarak değişken olarak adlandırılabilir. 
Veri kaybı yaşar mısın bilmiyorum fakat önemli verileri depolamanı önermem. Murat Budak'ın dediği gibi tek seferlik değişkenleri tutabilirsin.

Ama bence şunu unutma, hangi dil olursa olsun her şeyi deneyimleyerek öğren. Eğer sıfırdan bir dil öğreniyorsan hazır bir oyun modu kullanarak öğrenmeye çalışma, gördüğün çoğu şey kafanı karıştırabilir. Aç bir oyun modu ve adını "ciraklikeseri.pwn" yap, aklında ne varsa otur ve dene. Kaybedeceğin tek şey belkide birkaç saatin olur. Ama sonucunda gerçekten merak ettiklerini öğrenmiş olursun.

Ek olarakta fonksiyonların ve callbacklerin nasıl kullanıldığını https://sampwiki.blast.hk/wiki/Main_Page gibi sitelerden öğrenebilirsin, buna alternatif olarak openmp wiki sayfasıda mevcut.

Bir yola başladıysan sana bolca şans diliyorum, her şey gönlünce olsun.

değerli mesajın için teşekkürler aslında c/c++ gibi dillere hakimim sadece samp(pawn) scrpit özelliklerini kullanmayı öğreniyorum desem yeri aslında , şu cümle için teşekkür ederim "Bir yola başladıysan sana bolca şans diliyorum, her şey gönlünce olsun". cümlemize , hayırlı akşamlar.


Backup

Enumlar bir dizidir. Bellekte (Ram) saklandığı için daha hızlı erişirsin. samp-server.exe 'yi kapatmadıkça, server'in kapanmadıkça silinmezler.

SetPvarInt, SetPvarFloat, SetPvarString gibi fonksiyonlar sa-mp tarafından yönetilen bir bellekte tutulur haliyle yavaştır. Oyuncu oyundan çıktıktan sonra silinirler.

Ayrıca Enumları playerden bağımsız her utility için tutabilirken, SetPvarInt gibi değişkenleri sadece oyuncular için kullanabilirsin.
Son düzenlenme: 17 Şubat 2025, 08:06:43 Backup

HKI

Player vars, oyuncunun sunucudan çıkmasıyla hafızada işgal ettikleri alanı boşaltırlar ve sıfırlanırlar. Enum gibi değiller ve her seferinde oyuncunun çıkmasıyla sıfırlanmaları gerekmez. Fakat takibi biraz zor olduğundan çok daha basit işlemlerde kullanılmasını tavsiye ederim.

¡La vida es una sola!

Amper

openmp'de düzelmiş olabilir fakat eskiden bolca memory leak yaşatıyordu. siz olduğunca kendi statelerinizi kendi kodunuzda saklamaya çalışın bir gün sorun çıkarsa en azından benim yüzümden oldu dersiniz  :evet: