farkmt2official 1
farkmt2official
mavzermete 1
mavzermete
dreamstone 1
dreamstone
Fethi Polat 1
Fethi Polat
Bvural41 1
Bvural41
OnurBoyla 1
OnurBoyla
Hikaye Ekle
Kaynak ikonu
5.00 yıldız(lar) 4 Değerlendirme Değerlendirenler
alexander reis güncellemeleri sparky everes filesinden alabilirsin mesela server taraflı efsun botunu hemen söküp ekleye bilirsin
Neredeyse programlamayı bilmiyorum ama ilgili her şeyi öğrenmek istediğim için elimden gelenin en iyisini yapacağım.

Dosyaya çözümler eklerseniz çok yardımcı olacaktır. jejejejje
 
EVENTFUNC(ruh_event)
{
TMainEventInfo * info = dynamic_cast<TMainEventInfo *>( event->info );

if ( info == NULL )
{
sys_err( "ruh_event> <Factor> Null pointer" );
return 0;
}

LPCHARACTER ch = info->kim;
long skillindex = info->skillindexx;

if (NULL == ch || skillindex == 0)
return 0;

if (!ch->GetDesc())
return 0;

if(ch->CountSpecifyItem(50513) < 1 )
return 0;

int skilllevel = ch->GetSkillLevel(skillindex);

if (skilllevel >= 40)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ruhskillson"));
return 0;
}
int gerekenderece = (1000+500*(skilllevel-30));
int derecem = (ch->GetRealAlignment()/10);
int sonuc = (-29000+gerekenderece);

if (derecem < 0)
{
gerekenderece = gerekenderece*2;
sonuc = (-29000-gerekenderece);
}

if (derecem > sonuc)
{
int gerekliknk = gerekenderece;
int kactane = gerekliknk/500;
if (kactane < 0)
kactane = 0 - kactane;

if (derecem < 0)
{
if (ch->CountSpecifyItem(70102) < kactane)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ruhzenbitti %d"),kactane);
return 0;
}

int delta = MIN(-(ch->GetAlignment()), 500);
ch->UpdateAlignment(delta*kactane);
ch->RemoveSpecifyItem(70102,kactane);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ruhzenbastim"));
}
}

if(ch->GetQuestFlag("ruh.sure") > get_global_time())
{
if (ch->CountSpecifyItem(71001) < 1 )
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ruhsuredolmadi"));
return 0;
}
else
ch->RemoveSpecifyItem(71001,1);
}

if (ch->CountSpecifyItem(71094) >= 1)
{
ch->AddAffect(512, aApplyInfo[0].bPointType, 0, 0, 536870911, 0, false);
ch->RemoveSpecifyItem(71094,1);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ruhmunzevikullandim"));
}

if (gerekenderece < 0)
ch->UpdateAlignment(gerekenderece*10);
else
ch->UpdateAlignment(-gerekenderece*10);

ch->LearnGrandMasterSkill(skillindex);
ch->RemoveSpecifyItem(50513,1);
ch->SetQuestFlag("ruh.sure",get_global_time()+60*60*24);

return 1;
}

ACMD(do_ruhoku)
{
int gelen;
long skillindex = 0;
char arg1[256], arg2[256];

if (ch->GetQuestFlag("pcservis.muhur") - time(0) > 0) {
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Skills are binded."));
return;
}

two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));
if (!*arg1 || !*arg2)
return;
str_to_number(gelen, arg1);
str_to_number(skillindex, arg2);

if (gelen < 0 || skillindex < 0)
return;

if (!ch)
return;

if (!ch->IsPC())
return;

if (ch->IsDead() || ch->IsStun())
return;

if (ch->IsHack())
return;

if(ch->GetExchange() || ch->GetMyShop() || ch->GetShopOwner() || ch->IsOpenSafebox() || ch->IsCubeOpen() || ch->isAcceOpened(true) || ch->isAcceOpened(false))
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´Ù¸¥ °Å·¡Áß(â°í,±³È¯,»óÁ¡)¿¡´Â °³ÀλóÁ¡À» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù."));
return;
}

#ifdef ENABLE_OFFLINE_SHOP_SYSTEM
if (ch->GetOfflineShopOwner())
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("°Å·¡Ã¢,â°í µîÀ» ¿¬ »óÅ¿¡¼´Â º¸µû¸®,ºñ´Üº¸µû¸®¸¦ »ç¿ëÇÒ¼ö ¾ø½À´Ï´Ù."));
return;
}
#endif

#ifdef ENABLE_ACCE_SYSTEM
if (ch->isAcceOpened(true) || ch->isAcceOpened(false))
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´Ù¸¥ °Å·¡Áß(â°í,±³È¯,»óÁ¡)¿¡´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù."));
return;
}
#endif

#ifdef ENABLE_AURA_SYSTEM
if (ch->isAuraOpened(true) || ch->isAuraOpened(false))
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´Ù¸¥ °Å·¡Áß(â°í,±³È¯,»óÁ¡)¿¡´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù."));
return;
}
#endif

#ifdef ENABLE_PLAYER_SECURITY_SYSTEM
if (ch->IsActivateSecurity())
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("GUVENLIK_KILIDI_ACIKKEN_BUNU_YAPAMASSIN"));
return;
}
#endif

if(ch->CountSpecifyItem(50513) < 1 )
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ruhtasiyok"));
return;
}

if (ch->GetMapIndex() == 246)
return;

LPITEM slot1 = ch->GetWear(WEAR_UNIQUE1);
LPITEM slot2 = ch->GetWear(WEAR_UNIQUE2);

if (NULL != slot1)
{
if (slot1->GetVnum() == 70048)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("pelerin_cikar"));
return;
}
}

if (NULL != slot2)
{
if (slot2->GetVnum() == 70048)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("pelerin_cikar"));
return;
}
}

int skillgrup = ch->GetSkillGroup();
if (skillgrup == 0)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ruhokuyamazsin"));
return;
}

if (gelen == 1) ///tek
{
int skilllevel = ch->GetSkillLevel(skillindex);
int gerekenderece = (1000+500*(skilllevel-30));
int derecem = (ch->GetRealAlignment()/10);
int sonuc = (-29000+gerekenderece);

if (ch->GetQuestFlag("ruh.yenisure") > get_global_time())
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ruh1sn"));
return;
}

if (derecem < 0)
{
gerekenderece = gerekenderece*2;
sonuc = (-29000-gerekenderece);
}

if (derecem > sonuc)
{
int gerekliknk = gerekenderece;
int kactane = gerekliknk/500;
if (kactane < 0)
kactane = 0 - kactane;

if (derecem < 0)
{
if (ch->CountSpecifyItem(70102) < kactane)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ruhzenbitti %d"),kactane);
return;
}

int delta = MIN(-(ch->GetAlignment()), 500);
ch->UpdateAlignment(delta*kactane);
ch->RemoveSpecifyItem(70102,kactane);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ruhzenbastim"));
}
}

if(ch->GetQuestFlag("ruh.sure") > get_global_time())
{
if (ch->CountSpecifyItem(71001) < 1 )
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ruhsuredolmadi"));
return;
}
else
ch->RemoveSpecifyItem(71001,1);
}

if (ch->CountSpecifyItem(71094) >= 1)
{
ch->AddAffect(512, aApplyInfo[0].bPointType, 0, 0, 536870911, 0, false);
ch->RemoveSpecifyItem(71094,1);
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ruhmunzevikullandim"));
}

if (gerekenderece < 0)
ch->UpdateAlignment(gerekenderece*10);
else
ch->UpdateAlignment(-gerekenderece*10);

ch->LearnGrandMasterSkill(skillindex);
ch->RemoveSpecifyItem(50513,1);
ch->SetQuestFlag("ruh.sure",get_global_time()+60*60*24);
ch->SetQuestFlag("ruh.yenisure",get_global_time()+1);
}
else if(gelen == 0) ///hepsi
{
if (ruhtimer)
event_cancel(&ruhtimer);

TMainEventInfo* info = AllocEventInfo<TMainEventInfo>();
info->kim = ch;
info->skillindexx = skillindex;
ruhtimer = event_create(ruh_event, info, PASSES_PER_SEC(1));
}
return;
}
#endif
window kontrolü değil mi? benmi yanlış biliyorum :D
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst