Na gut, dann will ich mal etwas konkreter werden...
changes/fixes:
- Missbrauch des resetskills-commands
globale Variable einführen, line 128
new bool:AllowReset = true;
in Funktion plugin_init() folgende Zeile hinzufügen
register_logevent("round_start",2,"0=World triggered","1=Round_Start")
diese 2 neuen Funktionen hinzufügen
public round_start(id)
{
AllowReset = true;
// Allow only in first 12 sec of a round to reset skills
set_task(12.0,"ToggleAllowReset")
}
public ToggleAllowReset()
{
AllowReset = false;
}
am Beginn der Funktion ResetSkills(id) if-Abfrage hinzufügen
if (!AllowReset) {
Nintendo_StatusHUD(id, "You can only reset skills at the beginning of a round", 1);
return PLUGIN_HANDLED;
}
............................................................................................................
- erhöhte xp-rewards
Änderung der Zeile 589 und 591
if(headshot)
AddXP(attacker, 18);
else
AddXP(attacker, 12);
...........................................................................................................
- mehr xp-events
in Funktion plugin_log()
if-Abfrage zu Individual Events folgendermaßen abändern
//Individual Events
if(equal(logdata1, "triggered"))
{
//Get the username and id out
parse_loguser(logdata0, name, 31);
id = get_user_index(name);
//Hostage Events
if(equal(logdata2, "Rescued_A_Hostage"))
{
client_print(id, print_chat, "[Nintendo Mod] You just earned 15XP for rescuing a hostage");
AddXP(id, 15);
}
else if(equal(logdata2, "Killed_A_Hostage"))
{
client_print(id, print_chat, "[Nintendo Mod] You just lost 10XP for killing a hostage");
AddXP(id, -10);
}
//Bomb Events
else if(equal(logdata2, "Planted_The_Bomb"))
{
client_print(id, print_chat, "[Nintendo Mod] You just earned 20XP for planting the bomb");
AddXP(id, 20);
}
else if(equal(logdata2, "Defused_The_Bomb"))
{
client_print(id, print_chat, "[Nintendo Mod] You just earned 20XP for defusing the bomb");
AddXP(id, 20);
}
// VIP Events
else if(equal(logdata2, "VIP_Assassinated"))
{
client_print(id, print_chat, "[Nintendo Mod] You just earned 20XP for assassinating the VIP");
AddXP(id, 20);
}
else if(equal(logdata2, "Escaped_As_VIP"))
{
client_print(id, print_chat, "[Nintendo Mod] You just earned 20XP for escaping as VIP");
AddXP(id, 20);
}
}
if-Abfrage zu Team Events folgendermaßen abändern
//Team Events
else if(equal(logdata3,"All_Hostages_Rescued"))
{
new players[32], num, player;
get_players(players, num);
for(new i = 0; i <= num; i++)
{
player = players[i];
if(Nintendo_IsValidPlayer(player) && cs_get_user_team(player) == CS_TEAM_CT)
{
client_print(player, print_chat, "[Nintendo Mod] You just earned 20XP for rescuing all the hostages");
AddXP(player, 20);
}
}
}
else if(equal(logdata3,"Hostages_Not_Rescued"))
{
new players[32], num, player;
get_players(players, num);
for(new i = 0; i <= num; i++)
{
player = players[i];
if(Nintendo_IsValidPlayer(player) && cs_get_user_team(player) == CS_TEAM_T)
{
client_print(player, print_chat, "[Nintendo Mod] You just earned 20XP for preventing the rescue of the hostages");
AddXP(player, 20);
}
}
}
else if(equal(logdata3,"Target_Bombed"))
{
new players[32], num, player;
get_players(players, num);
for(new i = 0; i <= num; i++)
{
player = players[i];
if(Nintendo_IsValidPlayer(player) && cs_get_user_team(player) == CS_TEAM_T)
{
client_print(player, print_chat, "[Nintendo Mod] You just earned 20XP for bombing the target");
AddXP(player, 20);
}
}
}
else if(equal(logdata3,"Target_Saved"))
{
new players[32], num, player;
get_players(players, num);
for(new i = 0; i <= num; i++)
{
player = players[i];
if(Nintendo_IsValidPlayer(player) && cs_get_user_team(player) == CS_TEAM_CT)
{
client_print(player, print_chat, "[Nintendo Mod] You just earned 20XP for saving the target");
AddXP(player, 20);
}
}
}
else if(equal(logdata3,"VIP_Escaped"))
{
new players[32], num, player;
get_players(players, num);
for(new i = 0; i <= num; i++)
{
player = players[i];
if(Nintendo_IsValidPlayer(player) && cs_get_user_team(player) == CS_TEAM_CT)
{
client_print(player, print_chat, "[Nintendo Mod] You just earned 20XP for the VIP could escape");
AddXP(player, 20);
}
}
}
else if(equal(logdata3,"VIP_Not_Escaped"))
{
new players[32], num, player;
get_players(players, num);
for(new i = 0; i <= num; i++)
{
player = players[i];
if(Nintendo_IsValidPlayer(player) && cs_get_user_team(player) == CS_TEAM_T)
{
client_print(player, print_chat, "[Nintendo Mod] You just earned 20XP for preventing the escape of the VIP");
AddXP(player, 20);
}
}
}
.........................................................................................................
-> abgeändeter Code für mySQL-Version [attachment=1964]
- Abänderung im Parachute-Plugin
neue Globalvariable
new Float:player_grav[33]
in Funktion plugin_init() am Anfang folgendes hinzufügen
for(new a = 0; a < 33; a++) {
player_grav[a] = 0.0
}
in Funktion client_disconnect(id) als erste Zeile hinzufügen
alle Vorkommen von
set_user_gravity(id, 1.0)
durch folgendes ersetzen
set_user_gravity(id, player_grav[id])
diese if-Abfrage vor den set_user_gravity(id, 0.1) Befehl schreiben (ca. line 470)
if (player_grav[id] == 0.0)
player_grav[id] = get_user_gravity(id)
auch hier nochmal den abgeänderten Quellcode
[attachment=1965]
hoffe, konnte dich zufriedenstellen, SweetPie ^^
MfG, Mephisto