CSPLague
Advanced Reset (Kararlıyım) - Printable Version

+- CSPLague (https://www.csplague.com)
+-- Forum: CS 1.6 Plugin (Eklenti) Bölümü (https://www.csplague.com/forumdisplay.php?fid=6)
+--- Forum: [İSTEK] Cs 1.6 Plugin İstek Bölümü (https://www.csplague.com/forumdisplay.php?fid=80)
+---- Forum: Çözülmüş İstekler (https://www.csplague.com/forumdisplay.php?fid=87)
+---- Thread: Advanced Reset (Kararlıyım) (/showthread.php?tid=7659)



Advanced Reset (Kararlıyım) - Pikachu - 19-05-13

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>

#define PLUGIN "Advanced Reset"
#define VERSION "1.0"
#define AUTHOR "Pikachu"

new gDeath

public plugin_init() {
    
register_plugin("Advanced Reset""1.0""Pikachu")
    
    
gDeath register_cvar("enazolum_sayisi","1")
    
    
register_clcmd("say /areset","adreset")
}

public 
adreset(id) {
    
    if(
cs_get_user_deaths get_pcvar_num(gDeath))
    
client_print(id,print_center,"Olum Sayin Zaten 0")
    return 
PLUGIN_HANDLED
}
else
client_print(id,print_center,"Olum Sayiniz Sifirlandi")
cs_set_user_deaths(0)
return 
PLUGIN_HANDLED


PHP Code:
adreset.sma(24) : error 076syntax error in the expression, or invalid function call
adreset
.sma(28) : error 010invalid function or declaration
adreset
.sma(31) : error 010invalid function or declaration 

Bu arada amacım sadece ölüm sayısını sıfırlamak, biraz farklılık olsun istedim :$

NOT: %95 elle yazdım. -zaten bellidir-


Cevap: Advanced Reset (Kararlıyım) - akcaliberkk - 19-05-13

if şartlandırıcısının yanına süslü parantez açmayı unutmuşsun

ve

cs_set_user_deaths( index, newdeaths )
cs_get_user_deaths( index )
index nerede ? Smile Compiler sana hatanı söylemiş zaten.
Syntax error - Sözdizimi hatası


Cevap: Advanced Reset (Kararlıyım) - Pikachu - 20-05-13

Tam olarak anlamadım desem Smile hep yaptığın gibi doğrusunu paylaşsan ben eksikleri öyle görsem Smile


Cevap: Advanced Reset (Kararlıyım) - akcaliberkk - 20-05-13

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>

#define PLUGIN "Advanced Reset"
#define VERSION "1.0"
#define AUTHOR "Pikachu"

new gDeath

public plugin_init() {
    
register_plugin("Advanced Reset""1.0""Pikachu")
    
    
gDeath register_cvar("enazolum_sayisi","1")
    
    
register_clcmd("say /areset","adreset")
}

public 
adreset(id) {
    
    if(
cs_get_user_deaths(id) < get_pcvar_num(gDeath)) {
        
client_print(id,print_center,"Olum Sayin Zaten 0")
        return 
PLUGIN_HANDLED
    
}
    
client_print(id,print_center,"Olum Sayiniz Sifirlandi")
    
cs_set_user_deaths(id,0)
    return 
PLUGIN_HANDLED




Cevap: Advanced Reset (Kararlıyım) - Pikachu - 20-05-13

Index'in id'ye karşılık geldiğini bilmiyodum, öğrenmiş oldum Smile
Bu arada ufak bi sorum daha olucak, indentation hatası yapmamayı nasıl öğrenebilirim? yani daha doğrusu soruyu şöyle sormalıyım nasıl bir dizilimle kusursuz bi indentation sağlayabilirim? bi kaç ufak kural söylerseniz sevinirim.


Cevap: Advanced Reset (Kararlıyım) - akcaliberkk - 20-05-13

Aslında oldukça basit bir şey. Bilmen gereken şey şu;

1. if, else, for, while, do gibi yapılar kullanırken veya bir fonksiyon tanımlarken, her zaman { } süslü parantez kullanırız. Kolaylık olsun diye kullanmadığımız yerler de var ama her zaman kullanmak daha iyidir.

2. Bir süslü parantez açılmışsa mutlaka bir alt satıra geçilip bir TAB ilerden yazıma başlanır. Süslü parantez kapatıldığında ise mutlaka bir TAB geriden kapatılır. Yine süslü parantez açıp alt satıra geçmediğimiz yerler var ama çok da önemli değil. Katar dizilerini tanımlarken yapılabilir. Bilmesen de olur şimdilik Smile

PHP Code:
if( condition ) {
    
1 TAB içerden
    dasfas
    
if( condition ) {
        
Yine 1 TAB içerden
        asdas
        
if( condition ) {
            
1 TAB içerden
            asfgasf
        
}
        else {
            
1 TAB içerden
        
}
    }
    else if(
condition) {
        
1 TAB içerden
        dasdasd
    
}
    else {
        
1 TAB içerden
    
}
}
else {
    
1 TAB içerden
    asfasd
}

while( 
condition ) {
    
1 TAB içerden
    asdasd
    asdasd
}

for( 
condition ) {
    
1 TAB içerden
    adasd
    asdasd
}

do {
    
1 TAB içerden
    asdasd
    asdasd
}while( condition )

public 
xxx() {
    
1 TAB içerden
    asdasd
    asdasd
}

yyy() {
    
1 TAB içerden
    fads
    asdas
}

stock() {
    
1 TAB içerden
    adsad
    sadsad
}

// gibi...
// Örnekler

public plugin_init() {
    
register_plugin(PLUGIN,VERSION,AUTHOR)
    
    
register_clcmd("say /basla","cmdBasla")
}
// YANLIŞ:
public cmdBasla(id) {
    if(
get_user_team(id) == 2
    
client_print(id,print_chat,"Sadece teroristler")
    return 
PLUGIN_HANDLED
}
// DOĞRU:
public cmdBasla(id) {
    if(
get_user_team(id) == 2) {
        
client_print(id,print_chat,"Sadece teroristler")
        return 
PLUGIN_HANDLED
    
}
}
//-----
// YANLIŞ:
public cmdBasla(id) {
    if(
get_user_team(id) == 2) {
        
client_print(id,print_chat,"Sadece terorisler")
        return 
PLUGIN_HANDLED
    
}
    else 
    
give_item(id,"weapon_mp5navy")
}
// DOĞRU:
public cmdBasla(id) {
    if(
get_user_team(id) == 2) {
        
client_print(id,print_chat,"Sadece terorisler")
        return 
PLUGIN_HANDLED
    
}
    else {
        
give_item(id,"weapon_mp5navy")
    }


Bu kurallara uymazsak - aslında pek kural sayılmazlar, zaten bakıldığında her zaman indentationu doğru olan eklentiler daha düzenli görünür - compiler bize loose indentation diyebilir, sen de amaaaan warning bu bişe olmaz dersin. Bir denemeye kalkarsın, bakarsın 100 tane bug Smile

Indentationu doğrumu yapmışım diye denemek istersen CTRL+I kombinasyonunu kullan, eğer bozulursa bozuk yapmışsındır Smile Bozmaz da düzeltirse, yine bozuk yapmışsındır Big Grin

Bir de bu yazdığım kodları amxx studioya atıp CTRL+I yap, oyle daha iyi anlarsın. Burda çok yakın görünüyo TAB lar.


Cevap: Advanced Reset (Kararlıyım) - Pikachu - 20-05-13

Şimdi her şey açıklığa kavuştu, bundan sonra elimden geldiğince dikkat edicem, zaten sanıyorum ki zamanla el alışkanlığına dönüşecek bir şey Smile Bilgilendirme için teşekkürler Smile

Sorun Çözülmüştür!


Cevap: Advanced Reset (Kararlıyım) - akcaliberkk - 20-05-13

Evet el alışıyor, göz alışıyor... Hata yapmıyorsun.

Çözülmüş İsteklere taşındı.