GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
11 Ağustos 2025, 21:28:23

Etkinlik Sistemi

Başlatan LanceX, 22 Mart 2017, 18:37:10

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

LanceX

Moduma etkinlik sistemi yapmak istiyorum ancak nasıl yapacağımı bulamadım.

PAWN Kodu: Seç
new bool:pEtkinlikte[MAX_PLAYERS];

Sadece bunu yaptım sonrasında ne yapacağım?


NexoR

CMD:blabla(playerid, params[])
{
if(pEtkinlikte[playerid]) return SendClientMessage(playerid, -1, "Etkinliktesin ?");
return 1;
}

CMD:blaaaaa(playerid, params[])
{
new za@xD = 0;
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
{
if(pEtkinlikte[i]) za@xD++;
}
printf("%d kişi etkinlikte",  za@xD);
return 1;
}


trabzon

Alıntı yapılan: NexoR - 22 Mart 2017, 19:19:30

CMD:blabla(playerid, params[])
{
if(pEtkinlikte[playerid]) return SendClientMessage(playerid, -1, "Etkinliktesin ?");
return 1;
}

CMD:blaaaaa(playerid, params[])
{
new za@xD = 0;
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
{
if(pEtkinlikte[i]) za@xD++;
}
printf("%d kişi etkinlikte",  za@xD);
return 1;
}


jsjjswkaqweqedwde :D :D


LanceX

Alıntı yapılan: NexoR - 22 Mart 2017, 19:19:30

CMD:blabla(playerid, params[])
{
if(pEtkinlikte[playerid]) return SendClientMessage(playerid, -1, "Etkinliktesin ?");
return 1;
}

CMD:blaaaaa(playerid, params[])
{
new za@xD = 0;
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
{
if(pEtkinlikte[i]) za@xD++;
}
printf("%d kişi etkinlikte",  za@xD);
return 1;
}



1'i anladım da, 2. yi anlamadım? Bana gereken şey yetkili etkinlik komutu kullandığında yanındakilere komut işlemesi.


NexoR

Alıntı yapılan: SelimBasKaN - 22 Mart 2017, 20:11:33

Alıntı yapılan: NexoR - 22 Mart 2017, 19:19:30

CMD:blabla(playerid, params[])
{
if(pEtkinlikte[playerid]) return SendClientMessage(playerid, -1, "Etkinliktesin ?");
return 1;
}

CMD:blaaaaa(playerid, params[])
{
new za@xD = 0;
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
{
if(pEtkinlikte[i]) za@xD++;
}
printf("%d kişi etkinlikte",  za@xD);
return 1;
}



1'i anladım da, 2. yi anlamadım? Bana gereken şey yetkili etkinlik komutu kullandığında yanındakilere komut işlemesi.



CMD:komutislet(playerid, params[])
{
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
{
if(!IsPlayerConnected(i)) continue;
if(GetPlayerDistanceFromPlayer(playerid, i) < 50.0)
{
if(playerid != i) // Sen hariç yanındaki herkese komutu işletir
{
pEtkinlikte[i] = true;
}
}
}
return 1;
}


forward Float:GetPlayerDistanceFromPlayer(playerid, targetid);
public Float:GetPlayerDistanceFromPlayer(playerid, targetid)
{
    new Float:fDist[3];
    GetPlayerPos(playerid, fDist[0], fDist[1], fDist[2]);
    return GetPlayerDistanceFromPoint(targetid, fDist[0], fDist[1], fDist[2]);
}


Test etmedim hata çıkabilir.


LanceX

error 017: undefined symbol "GetPlayerDistanceFromPlayer"


NexoR

Alıntı yapılan: SelimBasKaN - 22 Mart 2017, 22:01:04

error 017: undefined symbol "GetPlayerDistanceFromPlayer"


GetPlayerDistanceFromPlayer modunda ekli olabilir veya komutun üstüne eklemeyi dene.


Backup

Alıntı yapılan: SelimBasKaN - 22 Mart 2017, 22:01:04

error 017: undefined symbol "GetPlayerDistanceFromPlayer"

PAWN Kodu: Seç
forward Float:GetPlayerDistanceFromPlayer(p1,p2);
public Float:GetPlayerDistanceFromPlayer(p1,p2)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
{
return -1.00;
}
GetPlayerPos(p1,x1,y1,z1);
GetPlayerPos(p2,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}