Bayağı Hata Var Düzeltebilecek Buraya :)
PHP- Kodu:
/* Eklenti Yapımcısı : Game[R] */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Yeni Plugin"
#define VERSION "1.0"
#define AUTHOR "Game[R]"
new Speed
public plugin_init() {
register_plugin("PLUGIN", "1.0", "Game[R]")
register_clcmd("say /speedal","Devam")
register_clcmd("admin_speed 1","DevamET", ADMIN_LEVEL_A)
register_clcmd("admin_speed 0","DevamETme", ADMIN_LEVEL_A)
register_clcmd("admin_speed @all","DevamETmes", ADMIN_LEVEL_A)
register_clcmd("admin_speed @T","DevamETmess", ADMIN_LEVEL_A)
register_clcmd("admin_speed @CT","DevamETmesss", ADMIN_LEVEL_A)
Speed = register_cvar("gR_speed","16000")
register_logevent("ElBaslayinca",2,"1=Round_Start")
}
public Devam(id)
{
if(cs_get_user_money(id) < get_pcvar_num(Speed)) {
chat_color(id,"!gSpeed !yAlmak Icin Yeterli !tParan YOK! !gGereken Para: !t16000")
return PLUGIN_HANDLED
}
cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(Speed))
set_user_maxspeed(id, 500.0)
chat_color(id,"!tBasariyla !gSpeed !tAldin. Dikkat: !gEl Sonu !yBitecek.")
return PLUGIN_HANDLED
}
public DevamET(id)
{
new isim[32]
get_user_name(id,isim,31)
set_user_maxspeed(id, 500.0)
chat_color(0,"!t[gR]: !g%s !yNickli !tAdmin !yKendine !gSpeed !yAldi Onaylanan: !g( 1 )",isim)
return PLUGIN_HANDLED
}
public DevamETme(id)
{
new isim[32]
get_user_name(id,isim,31)
for(new all = 1;all <= get_maxplayers();all++) {
set_user_maxspeed(id, 250.0)
chat_color(0,"!t[gR]: !g%s !yNickli !tAdmin !yHerkezin !gSpeed'ini Onayladi: !g( 0 )",isim)
return PLUGIN_HANDLED
}
public DevamETmes(id)
{
new isim[32]
get_user_name(id,isim,31)
for(new all = 1;all <= get_maxplayers();all++) {
set_user_maxspeed(all, 500.0)
chat_color(0,"!t[gR]: !g%s !yNickli !tAdmin !gSpeed'ini !yHerkeze Onayladi: !g( 1 )",isim)
return PLUGIN_HANDLED
}
}
public DevamETmess(id)
{
new isim[32]
get_user_name(id,isim,31)
if(get_user_team(id) == 2 ||! is_user_alive(id)) {
set_user_maxspeed(id, 500.0)
chat_color(0,"!t[gR]: !g%s !yNickli !tAdmin !gSpeed'ini !yT'lere Onayladi: !g( 1 )",isim)
return PLUGIN_HANDLED
}
}
public DevamETmesss(id)
{
new isim[32]
get_user_name(id,isim,31)
if(get_user_team(id) == 1 ||! is_user_alive(id)) {
set_user_maxspeed(id, 500.0)
chat_color(0,"!t[gR]: !g%s !yNickli !tAdmin !gSpeed'ini !yCT'lere Onayladi: !g( 1 )",isim)
return PLUGIN_HANDLED
}
}
public ElBaslayinca() {
for(new all = 1;all <= get_maxplayers();all++) {
set_user_maxspeed(all, 250.0)
return PLUGIN_HANDLED
}
}
//----------------------------------- Renkli Yazi --------------------------------//
stock chat_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "!team2", "^0")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
Amaç
admin_speed 1 yazinca
bunu yazan admin
kendine speed vermiş olucak
admin_speed 0 yazinca
herkezin speed i 0 lanıcak eski haline dönücek
admin_speed @all herkeze speed vericek
admin_speed @T tlere speed vericek
admin_speed @CT ctlere speed vericek
ElBaslangicinda Speedler Kapatılıcak
ayrıca 16000 parayla ise
/speedal
yazarak speed alıncak
:)
---------- Alttaki Mesaj Zamani 19:00 ---------- Önceki Mesaj Zamani 18:56 ----------
PHP- Kodu:
/* Eklenti Yapımcısı : Game[R] */
#include <amxmodx>
#include <fun>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#include <nvault>
#include <engine>
#include <colorchat>
#define PLUGIN "Yeni Plugin"
#define VERSION "1.0"
#define AUTHOR "Game[R]"
new Speed
public plugin_init() {
register_plugin("PLUGIN", "1.0", "Game[R]")
register_clcmd("say /speedal","Devam")
register_clcmd("admin_speed 1","DevamET", ADMIN_LEVEL_A)
register_clcmd("admin_speed 0","DevamETme", ADMIN_LEVEL_A)
register_clcmd("admin_speed @all","DevamETmes", ADMIN_LEVEL_A)
register_clcmd("admin_speed @T","DevamETmess", ADMIN_LEVEL_A)
register_clcmd("admin_speed @CT","DevamETmesss", ADMIN_LEVEL_A)
Speed = register_cvar("gR_speed","16000")
register_logevent("ElBaslayinca",2,"1=Round_Start")
}
public Devam(id)
{
if(cs_get_user_money(id) < get_pcvar_num(Speed)) {
chat_color(id,"!gSpeed !yAlmak Icin Yeterli !tParan YOK! !gGereken Para: !t16000")
return PLUGIN_HANDLED
}
cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(Speed))
set_user_maxspeed(id, 500.0)
chat_color(id,"!tBasariyla !gSpeed !tAldin. Dikkat: !gEl Sonu !yBitecek.")
return PLUGIN_HANDLED
}
public DevamET(id)
{
new isim[32]
get_user_name(id,isim,31)
set_user_maxspeed(id, 500.0)
chat_color(0,"!t[gR]: !g%s !yNickli !tAdmin !yKendine !gSpeed !yAldi Onaylanan: !g( 1 )",isim)
return PLUGIN_HANDLED
}
public DevamETme(id)
{
new isim[32]
get_user_name(id,isim,31)
for(new all = 1;all <= get_maxplayers();all++) {
set_user_maxspeed(id, 250.0)
chat_color(0,"!t[gR]: !g%s !yNickli !tAdmin !yHerkezin !gSpeed'ini Onayladi: !g( 0 )",isim)
return PLUGIN_HANDLED
}
public DevamETmes(id)
{
new isim[32]
get_user_name(id,isim,31)
for(new all = 1;all <= get_maxplayers();all++) {
set_user_maxspeed(all, 500.0)
chat_color(0,"!t[gR]: !g%s !yNickli !tAdmin !gSpeed'ini !yHerkeze Onayladi: !g( 1 )",isim)
return PLUGIN_HANDLED
}
}
public DevamETmess(id)
{
new isim[32]
get_user_name(id,isim,31)
if(get_user_team(id) == 2 ||! is_user_alive(id)) {
set_user_maxspeed(id, 500.0)
chat_color(0,"!t[gR]: !g%s !yNickli !tAdmin !gSpeed'ini !yT'lere Onayladi: !g( 1 )",isim)
return PLUGIN_HANDLED
}
}
public DevamETmesss(id)
{
new isim[32]
get_user_name(id,isim,31)
if(get_user_team(id) == 1 ||! is_user_alive(id)) {
set_user_maxspeed(id, 500.0)
chat_color(0,"!t[gR]: !g%s !yNickli !tAdmin !gSpeed'ini !yCT'lere Onayladi: !g( 1 )",isim)
return PLUGIN_HANDLED
}
}
public ElBaslayinca() {
for(new all = 1;all <= get_maxplayers();all++) {
set_user_maxspeed(all, 250.0)
return PLUGIN_HANDLED
}
}
//----------------------------------- Renkli Yazi --------------------------------//
stock chat_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "!team2", "^0")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
ilk hatamı buldum hehe :d
includeleri çağırmamışım:)
Cevap: Bayağı Hata Var Düzeltebilecek Buraya :)
Öncelikle; çok gereksiz komutlar yaratmışsın. Bunlara gerek yok. Sadece 1 kere admin_speed komutu ve say /speedal komutu yaratmak yeterli :)
Public isimlerini Devam devamet gibi saçma şekilde ayarlama. Bunların sana hiçbir faydası yok aksine zararı var. Publicleri birbirine karıştırabilirsin. Hepsine özelliğini anlatan kısa kelimeler bulman gerek. Böylece daha rahat kodlayabilirsin.
Plugininde gereksiz yere include kullanma. "hamsandwich", "nvault", "engine", "fakemeta" modüllerine böyle bir pluginde ihtiyaç yok. Ayrıca zaten "stock" kodu ile chat_color kodunu yaratmışsın. Bunu yaparsan "colorchat" kütüphanesine de gerek kalmaz. Eğer halihazırda bir colorchat kütüphanen varsa ve plugini kendin için yapıyorsan, stock yerıne include "colorchat" kullanman faydalı olacaktır.
Ve sakın ! RoundStart, RoundEnd, DeathMsg, Damage ... gibi eventlere PLUGIN_HANDLED koyma. Ne demiştim Handled return'ü çağrıyı tamamen durdurur. Yani örnek veriyorum bir başka plugininde round başladığında A ayarı kapatılmaya ayarlanmıştır. Eğer sen bu pluginin RoundStart eventinde olay çağrısını durdurursan bundan sonraki tüm pluginlerin de ayarlarını bozmuş olursun !. Ayrıca sakın for döngüsüne return KOYMA. "for" döngüsünde sadece fonksiyon kullan. Adı üstünde handled çağrıyı durduruyor. Hem foru durduruyorsun hem zincirleme bir hataya sebep oluyorsun.
Bu plugini sana en baştan hazırladım. Kontrol et ve pluginlerini bu şekildeki gibi düzenli yap.
admin_speed nick,@T,@CT,@ALL 1/0 // Cvarla ayarlanmış olan speedi açar = 1; 0= kapatır.
say /speedal - > Speed Alir.
Cvar: amx_speed_value 500.0 // Hiz Ayari
Cvar: amx_speed_cost 16000 // Hiz Fiyati
PHP- Kodu:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <colorchat>
#include <cstrike>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
new gSpeed,gFiyat;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
gSpeed = register_cvar("amx_speed_value","500.0")
gFiyat = register_cvar("amx_speed_cost","16000")
register_concmd("admin_speed","cmdSpeed",ADMIN_LEVEL_A,"<nick - @CT/T/All> <1/0>")
register_clcmd("say /speedal","saySpeed")
register_logevent("RoundStart",2,"1=Round_Start")
}
public RoundStart() {
for(new i = 1; i <= get_maxplayers(); i++) {
set_user_maxspeed(i,250.0)
}
}
public cmdSpeed(id,level,cid) {
if(!cmd_access(id,level,cid,2)) {
return PLUGIN_HANDLED
}
new Arg1[32],Arg2[32];
read_argv(1,Arg1,31)
read_argv(2,Arg2,31)
new Float:Speed;
new Ayar = str_to_num(Arg2)
if(Ayar >= 1) Speed = get_pcvar_float(gSpeed);
else Speed = 250.0;
new players[32],inum,name[65];
get_user_name(id,name,64)
if(Arg1[0] == '@') {
if(equali(Arg1[1],"T")) {
copy(Arg1[1],31,"TERRORIST")
}
if(equali(Arg1[1],"ALL")) {
get_players(players,inum)
}
else {
get_players(players,inum,"e",Arg1[1])
}
if(inum == 0) {
console_print(id,"Belirtilen Takimda Oyuncu Bulunamadi !")
return PLUGIN_HANDLED
}
for(new i = 0;i < inum;i++) {
set_user_maxspeed(players[i],Speed)
}
switch(Ayar) {
case 0: ColorChat(0,GREEN,"[gR] ^1ADMIN ^3%s: ^1Set Speed 0 on ^3%s ^1Players !",name,Arg1[1])
default: ColorChat(0,GREEN,"[gR] ^1ADMIN ^3%s: ^1Set Speed 1 on ^3%s ^1Players !",name,Arg1[1])
}
}
else {
new Uid;
Uid = cmd_target(id,Arg1,6)
if(!Uid) {
return PLUGIN_HANDLED
}
new uname[65];
get_user_name(Uid,uname,64)
set_user_maxspeed(Uid,Speed)
switch(Ayar) {
case 0: ColorChat(0,GREEN,"[gR] ^1ADMIN ^3%s: ^1Set Speed 0 on player ^3%s",name,uname)
default: ColorChat(0,GREEN,"[gR] ^1ADMIN ^3%s: ^1Set Speed 1 on player ^3%s",name,uname)
}
}
return PLUGIN_HANDLED
}
public saySpeed(id) {
if(!is_user_alive(id)) {
client_print(id,print_chat,"Olu Oyuncular Speed Alamaz !")
return PLUGIN_HANDLED
}
if(cs_get_user_money(id) < get_pcvar_num(gFiyat)) {
client_print(id,print_chat,"Speed Almak Icin Yeterli Paraniz Bulunmamaktadir ! Gereken: %d",get_pcvar_num(gFiyat))
return PLUGIN_HANDLED
}
cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(gFiyat))
set_user_maxspeed(id,get_pcvar_float(gSpeed))
ColorChat(id,GREEN,"[gR] ^3Basariyla Speed Aldiniz !")
return PLUGIN_HANDLED
}
Pluginde öğrenmek istediğin her kodu sorabilirsin, elimden geldiğince açıklarım. Burdaki her fonksiyonu sana açıklarsam sayfalarca yazı olur :) O yuzden sen bılmedıklerını sorarsın.
Ve plugin yapma çabanı da takdir ediyorum. Eliniz boş gelip plugın istemektense bir şeyler yapmaya çalışıp hatalarınızı sorarsanız çok daha iyi olur. Plugin çalışmalarında başarılar dilerim.
Cevap: Bayağı Hata Var Düzeltebilecek Buraya :)
teşekkür ederim en iyisi sen ve k4davra
:)
for
Cevap: Bayağı Hata Var Düzeltebilecek Buraya :)
bu benim istediğim speed plugini :) sağolun
Cevap: Bayağı Hata Var Düzeltebilecek Buraya :)
:) kullan bakalım konu çözümlendi taşınabilir :)
sonra pluginler bölümünede koyayımda herkez yararlansın :)
Cevap: Bayağı Hata Var Düzeltebilecek Buraya :)
Konu Cözüldüğü İçin Çözülmüş İstekler Bölümüne Taşınmıştır !