AION - Tıkla oyna


Kullanıcı Adı:
şifre:
şifreyi Anımsa
şifrenizi mi unuttunuz?     ÜYE OL

 Tüm Forumlar
 FPS - TPS - Aksiyon - Macera - Dövüş Oyunları
 Grand Theft Auto
 Pawnoya başlıyorum
 Yeni Konu  Konuyu Yanıtla
 Yazıcı Dostu
Yazar Önceki Konu Konu Sonraki Konu  

Hipertr
Üye



Turkey
İleti 5

İletim - 04/09/2011 :  12:28:24  Bilgileri Göster  Alıntı yaparak Yanıtla
~Pawno'ya Başlıyorum~

Ders 1



1) Silah Komutu Ekleme

Öncelikle modumuzu pawno programıyla açıyoruz.Daha sonra OnPlayerCommandText bölümüne örnek kod olarak aşağıdaki kodu yapıştırıyoruz...

Code:

if(!strcmp(cmdtext,"/uzi",true)) {
SendClientMessage(playerid, COLOR_GREEN, "2000 TL Harcayarak Uzi SAtin Aldin");
GivePlayerWeapon(playerid,28,125);
GivePlayerMoney(playerid,-2000);
return 1;
}

-Üst kısımda if ile başlayan kısımın /uzi bölümüne istediğimiz komutu yazıyoruz.

-SendClientMessage kısmına komutu yazdığınız an çıkacak mesajı yazıyoruz.

-GivePlayerWeapon kısmına (2 olan silahın ididir.125 ise mermi sayısıdır)bunlarıda ayarlıyoruz

-GivePlayerMoney kısmında -2000 bölümü silahın fiyatını belirler.

Kodumuz hazır.F5 tuşuna basark modu kaydedersiniz.Sonra modu server dosyasına atıp resetlerseniz.Komut hazır demektir.Bu şekilde istediğiniz silahı yapabilirsiniz...

2) Işınlanma Yeri Kaydetme

Aynı silah komutu gibi OnPlayerCommandText bölümüne aşağıdaki kodu yapıştırıyoruz...

Code:
if(!strcmp(cmdtext,"/4dragon",true)) {
SendClientMessage(playerid, COLOR_GREEN, "Dort Dragon");
SetPlayerPos(playerid, 2027.8707,1008.6269,10.8203);
PlayerPlaySound(playerid, 1083, X, Y, Z);
return 1;
}


Aynı şekilde bu kodlarlada oynayıp değişik yerlere komut kayıtı yapabilirsiniz.Örneğin bu kod 4dragon a ışınlanma kodudur.Burada sadece SetPlayerPos ve SendClientMessage bölümünü değiştirmeniz.Işınlanma için yeterlidir..

Soru-Cevap : Peki ben SetPlayerPos bölümünü nasıl ayarlayacağım??

Cevap:Çok karışık gibi görünebilir ama aslında basit.Oyundayken ışınlanmak istediğiniz yere gidin /save yapın.Sonra oyundan çıkıp gta klasorunde SavedPositions'u not defteri ile açıyoruz.İçinde AddPlayerClass olan bir yazı olacak...

Örneğin: AddPlayerClass(120,"-15.7541,1511.2710,12.7500",346.2166,0,0,0,0,0,0);y azısının sadece tırnak içindekileri alacaksınız.Onu siz ayarlarsınız bu örnekle heralde; bu örnekten anlarsınız ve ayarlarsınız...İşlem tamam aynı şekilde pwn yi kaydedin ve komutunuz hazır...

1. Ders Sona Erdi..

_________________________________________________

Ders 2

Not : 2. dersimiz, sadece çete eklemek ve çetelere özel komut kodlamaktan ibarettir..

Çete eklemek :

Modun başına,

Quote:
#define TEAM_CETE 0
yazıyoruz..

Daha sonra çete renkleri için ve diğer özellikleri için,

Quote:
public OnPlayerSpawn(playerid) 'e :
Quote:
if(gTeam[playerid] == TEAM_CETE) {
SetPlayerColor(playerid,COLOR_GREEN); // Green
}
return 1;
}
kodunu ekliyoruz.. ( COLOR_GREEN 'i yani renk kısmını istediğiniz gibi seçebilirsiniz, 1 dersimizde anlatmıştım.. )

Daha sonra, modun herhangi bir yerine;

Quote:
SetPlayerClass(playerid, classid) {

if(classid == 0) {

gTeam[playerid] = TEAM_CETE;

}

}
kodunu da ekliyoruz..

Takım kurma işlemimiz sona erdi. Şimdi geldik takıma özel komut kodlamaya..

Takıma Özel Komut :

Quote:
public OnPlayerCommandText(playerid, cmdtext#91;])
publicinin olduğu yere,

Örneğin :

Quote:
if(gTeam[playerid] == TEAM_CETE)
if(strcmp("/groveac", cmdtext, true) == 0) {
SetPlayerPos(playerid, -2724.5046,-314.9041,7.1862);
SendClientMessage(playerid, COLOR_RED, "Cete mekaniniza hosgeldiniz.");
return 1;
}
[b]( Not : Diğer çeteler bu komutu yazdığında, komut işlemeyecektir.. )

2. dersimizin sonuna geldik. Umarım yeterli bilgiler verebilmişimdir.

_________________________________________________

Ders 3

Textdraw Eklemek :

İlk önce modun en başına,

Quote:
new Textavage;
ekliyoruz..

Daha sonra,

Quote:
public OnGameModeInit()
public'ine,

Quote:
savage = TextDrawCreate(430.0, 4.0, "~r~Savage ~g~Server");
TextDrawAlignment(savage, 0);
TextDrawLetterSize(savage, 0.4999, 1.7999);
TextDrawColor(savage, 0x000000FF);
TextDrawSetOutline(savage, 1);
TextDrawSetProportional(savage, true);
TextDrawSetShadow(savage, 7);
kodlarını ekliyoruz..

Şimdi geldik sunucuya girince bu özelliğin aktif olmasına :

Quote:
public OnPlayerSpawn(playerid)
public'ine de,

Quote:
TextDrawShowForPlayer(playerid, savage);
[b]yapıyoruz..

_________________________________________________

Ders 4

Obje hareket ettirme :

Obje hareket ettirme "MoveObject" kodu ile sağlanır.

Bu kodu sağlamak için önce hareket ettirmek istediğimiz objeye , bir isim vermemiz gerekir.

Bunu da şu şekilde sağlayacağız :

Code:
new objemiz = CreateObject;
Bu şekilde hareket ettirmek istediğimiz objeyi "objemiz" ismi ile tanıttık.

Şimdi aşağıda gördüğünüz kodla objenin hareket etmesini sağlayacağız :

Code:
MoveObject(objemiz,X,Y,Z,Float:Hız);
"X,Y,Z" : Bu koordinatlar , objemizin hareketin sonunda olmasını istediğimiz yerin koordinatlarıdır.
"Hız" : Buraya objemizin hareket etmesini istediğimiz hızı yazacağız.

Bu kodu bir komutla kullanalım diyelim :
Code:
if(strcmp(cmdtext, "/hareketettir", true) == 0)
Code:
{
MoveObject(objemiz,X,Y,Z,Float:Hız);
}
Bu sayede bir oyuncu "/hareketettir" komutunu kullanırsa , "objemiz" adıyla tanıttığımız obje , belirttiğimiz koordinatlara belirttiğimiz hızla hareket edecektir.

_________________________________________________

Ders 5

Çoğu arkadaşın istediği Dialog öbür ismiyle GUI yi nasıl yapacağınızı anlatıcam
Dialog Oluşturabilmek için "ShowPlayerDialog" functionunu kullanıcağız.
Kullanacağımız Parametreler;
playerid, dialogid, style, caption#91;], info#91;], button1#91;], button2#91;]
Parametlerimizi Function içinde gösterelim;
ShowPlayerDialog(playerid,dialogid,style,caption# 91;], info#91;] ,button1#91;] ,button2#91;]);
Parametrelerimizi Anlatalım;
dialogid : Dialogların karışmaması için bir sayı veriyoruz Örn: 1 , 2 , 4 , 10 , 100 ..
style : Dialogumuzun 3 çeşit şekli vardır => 1 = DIALOG_STYLE_MSGBOX | 2 = DIALOG_STYLE_INPUT | 3 = DIALOG_STYLE_LIST || 1 = Mesaj kutusu , 2 = Şifre Kullanıcı adı gibi kutucuklu dialoglar , 3 = liste şeklinde sıralı dialoglar
caption: Dialogumuzun başlığı
info : Dialogumuzun içinde yazıcak olan dialogu tanıtma amaçlı (veya kayıt olurken Notlar) yazılar
button1 = Birincil Tuş
button2 = Ikincil Tuş

Örnek :

Code:
if(strcmp(cmdtext, "/giris", true) == 0)
{
new s[128];
new loginname[MAX_PLAYER_NAME];
GetPlayerName(playerid,loginname,MAX_PLAYER_NAME);
format(s,sizeof(s),"Tekrar Hosgeldin, %s!\n\nDevam etmek icin giris yap!",loginname);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Giris yap",s,"Giris","İptal");
return 1;
}
Sorun çıkarsa :

SamP Bitiyor sanırım...
  Önceki Konu Konu Sonraki Konu  
 Yeni Konu  Konuyu Yanıtla
 Yazıcı Dostu
Hızlı Geçiş:

0.08 Snitz Forums 2000