Khuznath
Active User
- Joined
- Jun 26, 2014
- Messages
- 69
- Reaction score
- 7
Cze??.
Pewna strona w sieci si? znajduj? na kt?rej s? dost?pne kody c++ pod wersj? 7.60, kt?re przetrwa?y po upadku forum Otsfotu, wi?c postanowi?em te? kilka powrzuca? wzoruj?c si? na tematach poprzednich wykonanych w takim stylu, a nie innym.
Autor: Jero
Modyfikacja (pl/config.lua): Blizzar?aviD
Link ?r?d?owy:
Testowany na: YurOTS 0.4.9f
Opis: System bramek poziomowych (lvl'owych) - polega on na tym, ?e postacie z poziomami z r??nych bramek nie mog? siebie zaatakowa?, mog? natomiast ze swojej. Dodatkowo zmodyfikowa?em kod, by mo?na by?o ustawia? limity bramek w config.lua. System dzia?a na zasadzie:
postacie od poziomu r?wnego bramce1 do poziomu r?wnego bramce2 mog? siebie atakowa?,
postacie od poziomu r?wnego bramce2 do poziomu r?wnego bramce3 mog? siebie atakowa?,
postacie od poziomu r?wnego bramce3 do poziomu r?wnego bramce4 mog? siebie atakowa? itd.
, postacie z r??nych przedzia??w bramek nie mog? si? wzajemnie atakowa?.
Powy?ej ostatniej najwi?kszej bramki ProSys wy??cza si?.
Kod:
1. w game.cpp
pod:
[CPP]Creature *attackedCreature = getCreatureByID(creature->attackedCreature);[/CPP]
dodaj:
[CPP]//Begin protect system - Made by Jero
Player *attacker = dynamic_cast<Player*>(creature);
Player *attacked = dynamic_cast<Player*>(attackedCreature);
bool protection = false;
if(attacker && attacked)
{
if(attacked->level >= g_config.getGlobalNumber("bramka1", 1) && attacked->level <= g_config.getGlobalNumber("bramka2", 1) && attacker->level >= g_config.getGlobalNumber("bramka1", 1) && attacker->level <= g_config.getGlobalNumber("bramka2", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka2", 1) && attacked->level <= g_config.getGlobalNumber("bramka3", 1) && attacker->level >= g_config.getGlobalNumber("bramka2", 1) && attacker->level <= g_config.getGlobalNumber("bramka3", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka3", 1) && attacked->level <= g_config.getGlobalNumber("bramka4", 1) && attacker->level >= g_config.getGlobalNumber("bramka3", 1) && attacker->level <= g_config.getGlobalNumber("bramka4", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka4", 1) && attacked->level <= g_config.getGlobalNumber("bramka5", 1) && attacker->level >= g_config.getGlobalNumber("bramka4", 1) && attacker->level <= g_config.getGlobalNumber("bramka5", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka5", 1) && attacked->level <= g_config.getGlobalNumber("bramka6", 1) && attacker->level >= g_config.getGlobalNumber("bramka5", 1) && attacker->level <= g_config.getGlobalNumber("bramka6", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka6", 1) && attacked->level <= g_config.getGlobalNumber("bramka7", 1) && attacker->level >= g_config.getGlobalNumber("bramka6", 1) && attacker->level <= g_config.getGlobalNumber("bramka7", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka7", 1) && attacked->level <= g_config.getGlobalNumber("bramka8", 1) && attacker->level >= g_config.getGlobalNumber("bramka7", 1) && attacker->level <= g_config.getGlobalNumber("bramka8", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka8", 1) && attacked->level <= g_config.getGlobalNumber("bramka9", 1) && attacker->level >= g_config.getGlobalNumber("bramka8", 1) && attacker->level <= g_config.getGlobalNumber("bramka9", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka9", 1) && attacked->level <= g_config.getGlobalNumber("bramka10", 1) && attacker->level >= g_config.getGlobalNumber("bramka9", 1) && attacker->level <= g_config.getGlobalNumber("bramka10", 1))
protection = true;
}
if(attacker && attacked && !protection)
{
attacker->sendCancelAttacking();
attacker->sendCancel("System ochrony");
playerSetAttackedCreature(attacker, 0);
return;
}
//End protect system - Mady by Jero[/CPP]
2. w magic.cpp
pod:
[cpp]int MagicEffectClass::getDamage(Creature *target, const Creature *attacker /*= NULL*/) const
{[/cpp]
dodaj:
[CPP]//Begin protect system - Made by Jero
Player *attacked = dynamic_cast<Player*>(target);
bool protection = false;
if(attacker && attacked)
{
if(attacked->level >= g_config.getGlobalNumber("bramka1", 1) && attacked->level <= g_config.getGlobalNumber("bramka2", 1) && attacker->level >= g_config.getGlobalNumber("bramka1", 1) && attacker->level <= g_config.getGlobalNumber("bramka2", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka2", 1) && attacked->level <= g_config.getGlobalNumber("bramka3", 1) && attacker->level >= g_config.getGlobalNumber("bramka2", 1) && attacker->level <= g_config.getGlobalNumber("bramka3", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka3", 1) && attacked->level <= g_config.getGlobalNumber("bramka4", 1) && attacker->level >= g_config.getGlobalNumber("bramka3", 1) && attacker->level <= g_config.getGlobalNumber("bramka4", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka4", 1) && attacked->level <= g_config.getGlobalNumber("bramka5", 1) && attacker->level >= g_config.getGlobalNumber("bramka4", 1) && attacker->level <= g_config.getGlobalNumber("bramka5", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka5", 1) && attacked->level <= g_config.getGlobalNumber("bramka6", 1) && attacker->level >= g_config.getGlobalNumber("bramka5", 1) && attacker->level <= g_config.getGlobalNumber("bramka6", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka6", 1) && attacked->level <= g_config.getGlobalNumber("bramka7", 1) && attacker->level >= g_config.getGlobalNumber("bramka6", 1) && attacker->level <= g_config.getGlobalNumber("bramka7", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka7", 1) && attacked->level <= g_config.getGlobalNumber("bramka8", 1) && attacker->level >= g_config.getGlobalNumber("bramka7", 1) && attacker->level <= g_config.getGlobalNumber("bramka8", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka8", 1) && attacked->level <= g_config.getGlobalNumber("bramka9", 1) && attacker->level >= g_config.getGlobalNumber("bramka8", 1) && attacker->level <= g_config.getGlobalNumber("bramka9", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka9", 1) && attacked->level <= g_config.getGlobalNumber("bramka10", 1) && attacker->level >= g_config.getGlobalNumber("bramka9", 1) && attacker->level <= g_config.getGlobalNumber("bramka10", 1))
protection = true;
}
const Monster *monster = dynamic_cast<const Monster*>(attacker);
if(attacker && attacked && !protection && !monster)
if(offensive)
{
attacker->sendCancel("System ochrony");
return 0;
}
//End protect system - Mady by Jero[/CPP]
3. w config.lua
na samym dole dodaj:
Na powy?szym przyk?adzie widzimy, ?e bramki s? od: 1-50, 50-100, 100-150, 150-200, 200-250, 250-300, 300-400, 400-500, 500-1000. Wszystkie postacie powy?ej 1000 poziomu mog? siebie atakowa?.
Projekt przebudowa? (Ctrl+F11) zapisa? config.lua i gotowe.
Dodatkowe opcje:
a) Standardowo doda?em tylko 10 bramek, ale mo?na doda? wi?cej, wystarczy
1. w game.cpp i magic.cpp pod:
[cpp]else if(attacked->level >= g_config.getGlobalNumber("bramka9", 1) && attacked->level <= g_config.getGlobalNumber("bramka10", 1) && attacker->level >= g_config.getGlobalNumber("bramka9", 1) && attacker->level <= g_config.getGlobalNumber("bramka10", 1))
protection = true;[/cpp]
doda?:
[CPP]else if(attacked->level >= g_config.getGlobalNumber("bramka10", 1) && attacked->level <= g_config.getGlobalNumber("bramka11", 1) && attacker->level >= g_config.getGlobalNumber("bramka10", 1) && attacker->level <= g_config.getGlobalNumber("bramka11", 1))
protection = true;[/CPP]
2. A w config.lua dodawa? kolejne:
[LUA]bramka11 = 99999[/LUA]
I tak w k??ko, pami?taj?c by dodawa? o jeden numer kolejnej bramki wy?ej.
Uwaga, jak w config.lua jest ju? opisne, im wy?szy numer bramki, tym wi?ksza liczba poziom?w powinna jej odpowiada? (jak kolejno powinno by? ustawione, jest przyk?adowo pokazane wy?ej w Kodzie #3).
Pewna strona w sieci si? znajduj? na kt?rej s? dost?pne kody c++ pod wersj? 7.60, kt?re przetrwa?y po upadku forum Otsfotu, wi?c postanowi?em te? kilka powrzuca? wzoruj?c si? na tematach poprzednich wykonanych w takim stylu, a nie innym.
Autor: Jero
Modyfikacja (pl/config.lua): Blizzar?aviD
Link ?r?d?owy:
Testowany na: YurOTS 0.4.9f
Opis: System bramek poziomowych (lvl'owych) - polega on na tym, ?e postacie z poziomami z r??nych bramek nie mog? siebie zaatakowa?, mog? natomiast ze swojej. Dodatkowo zmodyfikowa?em kod, by mo?na by?o ustawia? limity bramek w config.lua. System dzia?a na zasadzie:
postacie od poziomu r?wnego bramce1 do poziomu r?wnego bramce2 mog? siebie atakowa?,
postacie od poziomu r?wnego bramce2 do poziomu r?wnego bramce3 mog? siebie atakowa?,
postacie od poziomu r?wnego bramce3 do poziomu r?wnego bramce4 mog? siebie atakowa? itd.
, postacie z r??nych przedzia??w bramek nie mog? si? wzajemnie atakowa?.
Powy?ej ostatniej najwi?kszej bramki ProSys wy??cza si?.
Kod:
1. w game.cpp
pod:
[CPP]Creature *attackedCreature = getCreatureByID(creature->attackedCreature);[/CPP]
dodaj:
[CPP]//Begin protect system - Made by Jero
Player *attacker = dynamic_cast<Player*>(creature);
Player *attacked = dynamic_cast<Player*>(attackedCreature);
bool protection = false;
if(attacker && attacked)
{
if(attacked->level >= g_config.getGlobalNumber("bramka1", 1) && attacked->level <= g_config.getGlobalNumber("bramka2", 1) && attacker->level >= g_config.getGlobalNumber("bramka1", 1) && attacker->level <= g_config.getGlobalNumber("bramka2", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka2", 1) && attacked->level <= g_config.getGlobalNumber("bramka3", 1) && attacker->level >= g_config.getGlobalNumber("bramka2", 1) && attacker->level <= g_config.getGlobalNumber("bramka3", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka3", 1) && attacked->level <= g_config.getGlobalNumber("bramka4", 1) && attacker->level >= g_config.getGlobalNumber("bramka3", 1) && attacker->level <= g_config.getGlobalNumber("bramka4", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka4", 1) && attacked->level <= g_config.getGlobalNumber("bramka5", 1) && attacker->level >= g_config.getGlobalNumber("bramka4", 1) && attacker->level <= g_config.getGlobalNumber("bramka5", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka5", 1) && attacked->level <= g_config.getGlobalNumber("bramka6", 1) && attacker->level >= g_config.getGlobalNumber("bramka5", 1) && attacker->level <= g_config.getGlobalNumber("bramka6", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka6", 1) && attacked->level <= g_config.getGlobalNumber("bramka7", 1) && attacker->level >= g_config.getGlobalNumber("bramka6", 1) && attacker->level <= g_config.getGlobalNumber("bramka7", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka7", 1) && attacked->level <= g_config.getGlobalNumber("bramka8", 1) && attacker->level >= g_config.getGlobalNumber("bramka7", 1) && attacker->level <= g_config.getGlobalNumber("bramka8", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka8", 1) && attacked->level <= g_config.getGlobalNumber("bramka9", 1) && attacker->level >= g_config.getGlobalNumber("bramka8", 1) && attacker->level <= g_config.getGlobalNumber("bramka9", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka9", 1) && attacked->level <= g_config.getGlobalNumber("bramka10", 1) && attacker->level >= g_config.getGlobalNumber("bramka9", 1) && attacker->level <= g_config.getGlobalNumber("bramka10", 1))
protection = true;
}
if(attacker && attacked && !protection)
{
attacker->sendCancelAttacking();
attacker->sendCancel("System ochrony");
playerSetAttackedCreature(attacker, 0);
return;
}
//End protect system - Mady by Jero[/CPP]
2. w magic.cpp
pod:
[cpp]int MagicEffectClass::getDamage(Creature *target, const Creature *attacker /*= NULL*/) const
{[/cpp]
dodaj:
[CPP]//Begin protect system - Made by Jero
Player *attacked = dynamic_cast<Player*>(target);
bool protection = false;
if(attacker && attacked)
{
if(attacked->level >= g_config.getGlobalNumber("bramka1", 1) && attacked->level <= g_config.getGlobalNumber("bramka2", 1) && attacker->level >= g_config.getGlobalNumber("bramka1", 1) && attacker->level <= g_config.getGlobalNumber("bramka2", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka2", 1) && attacked->level <= g_config.getGlobalNumber("bramka3", 1) && attacker->level >= g_config.getGlobalNumber("bramka2", 1) && attacker->level <= g_config.getGlobalNumber("bramka3", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka3", 1) && attacked->level <= g_config.getGlobalNumber("bramka4", 1) && attacker->level >= g_config.getGlobalNumber("bramka3", 1) && attacker->level <= g_config.getGlobalNumber("bramka4", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka4", 1) && attacked->level <= g_config.getGlobalNumber("bramka5", 1) && attacker->level >= g_config.getGlobalNumber("bramka4", 1) && attacker->level <= g_config.getGlobalNumber("bramka5", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka5", 1) && attacked->level <= g_config.getGlobalNumber("bramka6", 1) && attacker->level >= g_config.getGlobalNumber("bramka5", 1) && attacker->level <= g_config.getGlobalNumber("bramka6", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka6", 1) && attacked->level <= g_config.getGlobalNumber("bramka7", 1) && attacker->level >= g_config.getGlobalNumber("bramka6", 1) && attacker->level <= g_config.getGlobalNumber("bramka7", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka7", 1) && attacked->level <= g_config.getGlobalNumber("bramka8", 1) && attacker->level >= g_config.getGlobalNumber("bramka7", 1) && attacker->level <= g_config.getGlobalNumber("bramka8", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka8", 1) && attacked->level <= g_config.getGlobalNumber("bramka9", 1) && attacker->level >= g_config.getGlobalNumber("bramka8", 1) && attacker->level <= g_config.getGlobalNumber("bramka9", 1))
protection = true;
else if(attacked->level >= g_config.getGlobalNumber("bramka9", 1) && attacked->level <= g_config.getGlobalNumber("bramka10", 1) && attacker->level >= g_config.getGlobalNumber("bramka9", 1) && attacker->level <= g_config.getGlobalNumber("bramka10", 1))
protection = true;
}
const Monster *monster = dynamic_cast<const Monster*>(attacker);
if(attacker && attacked && !protection && !monster)
if(offensive)
{
attacker->sendCancel("System ochrony");
return 0;
}
//End protect system - Mady by Jero[/CPP]
3. w config.lua
na samym dole dodaj:
Code:
-- Bramki lvl'owe (standardowo wszystko od 1lvl'a) (przyk?ad: PVP od bramki1 do bramki2 | PVP od bramki2 do bramki3 itd...)
-- Bramki musz? by? coraz wy?sze lvl'owo (im wy?szy numer bramki, tym wy?szy lvl)!!!
bramka1 = 1
bramka2 = 50
bramka3 = 100
bramka4 = 150
bramka5 = 200
bramka6 = 250
bramka7 = 300
bramka8 = 400
bramka9 = 500
bramka10 = 1000
Na powy?szym przyk?adzie widzimy, ?e bramki s? od: 1-50, 50-100, 100-150, 150-200, 200-250, 250-300, 300-400, 400-500, 500-1000. Wszystkie postacie powy?ej 1000 poziomu mog? siebie atakowa?.
Projekt przebudowa? (Ctrl+F11) zapisa? config.lua i gotowe.
Dodatkowe opcje:
a) Standardowo doda?em tylko 10 bramek, ale mo?na doda? wi?cej, wystarczy
1. w game.cpp i magic.cpp pod:
[cpp]else if(attacked->level >= g_config.getGlobalNumber("bramka9", 1) && attacked->level <= g_config.getGlobalNumber("bramka10", 1) && attacker->level >= g_config.getGlobalNumber("bramka9", 1) && attacker->level <= g_config.getGlobalNumber("bramka10", 1))
protection = true;[/cpp]
doda?:
[CPP]else if(attacked->level >= g_config.getGlobalNumber("bramka10", 1) && attacked->level <= g_config.getGlobalNumber("bramka11", 1) && attacker->level >= g_config.getGlobalNumber("bramka10", 1) && attacker->level <= g_config.getGlobalNumber("bramka11", 1))
protection = true;[/CPP]
2. A w config.lua dodawa? kolejne:
[LUA]bramka11 = 99999[/LUA]
I tak w k??ko, pami?taj?c by dodawa? o jeden numer kolejnej bramki wy?ej.
Uwaga, jak w config.lua jest ju? opisne, im wy?szy numer bramki, tym wi?ksza liczba poziom?w powinna jej odpowiada? (jak kolejno powinno by? ustawione, jest przyk?adowo pokazane wy?ej w Kodzie #3).