Account system
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
-
-
ich glaub sushi ist grad tw on :D guck mal vorbei
-
JaP er ist auf einem VOLLEN server ^^
Und er hilft mir wahrscheinlich erst später :DDieser Beitrag wurde bereits 1 mal editiert, zuletzt von PizzaFreak ()
-
also, hinter "else", "if" und "while" und allen Klammern (nur diese { } ), brauchst du kein Semikolon, aber wenn du sowas hast wie: m_pPlayer->m_Inv = true; , dann musst du ein Semikolon machen...
//Edit natürlich auch hinter "else if" (wie du es so schön falsch gemacht hast :P )
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Assa ()
-
btw. sag mir bitte das du ein eigenes machst und nicht das von redfox kopierst! ):
-
würde helfen, wenn du die entsprechenden Zeilen mit anheftest :)
Im Moment scheint es so, als wenn du auf eine Variable vom Typ Boolean zugreifen möchtest, bzw. auf einen Member dieses (Daten-)Types, was bei Datentypen generell untersagt und auch meist nicht möglich ist.
Du müsstest nun eine eigene Klasse erstellen und mit der arbeiten ( was bei einem Accountsystem sowieso angebracht ist ;) ) -
wie pata sagte... ein paar mehr infos wären hilfreich
-
gamecontext.cpp
[cpp]else if(MsgID == NETMSGTYPE_CL_CALLVOTE) ; // <-- Zeile 819-964
{
if(g_Config.m_SvSpamprotection && pPlayer->m_LastVoteTry && pPlayer->m_LastVoteTry+Server()->TickSpeed()*3 > Server()->Tick())
return;
int64 Now = Server()->Tick();
pPlayer->m_LastVoteTry = Now;
if(pPlayer->GetTeam() == TEAM_SPECTATORS)
{
SendChatTarget(ClientID, "Spectators aren't allowed to start a vote.");
return;
}
if(m_VoteCloseTime)
{
SendChatTarget(ClientID, "Wait for current vote to end before calling a new one.");
return;
}
int Timeleft = pPlayer->m_LastVoteCall + Server()->TickSpeed()*60 - Now;
if(pPlayer->m_LastVoteCall && Timeleft > 0)
{
char aChatmsg[512] = {0};
str_format(aChatmsg, sizeof(aChatmsg), "You must wait %d seconds before making another vote", (Timeleft/Server()->TickSpeed())+1);
SendChatTarget(ClientID, aChatmsg);
return;
}
char aChatmsg[512] = {0};
char aDesc[VOTE_DESC_LENGTH] = {0};
char aCmd[VOTE_CMD_LENGTH] = {0};
CNetMsg_Cl_CallVote *pMsg = (CNetMsg_Cl_CallVote *)pRawMsg;
const char *pReason = pMsg->m_Reason[0] ? pMsg->m_Reason : "No reason given";
if(str_comp_nocase(pMsg->m_Type, "option") == 0)
{
CVoteOptionServer *pOption = m_pVoteOptionFirst;
while(pOption)
{
if(str_comp_nocase(pMsg->m_Value, pOption->m_aDescription) == 0)
{
str_format(aChatmsg, sizeof(aChatmsg), "'%s' called vote to change server option '%s' (%s)", Server()->ClientName(ClientID),
pOption->m_aDescription, pReason);
str_format(aDesc, sizeof(aDesc), "%s", pOption->m_aDescription);
str_format(aCmd, sizeof(aCmd), "%s", pOption->m_aCommand);
break;
}
pOption = pOption->m_pNext;
}
if(!pOption)
{
str_format(aChatmsg, sizeof(aChatmsg), "'%s' isn't an option on this server", pMsg->m_Value);
SendChatTarget(ClientID, aChatmsg);
return;
}
}
else if(str_comp_nocase(pMsg->m_Type, "kick") == 0)
{
if(!g_Config.m_SvVoteKick)
{
SendChatTarget(ClientID, "Server does not allow voting to kick players");
return;
}
if(g_Config.m_SvVoteKickMin)
{
int PlayerNum = 0;
for(int i = 0; i < MAX_CLIENTS; ++i)
if(m_apPlayers && m_apPlayers[i]->GetTeam() != TEAM_SPECTATORS)
++PlayerNum;
if(PlayerNum < g_Config.m_SvVoteKickMin)
{
str_format(aChatmsg, sizeof(aChatmsg), "Kick voting requires %d players on the server", g_Config.m_SvVoteKickMin);
SendChatTarget(ClientID, aChatmsg);
return;
}
}
int KickID = str_toint(pMsg->m_Value);
if(KickID < 0 || KickID >= MAX_CLIENTS || !m_apPlayers[KickID])
{
SendChatTarget(ClientID, "Invalid client id to kick");
return;
}
if(KickID == ClientID)
{
SendChatTarget(ClientID, "You can't kick yourself");
return;
}
if(Server()->IsAuthed(KickID))
{
SendChatTarget(ClientID, "You can't kick admins");
char aBufKick[128];
str_format(aBufKick, sizeof(aBufKick), "'%s' called for vote to kick you", Server()->ClientName(ClientID));
SendChatTarget(KickID, aBufKick);
return;
}
str_format(aChatmsg, sizeof(aChatmsg), "'%s' called for vote to kick '%s' (%s)", Server()->ClientName(ClientID), Server()->ClientName(KickID), pReason);
str_format(aDesc, sizeof(aDesc), "Kick '%s'", Server()->ClientName(KickID));
if (!g_Config.m_SvVoteKickBantime)
str_format(aCmd, sizeof(aCmd), "kick %d Kicked by vote", KickID);
else
{
char aAddrStr[NETADDR_MAXSTRSIZE] = {0};
Server()->GetClientAddr(KickID, aAddrStr, sizeof(aAddrStr));
str_format(aCmd, sizeof(aCmd), "ban %s %d Banned by vote", aAddrStr, g_Config.m_SvVoteKickBantime);
Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, "server", aCmd);
}
}
else if(str_comp_nocase(pMsg->m_Type, "spectate") == 0)
{
if(!g_Config.m_SvVoteSpectate)
{
SendChatTarget(ClientID, "Server does not allow voting to move players to spectators");
return;
}
int SpectateID = str_toint(pMsg->m_Value);
if(SpectateID < 0 || SpectateID >= MAX_CLIENTS || !m_apPlayers[SpectateID] || m_apPlayers[SpectateID]->GetTeam() == TEAM_SPECTATORS)
{
SendChatTarget(ClientID, "Invalid client id to move");
return;
}
if(SpectateID == ClientID)
{
SendChatTarget(ClientID, "You can't move yourself");
return;
}
str_format(aChatmsg, sizeof(aChatmsg), "'%s' called for vote to move '%s' to spectators (%s)", Server()->ClientName(ClientID), Server()->ClientName(SpectateID), pReason);
str_format(aDesc, sizeof(aDesc), "move '%s' to spectators", Server()->ClientName(SpectateID));
str_format(aCmd, sizeof(aCmd), "set_team %d -1 %d", SpectateID, g_Config.m_SvVoteSpectateRejoindelay);
}
if(aCmd[0])
{
SendChat(-1, CGameContext::CHAT_ALL, aChatmsg);
StartVote(aDesc, aCmd, pReason);
pPlayer->m_Vote = 1;
pPlayer->m_VotePos = m_VotePos = 1;
m_VoteCreator = ClientID;
pPlayer->m_LastVoteCall = Now;
}
}
[/cpp] -
Patafix: Da war ein Link mit dem Sourcecode eines Accountsystems drin.
Glaube das hilft dem Spacko eher da er sowieso 0 coden kann und nicht mal lesen was im Error Output steht.
Die ganzen Spasten sollten alle gebannt werden.
Edit Pata: github.com/fisted/teeworlds/tree/account, wäre nett wenn du infos freundlichr verpacken könntest ;)Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Patafix ()
-
Wieso gibts du uns die Zeilen 819-964, wenn die Fehler in den Zeilen 800-820 und 967-1022 liegen ? ...
-
gleich in der ersten Zeile... was soll das ";" da? Das muss da erstmal weg xD
-
ich hatte solang nicht geschrieben weil ich eig aufhören wollte mit coden.
@Botox: Danke für die bezeichnung Spacko!
-
Teilen
- Facebook 0
- Twitter 0
- Google Plus 0
- Reddit 0