equal
deleted
inserted
replaced
86 for(QMap<QString, QStringList>::iterator it=conf.begin(); it!=conf.end(); ++it) { |
86 for(QMap<QString, QStringList>::iterator it=conf.begin(); it!=conf.end(); ++it) { |
87 RawSendNet(QString("CONFIG_PARAM")+delimeter+it.key()+delimeter+it.value().join(QString(delimeter))); |
87 RawSendNet(QString("CONFIG_PARAM")+delimeter+it.key()+delimeter+it.value().join(QString(delimeter))); |
88 qDebug() << QString("CONFIG_PARAM")+delimeter+it.key()+delimeter+it.value().join(QString(delimeter)); |
88 qDebug() << QString("CONFIG_PARAM")+delimeter+it.key()+delimeter+it.value().join(QString(delimeter)); |
89 } |
89 } |
90 } |
90 } |
|
91 m_hwserver->sendAll(QString("JOINED")+delimeter+client_nick); |
91 return; |
92 return; |
92 } |
93 } |
93 if(client_nick=="") return; |
94 if(client_nick=="") return; |
94 |
95 |
95 if (lst[0]=="START:") { |
96 if (lst[0]=="START:") { |
98 // start |
99 // start |
99 m_hwserver->sendAll("RUNGAME"); |
100 m_hwserver->sendAll("RUNGAME"); |
100 m_hwserver->resetStart(); |
101 m_hwserver->resetStart(); |
101 } |
102 } |
102 return; |
103 return; |
|
104 } |
|
105 |
|
106 if(lst[0]=="HHNUM") { |
|
107 if(!m_hwserver->isChiefClient(this) || lst.size()<4) return; // error or permission denied :) |
|
108 const QString confstr=lst[0]+"+"+lst[1]+"+"+lst[2]; |
|
109 QMap<QString, QStringList>::iterator it=m_hwserver->m_gameCfg.find(confstr); |
|
110 int oldTeamHHNum = it==m_hwserver->m_gameCfg.end() ? 0 : it.value()[0].toUInt(); |
|
111 int newTeamHHNum = lst[3].toUInt(); |
|
112 m_hwserver->hhnum+=newTeamHHNum-oldTeamHHNum; |
|
113 // create CONFIG_PARAM to save HHNUM at server from lst |
|
114 lst=QStringList("CONFIG_PARAM") << confstr << lst[3]; |
103 } |
115 } |
104 |
116 |
105 if(lst[0]=="CONFIG_PARAM") { |
117 if(lst[0]=="CONFIG_PARAM") { |
106 if(!m_hwserver->isChiefClient(this) || lst.size()<3) return; // error or permission denied :) |
118 if(!m_hwserver->isChiefClient(this) || lst.size()<3) return; // error or permission denied :) |
107 else m_hwserver->m_gameCfg[lst[1]]=lst.mid(2); |
119 else m_hwserver->m_gameCfg[lst[1]]=lst.mid(2); |
119 // hedgehogs num count |
131 // hedgehogs num count |
120 int maxAdd=18-m_hwserver->hhnum; |
132 int maxAdd=18-m_hwserver->hhnum; |
121 if (maxAdd<=0) return; // reject command |
133 if (maxAdd<=0) return; // reject command |
122 int toAdd=maxAdd<4 ? maxAdd : 4; |
134 int toAdd=maxAdd<4 ? maxAdd : 4; |
123 m_hwserver->hhnum+=toAdd; |
135 m_hwserver->hhnum+=toAdd; |
|
136 qDebug() << "added " << toAdd << " hedgehogs"; |
124 // hedgehogs num config |
137 // hedgehogs num config |
125 QString hhnumCfg=QString("CONFIG_PARAM%1HHNUM+%2+%3%1%4").arg(delimeter).arg(lst[0])\ |
138 QString hhnumCfg=QString("CONFIG_PARAM%1HHNUM+%2+%3%1%4").arg(delimeter).arg(lst[0])\ |
126 .arg(netTeamID)\ |
139 .arg(netTeamID)\ |
127 .arg(toAdd); |
140 .arg(toAdd); |
128 |
141 |
147 if(lst.size()<2) return; |
160 if(lst.size()<2) return; |
148 |
161 |
149 for(QMap<QString, QStringList>::iterator it=m_hwserver->m_gameCfg.begin(); it!=m_hwserver->m_gameCfg.end(); ++it) { |
162 for(QMap<QString, QStringList>::iterator it=m_hwserver->m_gameCfg.begin(); it!=m_hwserver->m_gameCfg.end(); ++it) { |
150 QStringList hhTmpList=it.key().split('+'); |
163 QStringList hhTmpList=it.key().split('+'); |
151 if(hhTmpList[0] == "HHNUM") { |
164 if(hhTmpList[0] == "HHNUM") { |
152 qDebug() << "hhnum config found"; |
|
153 if(hhTmpList[1]==lst[1]) { |
165 if(hhTmpList[1]==lst[1]) { |
154 qDebug() << "hhnum config team found with: " << lst[1] << ":" << it.value()[0].toUInt(); |
166 qDebug() << "removed " << it.value()[0].toUInt() << " hedgehogs"; |
155 m_hwserver->hhnum-=it.value()[0].toUInt(); |
167 m_hwserver->hhnum-=it.value()[0].toUInt(); |
156 break; |
168 break; |
157 } |
169 } |
158 } |
170 } |
159 } |
171 } |