oyt ye göre düzenlenmesı gerekıyor
hata veren yerlerın kodu
1
194
197
222
229
256
亗 PYRO Classic AREA ® ~ cs.pyroailesi.com #oyt10
)

(31-03-2020, 10:22)TerminatorGaming Adlı Kullanıcıdan Alıntı: Birde bu şekilde deniyebilirmisiniz ?hata verıyor
/*
forum.csduragi.com
forum.csduragi.com/eklentiler-pluginler/reklam-panosu-eklentisi-t31664.html
www.youtube.com/watch?v=QoNaQjUTJ50
1.1--> Model tanımlama engine kütüphanesinden reapiye alındı
1.2--> Tanımlı sınıf ismi model ismi ile değiştirildi
1.3--> precache için fakemeta kullanıldı ve model tanımlama fakemetaya çevirildi.
*/
#include <amxmodx>
#include <reapi>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#define YETKI ADMIN_RCON
//Model Dosyası
#define MODELDOSYASI "models/951731732.mdl"
//Model dosyasında tanımlı olanlar
#define TANIMLIBODY 4
#define TANIMLISKIN 4
//Seçildiği vakit verilecek glow
#define CERCEVE_GLOW_KIRMIZI 100.0
#define CERCEVE_GLOW_YESIL 100.0
#define CERCEVE_GLOW_MAVI 0.0
new g_MapFile[64];
new yetkiliobjesi[33];
new bool:sagsol[33]
new Float:kisieklenecekdeger[33]
public plugin_init()
{
register_plugin("Reklam Panosu", "1.3", "Yek'-ta") // forum.csduragi.com Yek'-ta
set_task(5.0,"ObjeleriYukle")
register_clcmd( "csd_reklampanosu", "ReklamMenu")
}
public client_putinserver(oyuncu) {
yetkiliobjesi[oyuncu] = 0
sagsol[oyuncu] = false
kisieklenecekdeger[oyuncu] = 1.0
}
public ReklamMenu(oyuncu){
if(get_user_flags(oyuncu) & YETKI){
new menu, Menuz[512]
formatex(Menuz, charsmax(Menuz), "\y [ \rReklam Panosu Menüsü\y]");
menu = menu_create(Menuz, "menu_devam")
if(sagsol[oyuncu]){
formatex(Menuz, charsmax(Menuz), "\wBir onceki menuye don");
menu_additem(menu, Menuz, "1")
formatex(Menuz, charsmax(Menuz), "\wPano X++");
menu_additem(menu, Menuz, "2")
formatex(Menuz, charsmax(Menuz), "\wPano X--");
menu_additem(menu, Menuz, "3")
formatex(Menuz, charsmax(Menuz), "\wPano Y++");
menu_additem(menu, Menuz, "4")
formatex(Menuz, charsmax(Menuz), "\wPano Y--");
menu_additem(menu, Menuz, "5")
formatex(Menuz, charsmax(Menuz), "\wPano Z++");
menu_additem(menu, Menuz, "6")
formatex(Menuz, charsmax(Menuz), "\wPano Z--^n^nOynatma Hizi: %0.0f",kisieklenecekdeger[oyuncu]);
menu_additem(menu, Menuz, "7")
}
else{
formatex(Menuz, charsmax(Menuz), "\w%s", yetkiliobjesi[oyuncu] == 0 ? "Reklam Panosu Olustur" : "Reklam Panosunu Kaydet");
menu_additem(menu, Menuz, "1")
formatex(Menuz, charsmax(Menuz), "\w%s", yetkiliobjesi[oyuncu] == 0 ? "Reklam Panolarini Haritaya Kaydet" : "Reklam Panosunu Kaldir");
menu_additem(menu, Menuz, "2")
formatex(Menuz, charsmax(Menuz), "\w%s", yetkiliobjesi[oyuncu] == 0 ? "Yakinindaki Panoyu Duzenle" : "Panoyu 90 derece cevir");
menu_additem(menu, Menuz, "3")
formatex(Menuz, charsmax(Menuz), "\w%s", yetkiliobjesi[oyuncu] == 0 ? "Yakinindaki Panoyu Kaldir" : "Pano Yerini Degistir");
menu_additem(menu, Menuz, "4")
if(yetkiliobjesi[oyuncu] != 0){
formatex(Menuz, charsmax(Menuz), "\wPanoyu Saga/Sola Cevir");
menu_additem(menu, Menuz, "5")
formatex(Menuz, charsmax(Menuz), "\wOynatma Hizi arttir");
menu_additem(menu, Menuz, "6")
formatex(Menuz, charsmax(Menuz), "\wOynatma Hizi dusur ^n\rHiz: %0.0f ^n\wEksili deger alirsaniz pano tersine hareket eder", kisieklenecekdeger[oyuncu]);
menu_additem(menu, Menuz, "7")
formatex(Menuz, charsmax(Menuz), "\wPano boyutunu degistir");
menu_additem(menu, Menuz, "8")
formatex(Menuz, charsmax(Menuz), "\wPano reklamini degistir");
menu_additem(menu, Menuz, "9")
}
}
menu_display(oyuncu, menu, 0)
}
return PLUGIN_HANDLED
}
public menu_devam(oyuncu, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}
new data[6], iName[64]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
if(sagsol[oyuncu]){
new Float:originaldegistir[3];
get_entvar(yetkiliobjesi[oyuncu], var_origin, originaldegistir)
switch(key)
{
case 1:{
sagsol[oyuncu]=false
ReklamMenu(oyuncu)
}
case 2:{
originaldegistir[0]+=kisieklenecekdeger[oyuncu]
set_entvar(yetkiliobjesi[oyuncu], var_origin, originaldegistir);
ReklamMenu(oyuncu)
}
case 3:{
originaldegistir[0]-=kisieklenecekdeger[oyuncu]
set_entvar(yetkiliobjesi[oyuncu], var_origin, originaldegistir);
ReklamMenu(oyuncu)
}
case 4:{
originaldegistir[1]+=kisieklenecekdeger[oyuncu]
set_entvar(yetkiliobjesi[oyuncu], var_origin, originaldegistir);
ReklamMenu(oyuncu)
}
case 5:{
originaldegistir[1]-=kisieklenecekdeger[oyuncu]
set_entvar(yetkiliobjesi[oyuncu], var_origin, originaldegistir);
ReklamMenu(oyuncu)
}
case 6:{
originaldegistir[2]+=kisieklenecekdeger[oyuncu]
set_entvar(yetkiliobjesi[oyuncu], var_origin, originaldegistir);
ReklamMenu(oyuncu)
}
case 7:{
originaldegistir[2]-=kisieklenecekdeger[oyuncu]
set_entvar(yetkiliobjesi[oyuncu], var_origin, originaldegistir);
ReklamMenu(oyuncu)
}
}
}
else{
switch(key)
{
case 1:
{
if(yetkiliobjesi[oyuncu] == 0){
ObjeleriOlustur(GetUser3Origin(oyuncu), 0, oyuncu, Float:{0.0,0.0,0.0}, 0);
set_entvar(yetkiliobjesi[oyuncu], var_renderfx, kRenderFxGlowShell);
set_entvar(yetkiliobjesi[oyuncu], var_rendercolor, Float:{CERCEVE_GLOW_KIRMIZI, CERCEVE_GLOW_YESIL, CERCEVE_GLOW_MAVI});
ReklamMenu(oyuncu)
}
else {
set_entvar(yetkiliobjesi[oyuncu], var_renderfx, kRenderFxNone)
set_entvar(yetkiliobjesi[oyuncu], var_rendercolor, {0.0, 0.0, 0.0})
yetkiliobjesi[oyuncu] = 0
ReklamMenu(oyuncu)
}
}
case 2:
{
if(yetkiliobjesi[oyuncu] == 0){
save_allobject()
client_print_color(0,0, "^3Reklam Panolari Kaydedildi.")
}
else {
client_print_color(0,0, "^3Reklam Panolari Kaldirdin.")
DestroyEntity(yetkiliobjesi[oyuncu])
yetkiliobjesi[oyuncu] = 0
ReklamMenu(oyuncu)
}
}
case 3:
{
if(yetkiliobjesi[oyuncu] == 0){
new ents = 0
while((ents = rg_find_ent_by_class(ents, MODELDOSYASI)) && yetkiliobjesi[oyuncu] == 0)
{
if(is_entity(ents))
{
static classname[32];
get_entvar(ents, var_classname, classname, sizeof classname - 1)
if(equali(classname, MODELDOSYASI) )
{
new uzaklik = get_entity_distance(oyuncu, ents)
if(uzaklik <= 100.0)
{
yetkiliobjesi[oyuncu] = ents
set_entvar(ents, var_renderfx, kRenderFxGlowShell);
set_entvar(ents, var_rendercolor, Float:{CERCEVE_GLOW_KIRMIZI, CERCEVE_GLOW_YESIL, CERCEVE_GLOW_MAVI});
client_print_color(0,0, "^3Yakinindaki Reklam Panosunu Sectin")
ReklamMenu(oyuncu)
}
}
}
}
if(yetkiliobjesi[oyuncu] == 0){
client_print_color(0,0, "^3Yakininda Reklam Panosu Yok")
ReklamMenu(oyuncu)
}
}
else {
new Float:originaldegistir[3];
get_entvar(yetkiliobjesi[oyuncu], var_angles, originaldegistir)
originaldegistir[2] += 90.0;
set_entvar(yetkiliobjesi[oyuncu], var_angles, originaldegistir);
ReklamMenu(oyuncu)
}
}
case 4:{
if(yetkiliobjesi[oyuncu] == 0){
new ents = 0
while((ents = rg_find_ent_by_class(ents, MODELDOSYASI)))
{
if(is_entity(ents))
{
static classname[32];
get_entvar(ents, var_classname, classname, sizeof classname - 1)
if(equali(classname, MODELDOSYASI) )
{
new uzaklik = get_entity_distance(oyuncu, ents)
if(uzaklik <= 100.0)
{
DestroyEntity(ents)
client_print_color(0,0, "^3Yakinindaki Reklam Panosu Kaldirildi.")
}
}
}
}
}
else{
sagsol[oyuncu]=true
ReklamMenu(oyuncu)
}
}
case 5:{
new Float:originaldegistir[3];
get_entvar(yetkiliobjesi[oyuncu], var_angles, originaldegistir)
originaldegistir[1]+=kisieklenecekdeger[oyuncu]
set_entvar(yetkiliobjesi[oyuncu], var_angles, originaldegistir);
ReklamMenu(oyuncu)
}
case 6:{
kisieklenecekdeger[oyuncu]+=1.0
if(kisieklenecekdeger[oyuncu] == 0){ kisieklenecekdeger[oyuncu] = 1.0;}
ReklamMenu(oyuncu)
}
case 7:{
kisieklenecekdeger[oyuncu]-=1.0
if(kisieklenecekdeger[oyuncu] == 0){ kisieklenecekdeger[oyuncu] = -1.0;}
ReklamMenu(oyuncu)
}
case 8:{
new bodyyadaskin = get_entvar(yetkiliobjesi[oyuncu], var_body);
bodyyadaskin = bodyyadaskin<TANIMLIBODY-1 ? bodyyadaskin+1 : 0
set_entvar(yetkiliobjesi[oyuncu], var_body, bodyyadaskin)
ReklamMenu(oyuncu)
}
case 9:{
new bodyyadaskin = get_entvar(yetkiliobjesi[oyuncu], var_skin);
bodyyadaskin = bodyyadaskin<TANIMLISKIN-1 ? bodyyadaskin+1 : 0
set_entvar(yetkiliobjesi[oyuncu], var_skin, bodyyadaskin)
ReklamMenu(oyuncu)
}
}
}
return PLUGIN_HANDLED;
}
public DestroyEntity(ent) {
if (is_entity(ent))
set_entvar(ent, var_flags, get_entvar(ent, var_flags) | FL_KILLME);
}
stock Float:GetUser3Origin(id)
{
new Float:originf[3]
get_entvar(id, var_origin, originf);
originf[2] = originf[2]-35.0
return originf;
}
public ObjeleriYukle(){
new map[32]
get_mapname(map, 31)
format(g_MapFile, sizeof(g_MapFile), "maps/%s.reklampano.cfg", map)
if (file_exists(g_MapFile)) {
new data[124], len
new line = 0
new coord[7][8]
new Float:origin[3]
new Float:originaldegistir[3];
new bodydegeri, skindegeri;
while((line = read_file(g_MapFile , line , data , 123 , len)))
{
if (len < 2 || data[0] == ';' || data[0] == '/')
continue;
parse(data, coord[0], 7, coord[1], 7, coord[2], 7, coord[3], 7, coord[4], 7, coord[5], 1, coord[6], 1)
origin[0] = (str_to_float(coord[0]))
origin[1] = (str_to_float(coord[1]))
origin[2] = (str_to_float(coord[2]))
originaldegistir[1] = (str_to_float(coord[3]))
originaldegistir[0] = 0.0
originaldegistir[2] = (str_to_float(coord[4]))
bodydegeri = (str_to_num(coord[5]))
skindegeri = (str_to_num(coord[6]))
ObjeleriOlustur(origin, bodydegeri, 0, originaldegistir, skindegeri)
}
}
}
public save_allobject() {
delete_file(g_MapFile)
new ent = NULLENT
new Float:fOrigin[3], line[64]
new Float:originaldegistir[3];
while ((ent = rg_find_ent_by_class(ent, MODELDOSYASI))) {
get_entvar(ent, var_origin, fOrigin)
get_entvar(ent, var_angles, originaldegistir)
formatex(line, sizeof(line), "%0.3f %0.3f %0.3f %0.3f %0.3f %i %i", fOrigin[0], fOrigin[1], fOrigin[2], originaldegistir[1], originaldegistir[2], get_entvar(ent, var_body), get_entvar(ent, var_skin))
write_file(g_MapFile, line)
}
}
stock ObjeleriOlustur(Float:fOrigin[3], body,oyuncu, Float:originaldegistir[3], skin)
{
new pEntity = rg_create_entity("info_target");
if(!pEntity)
return 1;
set_entvar(pEntity, var_classname, MODELDOSYASI);
set_entvar(pEntity, var_origin, fOrigin);
set_entvar(pEntity, var_angles, originaldegistir);
engfunc(EngFunc_SetModel, pEntity, MODELDOSYASI);
set_entvar(pEntity, var_body, body);
set_entvar(pEntity, var_skin, skin);
set_entvar(pEntity,var_movetype,MOVETYPE_NONE)
yetkiliobjesi[oyuncu] = pEntity
return pEntity;
}
public plugin_precache()
{
engfunc(EngFunc_PrecacheModel, MODELDOSYASI)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/