GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Adam_Brown - 2016. január 11. - 21:08:18

Cím: Kick parancs használat
Írta: Adam_Brown - 2016. január 11. - 21:08:18
Sziasztok! Írtam egy kick parancsot, viszont hogyha beírom csak simán, hogy /kick, akkor azt írja ki, hogy magadat nem rúghatod ki!
És nem ezt szeretném, hanem azt, hogy Használata:....Kérdésem az lenne, hogy a használatát hova tegyem?
 
CMD:kick(playerid, params[])
{
new string[256];
new string2[256];
new kickeltid;
new ok[128];
new kickeltnev[MAX_PLAYER_NAME];
if(Belepve[playerid]==1)
{
    if(JatekosInfo[playerid][Admin]>=2)
    {
                        if(sscanf(params, \"{u[MAX_PLAYER_NAME]}{z[128]}\", kickeltid, ok))
                        {
                           if(kickeltid==INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, \"{ff0000}(( Angel Pine RPG: {ffffff}Nincs ilyen játékos! {ff0000}))\");
               else if(kickeltid==playerid) return SendClientMessage(playerid, -1, \"{ff0000}(( Angel Pine RPG: {ffffff}Magadat nem rúghatod ki! {ff0000}))\");
               else if(JatekosInfo[kickeltid][Admin] >= JatekosInfo[playerid][Admin])return SendClientMessage(playerid, -1, \"{ff0000}(( Angel Pine RPG: {ffffff}Veled egyforma vagy nálad nagyobb rangú játékost nem rúghatsz ki! {ff0000}))\");
               SetTimer(\"kick\", 500, 0);
                            GetPlayerName(playerid, nev, sizeof(nev));
                            GetPlayerName(kickeltid, kickeltnev, sizeof(kickeltnev));
                 format(string, sizeof(string), \"{ff0000}(( Angel Pine RPG: %s ki lett rúgva %s által. | Indok: %s {ff0000}))\", kickeltnev, nev, ok);
                 SendClientMessageToAll(-1, string);
               format(string2, sizeof(string2), \"{ff0000}(( Angel Pine RPG: {ffffff}Ki lettél rúgva {ff0000}%s {ffffff}által. | Indok: {ff0000}%s ))\", playerid, ok);
               SendClientMessage(playerid, -1, string2);
               printf(\"%s ki lett rúgva %s által. | Indok: %s \", kickeltnev, nev, ok);
                        }else SendClientMessage(playerid, -1, \"{ff0000}(( Angel Pine RPG: {c4ff00}Használat: /kick [Játékos ID/ Név] [indok] {ff0000}))\");
}else SendClientMessage(playerid, -1, \"{ff0000}(( Angel Pine RPG: {ffffff}Nincs jogod a parancs használatához! {ff0000}))\");
}
return 1;
}
Cím: Kick parancs használat
Írta: 1Mark6 - 2016. január 12. - 07:10:46
Az első ami szembetünt, az az hogy {,} jeleket használsz sscanf darabolásnál.
A sscanfba ezek a jelek a kihagyást, jelentik. és mivel mind a kettőt kihagyod ezért fordulhat elő a problémád.
És ha már egyszer, a kickeltid nevű változó, az integer akkor a darabolás mentén ne legyen u[MAX_PLAYER_NAME]
Cím: Kick parancs használat
Írta: TengeriMalac - 2016. január 12. - 08:00:02
a \"kick\" függvényeget megnézném.. hogy mi alapján dobod ki a játékost, ha nincs mellé paraméter megadva :)
oké, hogy szinezgetni nagyon tudsz, és szeretsz, de ezt leszámítva egy halom figyelmetlenség, és hiba az egész..
angel pine egy kis hely, kezdő RPGnek megfelel, de ha ilyen alapvető hibákat ejtessz, inkább kezdj valami egyszerűbbel. :)
 
CMD:kick(playerid, params[])
{
new string[128];
new kickeltid;
new ok[128];
new nev[MAX_PLKAYER_NAME];
new kickeltnev[MAX_PLAYER_NAME];
if(Belepve[playerid] == 0) return SendClientMessage(playerid, -1, \"{ff0000}(( Angel Pine RPG: {ffffff}Nincs jogod a parancs használatához! {ff0000}))\");
if(JatekosInfo[playerid][Admin] < 2) return SendClientMessage(playerid, -1, \"{ff0000}(( Angel Pine RPG: {ffffff}Nincs jogod a parancs használatához! {ff0000}))\");
if(sscanf(params, \"u[MAX_PLAYER_NAME]{z[128]}\", kickeltid, ok)) return SendClientMessage(playerid, -1, \"{ff0000}(( Angel Pine RPG: {c4ff00}Használat: /kick [Játékos ID/ Név] [indok] {ff0000}))\");
if(kickeltid == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, \"{ff0000}(( Angel Pine RPG: {ffffff}Nincs ilyen játékos! {ff0000}))\");
if(kickeltid == playerid) return SendClientMessage(playerid, -1, \"{ff0000}(( Angel Pine RPG: {ffffff}Magadat nem rúghatod ki! {ff0000}))\");
if(JatekosInfo[kickeltid][Admin] >= JatekosInfo[playerid][Admin])return SendClientMessage(playerid, -1, \"{ff0000}(( Angel Pine RPG: {ffffff}Veled egyforma vagy nálad nagyobb rangú játékost nem rúghatsz ki! {ff0000}))\");
SetTimer(\"kick\", 500, 0);
GetPlayerName(playerid, nev, sizeof(nev));
GetPlayerName(kickeltid, kickeltnev, sizeof(kickeltnev));
format(string, sizeof(string), \"{ff0000}(( Angel Pine RPG: %s ki lett rúgva %s által. | Indok: %s {ff0000}))\", kickeltnev, nev, ok);
SendClientMessageToAll(-1, string);
printf(\"%s ki lett rúgva %s által. | Indok: %s \", kickeltnev, nev, ok);
format(string, sizeof(string), \"{ff0000}(( Angel Pine RPG: {ffffff}Ki lettél rúgva {ff0000}%s {ffffff}által. | Indok: {ff0000}%s ))\", nev, ok);
SendClientMessage(playerid, -1, string);
return 1;
}