-
Helló.
Nem mûködik a zcmd-s /kick parancsom.. De a /warn igen..
Mi lehet a baja? Legújabb Sscanfot használom.
CMD:kick(playerid, params[])
{
printf(\"%s beirta a /kick parancsot.\",JatekosNeve(playerid));
if(PlayerInfo[playerid][Admin] >= 1)
{
new id;
new ok;
if(sscanf(params, \"us\", id,ok)) return SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /kick [id][ok]\");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Nincs ilyen játékos / ID\");
GetPlayerName(playerid, nev,24);
GetPlayerName(id, name2, sizeof(name2));
format(string,128,\"%s ki lett rúgva %s által. !=! Indok: %s.\", name2,nev, ok);
SendClientMessageToAll(COLOR_RED, string);
Kick(id);
printf(string);
return 1;
} else { SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin.\"); }
return 1;
}
és
CMD:warn(playerid, params[])
{
printf(\"%s beirta a /warn parancsot.\",JatekosNeve(playerid));
if(PlayerInfo[playerid][Admin] >= 1)
{
new id;
new ok[128];
if(sscanf(params, \"us\", id,ok)) return SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /warn [id][ok]\");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Nincs ilyen játékos / ID\");
GetPlayerName(playerid, nev,24);
GetPlayerName(id, name2, sizeof(name2));
PlayerInfo[id][Warn] ++;
format(string,128,\"%st figyelmeztette %s, Indok: %s, Figyelmeztetések:%d\", name2,nev, ok,PlayerInfo[id][Warn]);
SendClientMessageToAll(COLOR_RED, string);
if(PlayerInfo[id][Warn] == 5)
{
SCM(id,COLOR_RED, \"Sajnos összejött az öt figyelmeztetésed. A rendszer bannolt. A fórumon kérhetsz feloldást.\");
PlayerInfo[id][Tilt] = 1;
Ban(id);
}
printf(string);
return 1;
} else { SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin.\"); }
return 1;
}
Megvan az öt warn és bannol.. De a /kick semmiért nem akar jó lenni.
-
CMD:kick(playerid, params[])
{
printf(\"%s beirta a /kick parancsot.\",JatekosNeve(playerid));
if(PlayerInfo[playerid][Admin] >= 1)
{
new id;
new ok;
if(sscanf(params, \"us\", id,ok)) return SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /kick [id][ok]\");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Nincs ilyen játékos / ID\");
GetPlayerName(playerid, nev,24);
GetPlayerName(id, name2, sizeof(name2));
format(string,128,\"%s ki lett rúgva %s által. !=! Indok: %s.\", name2,nev, ok);
SendClientMessageToAll(COLOR_RED, string);
Kick(id);
printf(string);
}
else SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin.\");
return 1;
}
Minek 2 return 1? Am próbáld így.
-
Nem jó így sem.
-
Mi a hiba?
-
CMD:kick(playerid, params[])
{
printf(\"%s beirta a /kick parancsot.\",JatekosNeve(playerid));
if(PlayerInfo[playerid][Admin] >= 1)
{
new
id,
ok;
if(sscanf(params, \"us\", id,ok))
{
if(id != INVALID_PLAYER_ID)
{
GetPlayerName(playerid, nev,24);
GetPlayerName(id, name2, sizeof(name2));
format(string,128,\"%s ki lett rúgva %s által. !=! Indok: %s.\", name2,nev, ok);
SendClientMessageToAll(COLOR_RED, string);
Kick(id);
printf(string);
}
else SendClientMessage(playerid, COLOR_RED, \"Nincs ilyen játékos\");
}
else SendClientMessage(playerid, COLOR_RED, \"Használat: /kick ID Ok\");
}
else SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin.\");
return 1;
}
ha így sem jó akkor az \"u\" helyett rakj \"i\"-t.. max nevet nem tudsz beírni.
-
Hibát nem ír. Egyszerûen kirúgok egy játékost, aztán egy másikat szeretnék, akor annak a nevét írja ki, akit elõször rúgtam ki annak a nevét írja ki ismét. Kirúgni pedig senkit nem rúg.
-
Így próbáld.
CMD:kick(playerid, params[])
{
printf(\"%s beirta a /kick parancsot.\",JatekosNeve(playerid));
if(PlayerInfo[playerid][Admin] < 1) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin.\");
new id, ok[128], name[MAX_PLAYER_NAME], gname[MAX_PLAYER_NAME];
if(sscanf(params, \"us[128]\", id,ok)) return SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /kick [id][ok]\");
GetPlayerName(playerid, name,sizeof(name));
GetPlayerName(id, gname, sizeof(gname));
format(string,128,\"%s ki lett rúgva %s által. !=! Indok: %s.\", gname,name,ok);
SendClientMessageToAll(COLOR_RED, string);
Kick(id);
printf(string);
return 1;
}
-
Nem olvastam a változásokat, de régen így volt.
CMD:kick( playerid, params[ ] )
{
new
iTypedId,
szReasonText[ 128 ]
;
if ( PlayerInfo[ playerid ][ Admin ] >= 1 )
return SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin.\");
if ( sscanf( params, \"uS(No Reason Given)[128]\", iTypedId, szReasonText ) )
return SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /kick [id][ok]\");
if ( IsPlayerConnected( iTypedId ) && iTypedId != INVALID_PLAYER_ID && iTypedId != playerid)
{
new
szAdminName[ MAX_PLAYER_NAME ],
szTypedName[ MAX_PLAYER_NAME ],
szString [ 180 ]
;
GetPlayerName( iTypedId, szTypedName, sizeof szTypedName );
GetPlayerName( playerid, szAdminName, sizeof szAdminName );
format( szString, sizeof szString, \"%s ki lett rúgva %s által. !=! Indok: %s.\", szTypedName, szAdminName, szReasonText );
SendClientMessageToAll( 0xAA0000FF, szString );
Kick( iTypedId );
}
else
return SendClientMessage(playerid, 0xAA0000FF, \"Magadat nem rúghatod ki.\");
return 1;
}
-
vagy akár megpróbálhatod ezt:
CMD:kick(playerid, params[])
{
new
id,
ok[50],
KickerName[MAX_PLAYER_NAME],
KickedName[MAX_PLAYER_NAME],
Str[200],
Str2[50];
/*---------------------------------------------*/
if(sscanf(params,\"is[50]\",id,ok))return SendClientMessage(playerid,0x00FF00,\"HIBA: /kick [Játékos ID] [Ok]\");
{
if(PlayerInfo[playerid][Admin] >= 1)
{
if(IsPlayerConnected(id))
{
GetPlayerName(id, KickedName, sizeof(KickedName));
GetPlayerName(playerid, KickerName, sizeof(KickerName));
format(Str2, sizeof(Str2), \"%s használta a /kick parancsot.\", KickerName));
printf(Str2);
format(Str, sizeof(Str), \"** %s kickelte %s-t. Ok: %s\", KickerName, KickedName, ok);
SendClientMessageToAll(0x00FF00, Str);
Kick(id);
}
else SendClientMessage(playerid, COLOR_RED, \"A játékos nem elérhetõ.\");
}
}
return 1;
}
-
Így próbáld.
CMD:kick(playerid, params[])
{
printf(\"%s beirta a /kick parancsot.\",JatekosNeve(playerid));
if(PlayerInfo[playerid][Admin] < 1) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin.\");
new id, ok, name[MAX_PLAYER_NAME], gname[MAX_PLAYER_NAME];
if(sscanf(params, \"us\", id,ok)) return SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /kick [id][ok]\");
GetPlayerName(playerid, name,sizeof(name));
GetPlayerName(id, gname, sizeof(gname));
format(string,128,\"%s ki lett rúgva %s által. !=! Indok: %s.\", gname,name,ok);
SendClientMessageToAll(COLOR_RED, string);
Kick(id);
printf(string);
return 1;
}
Nemjó. ID 0 vagyok, beírtam, hogy /kick 1 asd és engem rúgott ki.
-
Javítottam a postot, hátha most jó
-
az sscanf-nál az U-t cseréld le I-re.. úgy nevet nem írhatsz be de menni fog.
-
Javítottam a postot, hátha most jó
Mot ezt írja ki folyamatosan: Használat: /kick [id][ok]
E: Jó lett!