Aktör Oluşturmak SA:MP
Aktör Nedir?
Aktörler 0.3.7 ile gelen bir özelliktir. Aktör görünüş olarak NPC ile aynıdır fakat aktörün yapabileceği şeyler daha sınırlıdır. NPC gibi kontrol edilememektedir. Ayrıca NPC gibi oyuncudan sayılıp, oyuncu idsi almaz. Aktörler için NPC işlevlerini kullanamayız. Maksimum oluşturulabilecek aktör sayısı 1000'dir.
Nasıl Aktör Oluşturulur?
Aktörün skin idsi: Aktörün görüneceği skinin idsini buraya gireceğiz. Skin idlerine bakmak için buraya tıklayınız.
Aktörün X Koordinatı, Y Koordinatı, Z Koordinatı: Buralara ise koordinatları gireceğiz. Eğer koordinat almayı bilmiyorsanız aşağıdaki komutu kullanarak oyun içerisinden alabilirsiniz.
Aktörün Yönü: Aktörün nereye bakacağını belirlemeye yarar. Eğer hesaplayamıyorsanız aşağıdaki kodu kullanarak kolayca öğrenebilirsiniz.
Bu oluşturduğumuz kodu OnGameModeInit'e eklersek mod her açıldığında aktör devreye girecektir. Aktörü bir değişken ile tanıtarak onu kolayca kontrol edebilirsiniz.
new Yokolacagim;
public OnGameModeInit()
{
Yokolacagim = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
return 1;
}
public OnGameModeExit()
{
DestroyActor(Yokolacagim);
return 1;
}
SetActorPos: Aktörün koordinatını belirlemeye yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
}
GetActorPos: Aktörün koordinatını öğrenmeye yarar.
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
}
SetActorFacingAngle: Aktörün yönünü değiştirmeye yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
}
GetActorFacingAngle: Aktörün yönünü öğrenmeye yarar.
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
}
SetActorVirtualWorld: Aktörün dünyasını değiştirmeye yarar.
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
}
GetActorVirtualWorld: Aktörün dünyasını öğrenmeye yarar.
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
}
ApplyActorAnimation: Aktöre animasyon uygulamaya yarar.
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
}
ClearActorAnimations: Aktörün yaptığı animasyonları temizlemeye/iptal etmeye yarar.
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
}
SetActorHealth: Aktörün canını ayarlamaya yarar.
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
}
GetActorHealth: Aktörün canını öğrenmeye yarar.
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
}
SetActorInvulnerable: Aktörü ölümsüz veya normal yapmaya yarar. (1 Ölümsüz, 0 Normal)
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
}
IsActorInvulnerable: Aktörün ölümsüz olup olmadığını kontrol etmeye yarar.
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
}
IsValidActor: Aktörün var olup olmadığını kontrol etmeye yarar.
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
}
Nasıl Aktör Oluşturulur?
CreateActor(Aktörün skin idsi, Aktörün X Koordinatı, Y Koordinatı, Z Koordinatı, Aktörün Yönü);
Aktörün skin idsi: Aktörün görüneceği skinin idsini buraya gireceğiz. Skin idlerine bakmak için buraya tıklayınız.
Aktörün X Koordinatı, Y Koordinatı, Z Koordinatı: Buralara ise koordinatları gireceğiz. Eğer koordinat almayı bilmiyorsanız aşağıdaki komutu kullanarak oyun içerisinden alabilirsiniz.
Aktörün Yönü: Aktörün nereye bakacağını belirlemeye yarar. Eğer hesaplayamıyorsanız aşağıdaki kodu kullanarak kolayca öğrenebilirsiniz.
if(!strcmp(cmdtext, "/xyz", true))
{
new Float:x, Float:y, Float:z, Float:angle, string[128];
GetPlayerPos(playerid, x,y,z);
GetPlayerFacingAngle(playerid, angle);
format(string, sizeof(string), "Koordinatlarınız: %f, %f, %f",x,y,z);
SendClientMessage(playerid, 0xFF0000FF, string);
format(string, sizeof(string), "Yönünüz: %0.2f",angle);
SendClientMessage(playerid, 0xFF0000FF, string);
return 1;
}
Bu oluşturduğumuz kodu OnGameModeInit'e eklersek mod her açıldığında aktör devreye girecektir. Aktörü bir değişken ile tanıtarak onu kolayca kontrol edebilirsiniz.
new Fatma;
public OnGameModeInit()
{
Fatma = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
return 1;
}
Aktör Fonksiyonları Nedir, Nasıl Kullanılır?
new Yokolacagim;
public OnGameModeInit()
{
Yokolacagim = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
return 1;
}
public OnGameModeExit()
{
DestroyActor(Yokolacagim);
return 1;
}
SetActorPos: Aktörün koordinatını belirlemeye yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
SetActorPos(Murat, 0.0, 0.0, 0.0);
return 1;}
GetActorPos: Aktörün koordinatını öğrenmeye yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
return 1;}
public OnPlayerConnect(playerid)
{
new Float:X, Float:Y, Float:Z;
GetActorPos(Murat, X,Y,Z);
return 1;
}
SetActorFacingAngle: Aktörün yönünü değiştirmeye yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
SetActorFacingAngle(Murat, 180.8);
return 1;}
GetActorFacingAngle: Aktörün yönünü öğrenmeye yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
return 1;}
public OnPlayerConnect(playerid)
{
new Float:Angle;
GetActorFacingAngle(Murat, Angle);
return 1;
}
SetActorVirtualWorld: Aktörün dünyasını değiştirmeye yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
SetActorVirtualWorld(Murat, 24);
return 1;}
GetActorVirtualWorld: Aktörün dünyasını öğrenmeye yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
return 1;}
public OnPlayerConnect(playerid)
{
if(GetActorVirtualWorld(Murat) == 56)
{
SendClientMessageToAll(-1, "Murat Baba yine iş başında. :lol:");
return 1;
}
ApplyActorAnimation: Aktöre animasyon uygulamaya yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
ApplyActorAnimation(Murat, "Attractors", "Stepsit_in", 4.1, 0, 0, 0, 0, 0);
return 1;}
ClearActorAnimations: Aktörün yaptığı animasyonları temizlemeye/iptal etmeye yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
ClearActorAnimations(Murat);
return 1;}
SetActorHealth: Aktörün canını ayarlamaya yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
SetActorHealth(Murat, 1500);
return 1;}
GetActorHealth: Aktörün canını öğrenmeye yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
SetActorHealth(Murat, 1500);
if(GetActorHealth(Murat) == 1500)
{
print("Muratim, yine kralsin!");
}
return 1;}
SetActorInvulnerable: Aktörü ölümsüz veya normal yapmaya yarar. (1 Ölümsüz, 0 Normal)
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
SetActorInvulnerable(Murat, 1);
return 1;}
IsActorInvulnerable: Aktörün ölümsüz olup olmadığını kontrol etmeye yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
if
(IsActorInvulnerable(Murat))
{
print("Murat reis ölümsüz olmuş... Sen hala ödevini yapma.");
}
return 1;}
IsValidActor: Aktörün var olup olmadığını kontrol etmeye yarar.
new Murat;
public OnGameModeInit()
{
Murat = CreateActor(12, 0.0, 0.0, 0.0, 289.5);
if(IsValidActor(Murat))
{
print("Muratim, yasiyorsun aslanim!");
}
else
{
print("Muratim... Neden, neden?! Olmussun yahu sen! Kim kiydi...");
}
return 1;}