[Source TUT]Authorization per Command ändern

11/23/2011 12:06 Jopsi332#1
Mir war langweilig und deswegen hab ich mal gemacht das man TEMPORÄR! die authorsation von sich selber und anderen Usern via Command setzen kann.
Wir brauchen nur die Functextcmd.cpp

1.
Ihr sucht
Code:
BOOL TextCmd_Level( CScanner & scanner )
Dadrüber fügt ihr ein

Code:
BOOL TextCmd_Updater( CScanner & scanner )
{
#ifdef __WORLDSERVER
	CUser* pUser	= (CUser*)scanner.dwValue;
	if( pUser->m_dwAuthorization = AUTH_ADMINISTRATOR )
	{
	if( !IsValidObj( pUser ) )
	{
		pUser->AddText( "Invalid user." );		
		return TRUE;
	}

	scanner.GetToken();
	u_long idTarget	= CPlayerDataCenter::GetInstance()->GetPlayerId( scanner.token );

	if( idTarget == 0 )
	{
	pUser->AddText("Invalid User!");
	}
	else
	{
		

	CUser* pTarget	= g_UserMng.GetUserByPlayerID( idTarget );	

	if( !IsValidObj( pTarget ) )
	{
		pUser->AddText( "Invalid User name." );		
		return TRUE;
	}


	scanner.GetToken();
	CString strRang = scanner.Token;
	
	if ( strRang == "Admin" ) 
	{
		pTarget->m_dwAuthorization = AUTH_ADMINISTRATOR;
		pTarget->UpdateParam();
		pTarget->AddText("Your Authorization where temporaly updatet! - Admin");
		pUser->AddText("Update Succes");
	}
	else if ( strRang == "Gamemaster1" )
	{
	pTarget->m_dwAuthorization = AUTH_GAMEMASTER1;
		pTarget->UpdateParam();
		pTarget->AddText("Your Authorization where temporaly updatet! - Gamemaster1");
		pUser->AddText("Update Succes");
	}
		else if ( strRang == "Gamemaster2" )
	{
	pTarget->m_dwAuthorization = AUTH_GAMEMASTER2;
		pTarget->UpdateParam();
		pTarget->AddText("Your Authorization where temporaly updatet! - Gamemaster2");
		pUser->AddText("Update Succes");
	}	
		else if ( strRang == "Gamemaster3" )
	{
	pTarget->m_dwAuthorization = AUTH_GAMEMASTER3;
		pTarget->UpdateParam();
		pTarget->AddText("Your Authorization where temporaly updatet! - Gamemaster3");
		pUser->AddText("Update Succes");
	}
	else if ( strRang == "Observer" )
	{
	pTarget->m_dwAuthorization = AUTH_OBSERVER;
		pTarget->UpdateParam();
		pTarget->AddText("Your Authorization where temporaly updatet! - Observer");
		pUser->AddText("Update Succes");
	}
	else if ( strRang == "General" )
	{
	pTarget->m_dwAuthorization = AUTH_GENERAL;
		pTarget->UpdateParam();
		pTarget->AddText("Your Authorization where temporaly updatet! - Player");
		pUser->AddText("Update Succes");
	}
		else if ( strRang == "Operator" )
	{
	pTarget->m_dwAuthorization = AUTH_OPERATOR;
		pTarget->UpdateParam();
		pTarget->AddText("Your Authorization where temporaly updatet! - Operator");
		pUser->AddText("Update Succes");
	}
			else if ( strRang == "Gamemaster" )
	{
	pTarget->m_dwAuthorization = AUTH_GAMEMASTER;
		pTarget->UpdateParam();
		pTarget->AddText("Your Authorization where temporaly updatet! - GameMaster");
		pUser->AddText("Update Succes");
	}
		else if ( strRang == "Helper" )
	{
	pTarget->m_dwAuthorization = AUTH_HELPER;
		pTarget->UpdateParam();
		pTarget->AddText("Your Authorization where temporaly updatet! - Helper");
		pUser->AddText("Update Succes");
	}
			else if ( strRang == "Journalist" )
	{
	pTarget->m_dwAuthorization = AUTH_JOURNALIST;
		pTarget->UpdateParam();
		pTarget->AddText("Your Authorization where temporaly updatet! - Journalist");
		pUser->AddText("Update Succes");
	}

	}
	}else{
	pUser->AddText("You don't have the right's to change Authorization!");
	}
#endif // __WORLDSERVER
	return TRUE;
}
dann sucht ihr nach

Code:
ON_TEXTCMDFUNC( TextCmd_Level,                 "level",              "lv",             "·¹º§",           "·¾",      TCM_SERVER, AUTH_GAMEMASTER3   , "·¹º§ ¼³Á¤ Çϱâ" )
dadrüber fügt ihr ein

Code:
	ON_TEXTCMDFUNC( TextCmd_Updater,                 "setauth",              "seta",             "·¹º§",           "·¾",      TCM_SERVER, AUTH_ADMINISTRATOR   , "·¹º§ ¼³Á¤ Çϱâ" )
jetz könnt ihr mit
/setauth oder /seta NAME RANG
die rechte ändern.
11/23/2011 12:16 Deda94#2
Total unnötig, einem GM gibt man den Befehl nicht & einem normalen User auch nicht.

Was bringt es einem Admin sich Admin zu machen? :awesome:

Edit:

Ahh jetzt seh ich das man einem anderen den Rang geben kann, naja trotzdem unnötig
11/23/2011 12:18 Jopsi332#3
man macht ja nicht sich sondern z.b. andere admin oder gm oder player z.b. wenn du merkst jemand pusht gerade machste schnell /setauth pusher General
11/23/2011 12:22 Deda94#4
Wenn ich merke das jemand pusht, verwarne ich ihn & kicke ihn evtl. ausm Team.. sowas mach ich nicht mal "ganz schnell", wäre irgendwie Assi ohne Beweise ihm gleich die Rechte zu klauen.. wenn er dann nichts gemacht hat leavt der vllt ohnehin das Team xD

Finds recht sinnlos

Abgesehen davon muss er on sein
11/23/2011 12:24 Jopsi332#5
natürlich muss er on sein wenns eh temprär ist .
DU könntest aber auch z.b. wenn du gerade online bist und zu viele user supporten musst dir wen aussuchen schnell helper rechte oder sonst was geben und helfen lassen zu supporten und nacher wd general geben
11/23/2011 12:26 Deda94#6
Ernenn ich halt jemand zu meinem Fragen-Beantwort-Bimbo ohne Rechte ganz ohne einen Rang.
11/23/2011 12:27 Jopsi332#7
ja oder du gibst ihm helfer rang mein gott ? XD
11/23/2011 12:36 Deda94#8
Ich weiss nicht wies bei dir ist aber auf einem Server wo einfach so Ränge verteilt werden aus Spaß an der Freud würden sicher nicht viele Leute spielen ;)

Zumal man einem Spieler 1min mal Rechte gibt & er sich ein Item erstellt, dadurch wird gepusht ... Allein durch die Funktion werden auf einem Server sehr schnell Pushing-Gerüchte aufkommen.
11/23/2011 12:41 Jopsi332#9
Quote:
Zumal man einem Spieler 1min mal Rechte gibt & er sich ein Item erstellt, dadurch wird gepusht ... Allein durch die Funktion werden auf einem Server sehr schnell Pushing-Gerüchte aufkommen.
es können ja nur Admins die authorization verändern, von daher wer seinen gm's, mapper etc. admin rechte gibt selber schuld?& wenn ein admin pusht ist der server sowieso nach 3 wochen down xD
Quote:
Ich weiss nicht wies bei dir ist aber auf einem Server wo einfach so Ränge verteilt werden aus Spaß an der Freud würden sicher nicht viele Leute spielen
und wieso sollte also dann ein admin von jedem aus spaß an der freude rechte ändern? wenn er einen grund dazu hat kan ner es so schnell machen anstatt inne db gehen player reloggen lassen die sache machen lassen wd inne db gehen nochmal reloggen lassen.
11/23/2011 12:44 Deda94#10
Deine Argumente sind stumpfsinnig.

Gib zu das diese Funktion viel mehr Nachteile als Vorteile mit sich bringt.
11/23/2011 12:47 Jopsi332#11
Deine "Das ist sinnlos weil man dann schneller pushen kann und so" argumente sind einfach nur dumm.
DU meinst man pusht da mit nur aber wenn ein Admin pusht ist er dumm

Diese funktion kann einem manche sachen sehr erleichtern.

Laut diener argumentation wäre ci, ak , cn usw. alles schwachsinn 's commands. damit kann man ja pushen?`
Pfogelx3
11/23/2011 13:01 Jopsi332#12
Du willst mir hier gerad erzählen wie toll man pushen kann.
Super sache und wieso erstellstu net einfach nen user das item und shcickst es ihm? kommt das selbe drauf raus
und wenn Admins pushen ist es denen doch eh egal ob ide erwischt werden.

Jetz stop flaiming das man pushen kann , tun doch eh genug fail admins so oder so.

Leute die diesen Command brauchen haben ihn nun. FERTIG!
11/23/2011 13:05 Deda94#13
Wer diesen Befehl braucht - Have Fun.

Ich habe auf die möglichen Folgen hingewiesen.
11/23/2011 13:07 Jopsi332#14
Du weißt folgen auf admin's hin das ihr server dann gepusht wird. von sich selber!(dem admin) Fail
11/23/2011 13:10 Deda94#15
Jop Admin's hast du so einen schlichten Verstand das du denkst die Welt wäre Kunterbunt, alles wäre Fair & jeder hat sich Lieb?

Ich will keine Namen nennen aber kenne mehr als genug Admin's die aus diesem Release nun ihren Vorteil ziehen würden.