What's new

-Tibia 7.60 [7.6] System Reputacji Shift

Status
Not open for further replies.

Thorge D

Advanced User
Joined
Jul 24, 2014
Messages
300
Reaction score
29
1. Autor: Blizzar?aviD
2. Link do oryginalnego tematu:
3. Opis: Opis:
> Legenda/Skr?ty:
> SRS - System Reputacji Shift,
> PR - Punkty Reputacji,
> T, ST, GM, SGM, H - Tutor, Senior Tutor, GameMaster, Senior GameMaster, Hoster,
> LPM - Lewy Klawisz Myszy,
> Bug - B??d w grze (tak?e Crash'e).

Po wprowadzeniu tego kodu, mo?liwe stanie si? nadawanie przez postacie o okre?lonym access, np. przez GM'?w Punkt?w Reputacji dowolnym postaciom.
Wystarczy, ?e okre?limy liczb? punkt?w (dodatni?, b?d? ujemn?), adresata (posta?, kt?rej nadamy PR) oraz pow?d nadania. To wszystko za pomoc? jednej komendy!

SRS ma same zalety:
a) Jest po polsku, wi?c nie ma mowy o jaki? niezrozumieniach w jego korzystaniu,
b) Gracze maj? dla swoich postaci co? w stylu "nagrody" za znajdowanie bug?w itp. w grze,
c) Gracze maj? zach?t? na znajdywanie b??d?w itp. w grze,
d) Trac? mo?liwo?? na hamskie zagrywki typu: "Powiem ci jaki masz bug w zamian za T, ST lub GMa",
d) System jest dobrym przelicznikiem PR na rangi, np.: 20 PR - T, 50 PR - ST itd.,
f) Jak wy?ej wspomnia?em, opr?cz dodawania, mo?na odejmowa? PR, a gracz kt?rego posta? otrzyma t? negatywn? ilo?? - o ile nie zamierza jej porzuci?, lub usun?? - zechce si? zrehabilitowa?,
g) Posta? z du?? ilo?ci? PR b?dzie bardziej znana, zaufana i zwi?kszy si? jej autorytet,
h) Gracz z postaci? z ujemn? ilo?ci? PR b?dzie (w pewnym stopniu tak?e znana) ci?gle sprawdzana i darzona mniejszym zaufaniem, co mo?e by? dla takiego gracza irytuj?ce, ale i zach?caj?ce do dzia?a? zmniejszaj?cych t? ujemn? liczb?,
i) Ka?dy gracz b?dzie m?g? w ka?dej chwili - b?d?c ko?o danej postaci - sprawdzi? jej aktualny stan PR przy u?yciu na niej Ctrl+LPM i wybraniu z listy pozycji Look. Gdy taka posta? b?dzie posiada?a liczb? PR r??n? od zera, liczba ta zostanie przedstawiona pod nazw? postaci, jej profesj? i poziomem, za? gdy r?wn? zeru, pod nazw? postaci, profesj? i poziomem nie poka?e si? nic,
j) Danej postaci mo?na niesko?czenie wiele razy nadawa? nieograniczon? liczb? PR; przy u?yciu na swojej, b?d? innej postaci Ctrl+LPM pod nazw? postaci, profesj? i poziomem poka?e si? suma wszystkich nadanych jej PR w czasie ca?ej gry (np. 5, -3, +4, -1, +1, 2 daje razem 5-3+4-1+1+2 = 8 PR).
k) Podczas podania nieprawid?owych danych (liczba PR, nazwa postaci, pow?d nadania) komenda poda u?ywaj?cemu jej:
- gdzie pope?ni? b??d,
- jak ma poprawnie u?y? komendy, wraz z t?umaczeniem,
- przyk?ady nadawania dodatniej oraz ujemnej liczby PR na jego postaci,
l) Podczas podania prawid?owych danych:
- wszyscy zalogowani gracze zobacz? komunikat na ?rodku ekranu bia?? czcionk? z informacj?: kt?ra posta?, otrzyma?a ile PR, wraz z powodem nadania Reputacji oraz aktualnym stanem PR,
- na promowanej postaci uka?e si? ???ty charakterystyczny okr?g, kt?ry opr?cz niej, zobacz? go wszyscy inni gracze stoj?cy swoimi postaciami w pobli?u promowanej postaci (tutaj u?ycie "promowanej postaci" oznacza "tej, kt?rej nadane zosta?y PR", nie myli? tego z otrzymywaniem przez ni? godzin/dni Pacc!!),
- w folderze data po pierwszym poprawnym u?yciu komendy pojawi si? plik reputacja.log, w kt?rym po pierwszym jak i ka?dym kolejnym tak?e poprawnym u?yciu komendy, zostan? zapisane dane:
Code:
[RRRR-MM-DD gg:mm] Nick#1: /reputacja X,Nick#2,Y <|> Stan Nick#2 to Z Punkt?w Reputacji.
gdzie:
RRRR-MM-DD - rok, miesi?c i dzie? u?ycia komendy
gg:mm - godzina z minutami u?ycia komendy
Nick#1 - nazwa postaci, kt?ra u?y?a komendy
Nick#2 - nazwa postaci, kt?rej nadano PR
X - ilo?? PR
Y - pow?d nadania Reputacji
Z - stan postaci po nadaniu Reputacji w chwili u?ycia komendy

System Reputacji Shift jest w 100% BEZBUGOWY I BEZCRASHOWY.
Sprawdzony pod wzgl?dem bezb??dno?ci na czystej wersji YurOTS 0.9.4f

4. Kod:

W zak?adce Projekt
Opcje projektu (Alt+P) -> Parametry -> Kompilator C++ wpisz na ko?cu:
Code:
-D_BDD_REPUTACJA_
w commands.cpp pod:
[CPP]{"/kick",&Commands::kickPlayer},[/CPP]
dodaj:
[CPP]#ifdef _BDD_REPUTACJA_
{"/reputacja",&Commands::nadawanieReputacji},
#endif //_BDD_REPUTACJA_[/CPP]
w commands.cpp na samym dole dodaj:
[CPP] #ifdef _BDD_REPUTACJA_
bool Commands::nadawanieReputacji(Creature* c, const std::string &cmd, const std::string &param)
{
std::istringstream azx(param.c_str());
int liczba;
azx >> liczba;
std::string reszta;
std::getline(azx, reszta);

std::string tmp1 = reszta;
std::string tmp2;
std::string powod;
std::string::size_type pos1;
std::string::size_type pos2;
pos1 = tmp1.find(",");
tmp1.erase(0, pos1+1);
tmp2 = tmp1;
pos2 = tmp2.find(",");
tmp2.erase(0, pos2+1);
powod = tmp2;
std::string name = reszta.substr(pos1+1, pos1+pos2).c_str();

Creature* creature = game->getCreatureByName(name);
Player* cel = creature? dynamic_cast<Player*>(creature) : NULL;
Player* player = dynamic_cast<Player*>(c);

int pomoc1;
int pomoc2;
int pomoc3;
int pomoc4;
std::string pomocP;

if(!cel){pomoc1=1;}else{pomoc1=0;}
if(liczba==0){pomoc2=1;}else{pomoc2=0;}
if((powod=="")||(powod==" ")){pomoc3=1;}else{pomoc3=0;}

if((pomoc1==1)&&(pomoc2==1)&&(pomoc3==1)){
pomocP = "Gracz wylogowany, liczba PR r?wna zero, brak podania powodu";}
else if((pomoc1==1)&&(pomoc2==1)&&(pomoc3==0)){
pomocP = "Gracz wylogowany, liczba PR r?wna zero";}
else if((pomoc1==1)&&(pomoc2==0)&&(pomoc3==1)){
pomocP = "Gracz wylogowany, brak podania powodu";}
else if((pomoc1==0)&&(pomoc2==1)&&(pomoc3==1)){
pomocP = "Liczba PR r?wna zero, brak podania powodu";}
else if((pomoc1==1)&&(pomoc2==0)&&(pomoc3==0)){
pomocP = "Gracz wylogowany";}
else if((pomoc1==0)&&(pomoc2==1)&&(pomoc3==0)){
pomocP = "Liczba PR r?wna zero";}
else if((pomoc1==0)&&(pomoc2==0)&&(pomoc3==1)){
pomocP = "Brak podania powodu";}

int opcja;
if((cel)&&(pomoc1==0)&&(pomoc2==0)&&(pomoc3==0)){
if(cel->getSex() == PLAYERSEX_FEMALE){
if(liczba>0){opcja=2;}
else if(liczba<0){opcja=3;}
else{opcja=1;}
}
else {
if(liczba>0){opcja=4;}
else if(liczba<0){opcja=5;}
else{opcja=1;}
}
}
else{opcja=1;}

if(cel){
int liczbapoprzednia = cel->reput;
cel->reput = (liczbapoprzednia + liczba);}
else{}

std::stringstream wiadomosc1;
std::stringstream wiadomosc2;
switch(opcja){
case 1:
wiadomosc1 << "Operacja nieudana: " << pomocP << ".\nAby poprawnie uzyc komendy nadawania Punkt?w Reputacji, wpisz dane wedlug szablonu:\n/reputacja Liczba,Nick,Pow?d\nLiczba - ilosc dodawanych, lub odejmowanych Punkt?w r?zna od zera\nNick - nazwa postaci\nPow?d - pow?d otrzymania Reputacji\nPrzyklad dodawania PR: /reputacja 1," << player->getName() << ",Pomoc w zlikwidowaniu buga.\nPrzyklad odejmowania PR: /reputacja -1," << player->getName() << ",Zasmiecanie Depo.";
break;
case 2:
wiadomosc2 << "Gracz " << cel->getName() << " otrzymala " << liczba << ((((liczba>20)||(liczba<5))&&((liczba%10==2)||(liczba%10==3)||(liczba%10==4)))? " Punkty" : (liczba==1? " Punkt": " Punkt?w")) << " Reputacji.\nPow?d: " << powod << "\nRazem posiada ona " << (cel->reput > 0 ? "+" : "") << cel->reput << (cel->reput>=0? ((((cel->reput>20)||(cel->reput<5))&&((cel->reput%10==2)||(cel->reput%10==3)||(cel->reput%10==4)))? " Punkty" : (cel->reput==1? " Punkt": " Punkt?w")) : ((((cel->reput<-20)||(cel->reput>-5))&&((cel->reput%10==-2)||(cel->reput%10==-3)||(cel->reput%10==-4)))? " Punkty" : (cel->reput==-1? " Punkt": " Punkt?w")) ) << " Reputacji.";
break;
case 3:
wiadomosc2 << "Gracz " << cel->getName() << " stracila " << liczba*-1 << ((((liczba<-20)||(liczba>-5))&&((liczba%10==-2)||(liczba%10==-3)||(liczba%10==-4)))? " Punkty" : (liczba==-1? " Punkt": " Punkt?w")) << " Reputacji.\nPow?d: " << powod << "\nRazem posiada ona " << (cel->reput > 0 ? "+" : "") << cel->reput << (cel->reput>=0? ((((cel->reput>20)||(cel->reput<5))&&((cel->reput%10==2)||(cel->reput%10==3)||(cel->reput%10==4)))? " Punkty" : (cel->reput==1? " Punkt": " Punkt?w")) : ((((cel->reput<-20)||(cel->reput>-5))&&((cel->reput%10==-2)||(cel->reput%10==-3)||(cel->reput%10==-4)))? " Punkty" : (cel->reput==-1? " Punkt": " Punkt?w")) ) << " Reputacji.";
break;
case 4:
wiadomosc2 << "Gracz " << cel->getName() << " otrzymal " << liczba << ((((liczba>20)||(liczba<5))&&((liczba%10==2)||(liczba%10==3)||(liczba%10==4)))? " Punkty" : (liczba==1? " Punkt": " Punkt?w")) << " Reputacji.\nPow?d: " << powod << "\nRazem posiada on " << (cel->reput > 0 ? "+" : "") << cel->reput << (cel->reput>=0? ((((cel->reput>20)||(cel->reput<5))&&((cel->reput%10==2)||(cel->reput%10==3)||(cel->reput%10==4)))? " Punkty" : (cel->reput==1? " Punkt": " Punkt?w")) : ((((cel->reput<-20)||(cel->reput>-5))&&((cel->reput%10==-2)||(cel->reput%10==-3)||(cel->reput%10==-4)))? " Punkty" : (cel->reput==-1? " Punkt": " Punkt?w")) ) << " Reputacji.";
break;
case 5:
wiadomosc2 << "Gracz " << cel->getName() << " stracil " << liczba*-1 << ((((liczba<-20)||(liczba>-5))&&((liczba%10==-2)||(liczba%10==-3)||(liczba%10==-4)))? " Punkty" : (liczba==-1? " Punkt": " Punkt?w")) << " Reputacji.\nPow?d: " << powod << "\nRazem posiada on " << (cel->reput > 0 ? "+" : "") << cel->reput << (cel->reput>=0? ((((cel->reput>20)||(cel->reput<5))&&((cel->reput%10==2)||(cel->reput%10==3)||(cel->reput%10==4)))? " Punkty" : (cel->reput==1? " Punkt": " Punkt?w")) : ((((cel->reput<-20)||(cel->reput>-5))&&((cel->reput%10==-2)||(cel->reput%10==-3)||(cel->reput%10==-4)))? " Punkty" : (cel->reput==-1? " Punkt": " Punkt?w")) ) << " Reputacji.";
break;
}

if(opcja>1){
//----------------- BDD Monitoring Pro System -----------------------------------
Player *player = dynamic_cast<Player*>(c);
char buf[64];
time_t ticks = time(0);
#ifdef USING_VISUAL_2005
tm now;
localtime_s(&now, &ticks);
strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M", &now);
#else
strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M", localtime(&ticks));
#endif //USING_VISUAL_2005
std::eek:fstream out("reputacja.log", std::ios::app);
out << "[" << buf << "] " << player->getName() << ": /reputacja " << param << " <|> Stan " << cel->getName() << " to " << (cel->reput>0?"+":"") << cel->reput << " Punkt?w Reputacji." << std::endl;
out.close();
//----------------- End BDD Monitoring Pro System -----------------------------------
for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it){
if(dynamic_cast<Player*>(it->second)){
(*it).second->sendTextMessage(MSG_ADVANCE, wiadomosc2.str().c_str());
(*it).second->sendMagicEffect(cel->pos, NM_ME_YELLOW_RINGS);}}
}
else {
player->sendTextMessage(MSG_BLUE_TEXT, wiadomosc1.str().c_str());
}

return true;
}
#endif //_BDD_REPUTACJA_[/CPP]
w ioplayerxml.cpp pod:
[CPP]nodeValue = (char*)xmlGetProp(root, (const xmlChar *) "access");
if(nodeValue) {
player->access=atoi(nodeValue);
xmlFreeOTSERV(nodeValue);
}
else
isLoaded = false;[/CPP]
dodaj:
[CPP]#ifdef _BDD_REPUTACJA_
nodeValue = (char*)xmlGetProp(root, (const xmlChar *) "reput"); //BDD1
if(nodeValue) {
player->reput = atoi(nodeValue);
xmlFreeOTSERV(nodeValue);
}
else
isLoaded = false;
#endif //_BDD_REPUTACJA_ [/CPP]
w ioplayerxml.cpp pod:
[CPP] sb << player->access; xmlSetProp(root, (const xmlChar*) "access", (const xmlChar*)sb.str().c_str()); sb.str(""); [/CPP]
dodaj:
[CPP]#ifdef _BDD_REPUTACJA_
sb << player->reput; xmlSetProp(root, (const xmlChar*) "reput", (const xmlChar*)sb.str().c_str()); sb.str(""); //BDD1
#endif //_BDD_REPUTACJA_ [/CPP]
w player.cpp pod:
[CPP]access = 0; [/CPP]
dodaj:
[CPP]#ifdef _BDD_REPUTACJA_
reput = 0; //BDD1
#endif //_BDD_REPUTACJA_ [/CPP]
w player.cpp pod:
[CPP]#ifdef YUR_PREMIUM_PROMOTION
if (isPromoted())
s << " is "<< g_config.PROMOTED_VOCATIONS[(int)vocation] << ".";
else
#endif //YUR_PREMIUM_PROMOTION
s << " is "<< g_config.VOCATIONS[(int)vocation] << ".";
}
} [/CPP]
dodaj:
[CPP]#ifdef _BDD_REPUTACJA_
switch(access)
{
case 0:
break;
case 1:
if(self)
if(sex == PLAYERSEX_FEMALE) //patrzysz na siebie
s << "\n...::: Tutorka :::...\n";
else
s << "\n...::: Tutor :::...\n";
else
{
if(sex == PLAYERSEX_FEMALE) //patrzysz na niego
s << "\n...::: Tutorka :::...\n";
else
s << "\n...::: Tutor :::...\n";
}
break;
case 2:
if(self)
if(sex == PLAYERSEX_FEMALE) //patrzysz na siebie
s << "\n...::: Senior Tutorka :::...\n";
else
s << "\n...::: Senior Tutor :::...\n";
else
{
if(sex == PLAYERSEX_FEMALE) //patrzysz na niego
s << "\n...::: Senior Tutorka :::...\n";
else
s << "\n...::: Senior Tutor :::...\n";
}
break;

case 3:
if(self)
if(sex == PLAYERSEX_FEMALE) //patrzysz na siebie
s << "\n...::: GameMasterka :::...\n";
else
s << "\n...::: GameMaster :::...\n";
else
{
if(sex == PLAYERSEX_FEMALE) //patrzysz na niego
s << "\n...::: GameMasterka :::...\n";
else
s << "\n...::: GameMaster :::...\n";
}
break;

case 4:
if(self)
if(sex == PLAYERSEX_FEMALE) //patrzysz na siebie
s << "\n...::: Senior GameMasterka :::...\n";
else
s << "\n...::: Senior GameMasterka :::...\n";
else
{
if(sex == PLAYERSEX_FEMALE) //patrzysz na niego
s << "\n...::: Senior GameMasterka :::...\n";
else
s << "\n...::: Senior GameMasterka :::...\n";
}
break;
case 5:
if(self)
if(sex == PLAYERSEX_FEMALE) //patrzysz na siebie
s << "\n...::: Hosterka :::...\n";
else
s << "\n...::: Hoster :::...\n";
else
{
if(sex == PLAYERSEX_FEMALE) //patrzysz na niego
s << "\n...::: Hosterka :::...\n";
else
s << "\n...::: Hoster :::...\n";
}
break;
}

if (reput != 0){ //BDD1
if (access >= 1){
s <<"Reputacja: "<<(reput>0?"+":"")<<reput<<"\n";
}else{
s <<"\nReputacja: "<<(reput>0?"+":"")<<reput<<"\n";}}
#else
s <<"\nReputacja: "<<(access>0?"+":"")<<access<<"\n";exit(1);
#endif //_BDD_REPUTACJA_ [/CPP]
w commands.h pod:
[CPP]bool kickPlayer(Creature* c, const std::string &cmd, const std::string &param); [/CPP]
dodaj:
[CPP]#ifdef _BDD_REPUTACJA_
bool nadawanieReputacji(Creature* c, const std::string &cmd, const std::string &param);
#endif //_BDD_REPUTACJA_ [/CPP]
w player.h pod:
[CPP]void kickPlayer(); [/CPP]
dodaj:
[CPP]#ifdef _BDD_REPUTACJA_
int32_t reput; //BDD1
#endif //_BDD_REPUTACJA_ [/CPP]
w data\commans.xml pod:
[XML]<command cmd="/kick" access="3" /> [/XML]
dodaj:
[XML]<command cmd="/reputacja" access="3" /> [/XML]

wy?ej postacie z accessem r?wnym, lub wy?szym od 3 mog? u?ywa? komendy /reputacja.
Accessy:
0 - Player
1 - Tutor
2 - Senior Tutor
3 - GameMaster
4 - Senior GameMaster
5 - Hoster
 

Latar

Active User
Joined
Aug 6, 2011
Messages
67
Reaction score
1
Odp: [7.6] System Reputacji Shift

#ifdef _BDD_REPUTACJA_
int32_t reput; //BDD1
#endif //_BDD_REPUTACJA_

Po co to potrzebne?
 

Baabuseek

Advanced User
Joined
Aug 17, 2008
Messages
449
Reaction score
45
Odp: [7.6] System Reputacji Shift

usu? to si? dowiesz
 

Latar

Active User
Joined
Aug 6, 2011
Messages
67
Reaction score
1
Odp: [7.6] System Reputacji Shift

Takie b??dy:

W tym:
Code:
 case 1:
                   wiadomosc1 << "Operacja nieudana: " << pomocP << ".\nAby poprawnie uzyc komendy nadawania Punkt?w Reputacji, wpisz dane wedlug szablonu:\n/reputacja Liczba,Nick,Pow?d\nLiczba - ilosc dodawanych, lub odejmowanych Punkt?w r?zna od zera\nNick - nazwa postaci\nPow?d - pow?d otrzymania Reputacji\nPrzyklad dodawania PR:       /reputacja 1," << player->getName() << ",Pomoc w zlikwidowaniu buga.\nPrzyklad odejmowania PR:  /reputacja -1," << player->getName() << ",Zasmiecanie Depo.";
                   break;
              case 2:
                   wiadomosc2 << "Gracz " << cel->getName() << " otrzymala " << liczba << ((((liczba>20)||(liczba<5))&&((liczba%10==2)||(lic  zba%10==3)||(liczba%10==4)))? " Punkty" : (liczba==1? " Punkt": " Punkt?w")) << " Reputacji.\nPow?d: " << powod << "\nRazem posiada ona " << (cel->reput > 0 ? "+" : "") << cel->reput << (cel->reput>=0? ((((cel->reput>20)||(cel->reput<5))&&((cel->reput%10==2)||(cel->reput%10==3)||(cel->reput%10==4)))? " Punkty" : (cel->reput==1? " Punkt": " Punkt?w")) : ((((cel->reput<-20)||(cel->reput>-5))&&((cel->reput%10==-2)||(cel->reput%10==-3)||(cel->reput%10==-4)))? " Punkty" : (cel->reput==-1? " Punkt": " Punkt?w")) ) << " Reputacji.";
                   break;
              case 3:
                   wiadomosc2 << "Gracz " << cel->getName() << " stracila " << liczba*-1 << ((((liczba<-20)||(liczba>-5))&&((liczba%10==-2)||(liczba%10==-3)||(liczba%10==-4)))? " Punkty" : (liczba==-1? " Punkt": " Punkt?w")) << " Reputacji.\nPow?d: " << powod << "\nRazem posiada ona " << (cel->reput > 0 ? "+" : "") << cel->reput << (cel->reput>=0? ((((cel->reput>20)||(cel->reput<5))&&((cel->reput%10==2)||(cel->reput%10==3)||(cel->reput%10==4)))? " Punkty" : (cel->reput==1? " Punkt": " Punkt?w")) : ((((cel->reput<-20)||(cel->reput>-5))&&((cel->reput%10==-2)||(cel->reput%10==-3)||(cel->reput%10==-4)))? " Punkty" : (cel->reput==-1? " Punkt": " Punkt?w")) ) << " Reputacji.";
                   break;
              case 4:
                   wiadomosc2 << "Gracz " << cel->getName() << " otrzymal " << liczba << ((((liczba>20)||(liczba<5))&&((liczba%10==2)||(lic  zba%10==3)||(liczba%10==4)))? " Punkty" : (liczba==1? " Punkt": " Punkt?w")) << " Reputacji.\nPow?d: " << powod << "\nRazem posiada on " << (cel->reput > 0 ? "+" : "") << cel->reput << (cel->reput>=0? ((((cel->reput>20)||(cel->reput<5))&&((cel->reput%10==2)||(cel->reput%10==3)||(cel->reput%10==4)))? " Punkty" : (cel->reput==1? " Punkt": " Punkt?w")) : ((((cel->reput<-20)||(cel->reput>-5))&&((cel->reput%10==-2)||(cel->reput%10==-3)||(cel->reput%10==-4)))? " Punkty" : (cel->reput==-1? " Punkt": " Punkt?w")) ) << " Reputacji.";
                   break;
              case 5:
                   wiadomosc2 << "Gracz " << cel->getName() << " stracil " << liczba*-1 << ((((liczba<-20)||(liczba>-5))&&((liczba%10==-2)||(liczba%10==-3)||(liczba%10==-4)))? " Punkty" : (liczba==-1? " Punkt": " Punkt?w")) << " Reputacji.\nPow?d: " << powod << "\nRazem posiada on " << (cel->reput > 0 ? "+" : "") << cel->reput << (cel->reput>=0? ((((cel->reput>20)||(cel->reput<5))&&((cel->reput%10==2)||(cel->reput%10==3)||(cel->reput%10==4)))? " Punkty" : (cel->reput==1? " Punkt": " Punkt?w")) : ((((cel->reput<-20)||(cel->reput>-5))&&((cel->reput%10==-2)||(cel->reput%10==-3)||(cel->reput%10==-4)))? " Punkty" : (cel->reput==-1? " Punkt": " Punkt?w")) ) << " Reputacji.";
                   break;
                   }
 

niski23

New User
Joined
Apr 13, 2012
Messages
2
Reaction score
0
Odp: [7.6] System Reputacji Shift

Refresh , mam ten sam problem i nie wiem co si? dok?adnie dzieje .

Edit:
Juz zrobione , zaspany to nie widzia?em b??du wi?c prosz? kod dla tych co nie wiedz? , a dalej si? w to bawi?.

Code:
case 1:
                   wiadomosc1 << "Operacja nieudana: " << pomocP << ".\nAby poprawnie uzyc komendy nadawania Punkt?w Reputacji, wpisz dane wedlug szablonu:\n/reputacja Liczba,Nick,Powod\nLiczba - ilosc dodawanych, lub odejmowanych Punktow rozna od zera\nNick - nazwa postaci\nPowpd - pow?d otrzymania Reputacji\nPrzyklad dodawania PR:       /reputacja 1," << player->getName() << ",Pomoc w zlikwidowaniu buga.\nPrzyklad odejmowania PR:  /reputacja -1," << player->getName() << ",Zasmiecanie Depo.";
                   break;
              case 2:
                   wiadomosc2 << "Gracz " << cel->getName() << " otrzymala " << liczba << ((((liczba>20)||(liczba<5))&&((liczba%10==2)||(liczba%10==3)||(liczba%10==4)))? " Punkty" : (liczba==1? " Punkt": " Punktow")) << " Reputacji.\nPowod: " << powod << "\nRazem posiada ona " << (cel->reput > 0 ? "+" : "") << cel->reput << (cel->reput>=0? ((((cel->reput>20)||(cel->reput<5))&&((cel->reput%10==2)||(cel->reput%10==3)||(cel->reput%10==4)))? " Punkty" : (cel->reput==1? " Punkt": " Punktow")) : ((((cel->reput<-20)||(cel->reput>-5))&&((cel->reput%10==-2)||(cel->reput%10==-3)||(cel->reput%10==-4)))? " Punkty" : (cel->reput==-1? " Punkt": " Punktow")) ) << " Reputacji.";
                   break;
              case 3:
                   wiadomosc2 << "Gracz " << cel->getName() << " stracila " << liczba*-1 << ((((liczba<-20)||(liczba>-5))&&((liczba%10==-2)||(liczba%10==-3)||(liczba%10==-4)))? " Punkty" : (liczba==-1? " Punkt": " Punktow")) << " Reputacji.\nPowod: " << powod << "\nRazem posiada ona " << (cel->reput > 0 ? "+" : "") << cel->reput << (cel->reput>=0? ((((cel->reput>20)||(cel->reput<5))&&((cel->reput%10==2)||(cel->reput%10==3)||(cel->reput%10==4)))? " Punkty" : (cel->reput==1? " Punkt": " Punktow")) : ((((cel->reput<-20)||(cel->reput>-5))&&((cel->reput%10==-2)||(cel->reput%10==-3)||(cel->reput%10==-4)))? " Punkty" : (cel->reput==-1? " Punkt": " Punktow")) ) << " Reputacji.";
                   break;
              case 4:
                   wiadomosc2 << "Gracz " << cel->getName() << " otrzymal " << liczba << ((((liczba>20)||(liczba<5))&&((liczba%10==2)||(liczba%10==3)||(liczba%10==4)))? " Punkty" : (liczba==1? " Punkt": " Punktow")) << " Reputacji.\nPowod: " << powod << "\nRazem posiada on " << (cel->reput > 0 ? "+" : "") << cel->reput << (cel->reput>=0? ((((cel->reput>20)||(cel->reput<5))&&((cel->reput%10==2)||(cel->reput%10==3)||(cel->reput%10==4)))? " Punkty" : (cel->reput==1? " Punkt": " Punktow")) : ((((cel->reput<-20)||(cel->reput>-5))&&((cel->reput%10==-2)||(cel->reput%10==-3)||(cel->reput%10==-4)))? " Punkty" : (cel->reput==-1? " Punkt": " Punktow")) ) << " Reputacji.";
                   break;
              case 5:
                   wiadomosc2 << "Gracz " << cel->getName() << " stracil " << liczba*-1 << ((((liczba<-20)||(liczba>-5))&&((liczba%10==-2)||(liczba%10==-3)||(liczba%10==-4)))? " Punkty" : (liczba==-1? " Punkt": " Punktow")) << " Reputacji.\nPowod: " << powod << "\nRazem posiada on " << (cel->reput > 0 ? "+" : "") << cel->reput << (cel->reput>=0? ((((cel->reput>20)||(cel->reput<5))&&((cel->reput%10==2)||(cel->reput%10==3)||(cel->reput%10==4)))? " Punkty" : (cel->reput==1? " Punkt": " Punktow")) : ((((cel->reput<-20)||(cel->reput>-5))&&((cel->reput%10==-2)||(cel->reput%10==-3)||(cel->reput%10==-4)))? " Punkty" : (cel->reput==-1? " Punkt": " Punktow")) ) << " Reputacji.";
                   break;

 
if(opcja>1){
                   }
 
Last edited:
Status
Not open for further replies.
Top