|
Архив - только для чтения |
| Модератор форума: andycrowz |
| Форум Корзина форума Корзина Каст рандомного спела из списка |
| Каст рандомного спела из списка |
Собственно как проще и не строя пирамиды написать каст рандомного спела для для каждого case:
Код switch (KillStreakData[KillerGUID].killstreak) { case 5: //Killer->CastSpell(Killer, 24378, true); //Killer->AddItem(47241, 2); //Server Broadcast ss << "[PvP System]:|cFF81CF42" << Killer->GetName() << "|r has killed|cFF81CFCF" << Victim->GetName() << "|r and is at a " << 5 << " man killstreak and is on a|cFFFF0303 Killing Spree!"; sWorld->SendServerMessage(SERVER_MSG_STRING, ss.str().c_str()); //Give Player Gold Reward Killer->SetMoney(Killer->GetMoney() + (KillStreakData[KillerGUID].killstreak)); //Send Notification ss << "[PvP System]:|cFF00FF00 You are on a killing streak!"; Killer->GetSession()->SendAreaTriggerMessage(ss.str().c_str()); break; case 10: //Killer->CastSpell(Killer, 24378, true); //Killer->AddItem(47241, 2); //Server Broadcast ss << "[PvP System]:|cFF81CF42" << Killer->GetName() << "|r has killed|cFF81CFCF" << Victim->GetName() << "|r and is at a " << 10 << " man killstreak and is on a|cFF20C000 Dominating!"; sWorld->SendServerMessage(SERVER_MSG_STRING, ss.str().c_str()); //Give Player Gold Reward Killer->SetMoney(Killer->GetMoney() + (KillStreakData[KillerGUID].killstreak)); //Send Notification ss << "[PvP System]:|cFF00FF00 You are on a killing streak!"; Killer->GetSession()->SendAreaTriggerMessage(ss.str().c_str()); break; . . . etc Весь патч |
Димитро как всегда на высоте в своих ответах, ну да ладно, в своей, более осведомлённой сфере я веду себя аналогично.
Собственно по теме, сделал таким образом: Код case 5: { int32 sprand = urand(1, 3); switch (sprand) { case 1: Killer->CastSpell(Killer, 35874, true); break; case 2: Killer->CastSpell(Killer, 35912, true); break; case 3: Killer->CastSpell(Killer, 38734, true); break; } } //Killer->CastSpell(Killer, 24378, true); //Killer->AddItem(47241, 2); //Server Broadcast ss << "|cFF8B008B[PvP System]:|r|cFF81CF42" << Killer->GetName() << "|r has killed |cFF81CFCF" << Victim->GetName() << "|r and is at a " << 5 << " man killstreak and is on a|cFFFF0303 Killing Spree!"; sWorld->SendServerMessage(SERVER_MSG_STRING, ss.str().c_str()); Для каждого case будет своя группа спелов в большем количестве, если избежать вот такие пирамиды нельзя, то вопрос закрыт. |
А зачем мне тратить время на написание готового варианта? Да и какая польза будет от этого как мне, так и пользователю? По сабжу, достаточно было поискать немного в ядре и найти уже готовую реализацию. Код DoCast(target, RAND(spell1, spell2, spell3, spell4)); Уже сам разберешся как это к своему скрипту "подключить" и т.д. Причем это не единственный вариант. Возможностей реализовать это сотни.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку. |
| |||
| |||
