Unknown Command
#1

Hello. Well after i scripted abit in my script, when i type /kick or /stats it says unknown command but in the script it is added. How come? Please tell me. Happy new year too!!
Reply
#2

show us both commands and we may tell you what's wrong with it

for reference,
there are some things which can cause a "unknown command" even when the command is present in the script:
Quote:
Originally Posted by CutX
Посмотреть сообщение
for example, i got a array which is 5 long, called "string".
the string is filled with "hello"

it'll look like this:
[H] -> 0
[e] -> 1
[l] -> 2
[l] -> 3
[o] -> 4
[\0] -> 5 (NULL char)

but now a loop is trying to do something like this:
PHP код:
//lets say i is 6
printf("%c",string[i]); 
this could cause a "SERVER : Unknown Command" maybe
not sure...
//Edit it will cause the error, not maybe

Code-example:
PHP код:
new strxs[5];
YCMD:lol(playeridparams[], help)
{
    
format(strxs,sizeof strxs,"%s","Hello");
    for(new 
i=0i<10i++)
    {
    
printf("%c",strxs[i]);
    }
    return 
1;

this compiles without errors, but causes an "SERVER : Unknown Command" when you use it.
the chars are printed to the console until '\0' when 'i' moving on to being '6', the error comes in
looping trough something which doesen't exist can cause such things.


it even didn't print the "o" xD just fucked up

you could also run that
Код:
#include <a_samp>

new strxs[5];

main()
{
    format(strxs,sizeof strxs,"%s","Hello");
    for(new i=0; i<10; i++)
    {
    printf("%c",strxs[i]);
    } 
    return 1;
}
here: http://slice-vps.nl:7070/
and you'll get: "Accessing element at index 5 past array upper bound 4"
Reply
#3

Here is the stats cmd
Код:
CMD:stats(playerid, params[]) {
	if (gPlayerLogged{playerid} != 0) {
		ShowStats(playerid,playerid);
	}
	return 1;
}
Reply
#4

Post ShowStats.
Reply
#5

Код:
ShowStats(playerid,targetid)
{
	if(IsPlayerConnected(targetid)) {
	    SendClientMessageEx(playerid, COLOR_GREEN,"___________________________________________________________________________________________________");
		new cash =  GetPlayerCash(targetid);
		new sext[16], std[20], employer[64], rank[64], division[64], jtext2[20], jtext[20], pnumber[20], facfam[20];
		if(PlayerInfo[targetid][pPnumber] == 0) pnumber = "None"; else format(pnumber, sizeof(pnumber), "%d", PlayerInfo[targetid][pPnumber]);
		if(PlayerInfo[targetid][pSex] == 1) { sext = "Male"; } else { sext = "Female"; }
		switch(STDPlayer[targetid])
		{
		    case 1: std = "Chlamydia";
		    case 2: std = "Gonorrhea";
		    case 3: std = "Syphilis";
		    default: std = "None";
		}
		facfam = "Faction";
		if(PlayerInfo[targetid][pFMember] < 255)
		{
		    facfam = "Family"; division = "None";
			format(employer, sizeof(employer), "%s", FamilyInfo[PlayerInfo[targetid][pFMember]][FamilyName]);
			switch(PlayerInfo[targetid][pRank])
			{
				case 1: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pFMember]][FamilyRank1]);
				case 2: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pFMember]][FamilyRank2]);
				case 3: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pFMember]][FamilyRank3]);
				case 4: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pFMember]][FamilyRank4]);
				case 5: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pFMember]][FamilyRank5]);
	  			case 6: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pFMember]][FamilyRank6]);
				default: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pFMember]][FamilyRank1]);
			}
		}
		else GetPlayerFactionInfo(targetid, rank, division, employer);
		switch(PlayerInfo[targetid][pJob])
		{
			case 1: jtext = "Detective";
			case 2: jtext = "Lawyer";
			case 3: jtext = "Whore";
			case 4: jtext = "Drugs Dealer";
			//case 5: jtext = "Car Jacker";
			case 6: jtext = "News Reporter";
			case 7: jtext = "Car Mechanic";
			case 8: jtext = "Bodyguard";
			case 9: jtext = "Arms Dealer";
			case 10: jtext = "Car Dealer";
			case 12: jtext = "Boxer";
			case 14: jtext = "Drug Smuggler";
			case 15: jtext = "Paper Boy";
			case 16: jtext = "Trucker";
			case 17: jtext = "Taxi Driver";
			case 18: jtext = "Craftsman";
			case 19: jtext = "Bartender";
			case 20: jtext = "Trucker";
			case 21: jtext = "Pizza Boy";
			default: jtext = "None";
		}
		switch(PlayerInfo[targetid][pJob2])
		{
			case 1: jtext2 = "Detective";
			case 2: jtext2 = "Lawyer";
			case 3: jtext2 = "Whore";
			case 4: jtext2 = "Drugs Dealer";
			//case 5: jtext2 = "Car Jacker";
			case 6: jtext2 = "News Reporter";
			case 7: jtext2 = "Car Mechanic";
			case 8: jtext2 = "Bodyguard";
			case 9: jtext2 = "Arms Dealer";
			case 10: jtext2 = "Car Dealer";
			case 12: jtext2 = "Boxer";
			case 14: jtext2 = "Drug Smuggler";
			case 15: jtext2 = "Paper Boy";
			case 16: jtext2 = "Trucker";
			case 17: jtext2 = "Taxi Driver";
			case 18: jtext2 = "Craftsman";
			case 19: jtext2 = "Bartender";
			case 20: jtext2 = "Trucker";
			case 21: jtext2 = "Pizza Boy";
			default: jtext2 = "None";
		}
		new jlevel, jlevel2;
		switch(PlayerInfo[targetid][pJob])
		{
			case 1:
			{
					new skilllevel = PlayerInfo[targetid][pDetSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
					else if(skilllevel >= 401) { jlevel = 5; }
			}
			case 2:
			{
					new skilllevel = PlayerInfo[targetid][pLawSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
					else if(skilllevel >= 401) { jlevel = 5; }
			}
			case 3:
			{
					new skilllevel = PlayerInfo[targetid][pSexSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
					else if(skilllevel >= 401) { jlevel = 5; }
			}
			case 4:
			{
					new skilllevel = PlayerInfo[targetid][pDrugsSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
					else if(skilllevel >= 401) { jlevel = 5; }
			}
	  		case 7:
			{
					new skilllevel = PlayerInfo[targetid][pMechSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
					else if(skilllevel >= 401) { jlevel = 5; }
			}
			case 9:
			{
					new skilllevel = PlayerInfo[targetid][pArmsSkill];
					if(skilllevel >= 0 && skilllevel < 50) { jlevel = 1; }
					else if(skilllevel >= 50 && skilllevel < 100) { jlevel = 2; }
					else if(skilllevel >= 100 && skilllevel < 200) { jlevel = 3; }
					else if(skilllevel >= 200 && skilllevel < 400) { jlevel = 4; }
					else if(skilllevel >= 400) { jlevel = 5; }
			}
			case 12:
			{
					new skilllevel = PlayerInfo[targetid][pBoxSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
					else if(skilllevel >= 401) { jlevel = 5; }
			}
			case 14: jlevel = 1;
			case 20:
			{
					new skilllevel = PlayerInfo[targetid][pTruckSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
					else if(skilllevel >= 401) { jlevel = 5; }
			}
			default: jlevel = 0;
		}
		switch(PlayerInfo[targetid][pJob2])
		{
			case 1:
			{
					new skilllevel = PlayerInfo[targetid][pDetSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
					else if(skilllevel >= 401) { jlevel2 = 5; }
			}
			case 2:
			{
					new skilllevel = PlayerInfo[targetid][pLawSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
					else if(skilllevel >= 401) { jlevel2 = 5; }
			}
			case 3:
			{
					new skilllevel = PlayerInfo[targetid][pSexSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
					else if(skilllevel >= 401) { jlevel2 = 5; }
			}
			case 4:
			{
					new skilllevel = PlayerInfo[targetid][pDrugsSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
					else if(skilllevel >= 401) { jlevel2 = 5; }
			}
	  		case 7:
			{
					new skilllevel = PlayerInfo[targetid][pMechSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
					else if(skilllevel >= 401) { jlevel2 = 5; }
			}
			case 9:
			{
					new skilllevel = PlayerInfo[targetid][pArmsSkill];
					if(skilllevel >= 0 && skilllevel < 50) { jlevel2 = 1; }
					else if(skilllevel >= 50 && skilllevel < 100) { jlevel2 = 2; }
					else if(skilllevel >= 100 && skilllevel < 200) { jlevel2 = 3; }
					else if(skilllevel >= 200 && skilllevel < 400) { jlevel2 = 4; }
					else if(skilllevel >= 400) { jlevel2 = 5; }
			}
			case 12:
			{
					new skilllevel = PlayerInfo[targetid][pBoxSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
					else if(skilllevel >= 401) { jlevel2 = 5; }
			}
			case 14: jlevel2 = 1;
			case 20:
			{
					new skilllevel = PlayerInfo[targetid][pTruckSkill];
					if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
					else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
					else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
					else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
					else if(skilllevel >= 401) { jlevel2 = 5; }
			}
			default: jlevel2 = 0;
		}
		new drank[20];
		switch(PlayerInfo[targetid][pDonateRank])
		{
			case 1: drank = "Bronze";
			case 2: drank = "Silver";
			case 3: drank = "Gold";
			case 4: drank = "Platinum";
			case 5: drank = "Moderator";
			default: drank = "None";
		}
		new insur[20];
		switch(PlayerInfo[targetid][pInsurance])
		{
			case 1: insur = "County General";
			case 2: insur = "All Saints";
			case 3: insur = "Red County";
			case 4: insur = "Fort Carson";
			case 5: insur = "San Fierro";
			case 6: insur = "Club VIP";
			case 7: insur = "Home care";
			case 9: insur = "El Quabrados";
			case 10: insur = "Demorgan";
			default: insur = "None";
		}
		new married[20];
		strmid(married, PlayerInfo[targetid][pMarriedTo], 0, strlen(PlayerInfo[targetid][pMarriedTo]), 255);
		new upgradep = PlayerInfo[targetid][gPupgrade];
		new age = PlayerInfo[targetid][pAge];
		new ptime = PlayerInfo[targetid][pConnectTime];
		new bigfish = PlayerInfo[targetid][pBiggestFish];
		new crimes = PlayerInfo[targetid][pCrimes];
		new arrests = PlayerInfo[targetid][pArrested];
		new pot = PlayerInfo[targetid][pPot];
		new crack = PlayerInfo[targetid][pCrack];
		new mats = PlayerInfo[targetid][pMats];
		new wanted = PlayerInfo[targetid][pWantedLevel];
		new level = PlayerInfo[targetid][pLevel];
		new exp = PlayerInfo[targetid][pExp];
		new account = PlayerInfo[targetid][pAccount];
		new nxtlevel = PlayerInfo[targetid][pLevel]+1;
		new expamount = nxtlevel*levelexp;
		new costlevel = nxtlevel*levelcost;//10k for testing purposes
		new housekey = PlayerInfo[targetid][pPhousekey];
		new housekey2 = PlayerInfo[targetid][pPhousekey2];
		new rentkey = PlayerInfo[targetid][pRenting];
		new radiofreq = PlayerInfo[targetid][pRadioFreq];
		new intir = GetPlayerInterior(targetid);
		new tokens = PlayerInfo[targetid][pTokens];
		new ptokens = PlayerInfo[targetid][pPaintTokens];
		new checks = PlayerInfo[targetid][pChecks];
		new Float:shealth = PlayerInfo[targetid][pSHealth];
		//new Float:sarmor = PlayerInfo[targetid][pSArmor];
		new Float:health, Float:armor;
		new packages = GetPVarInt(targetid, "Packages");
		new crates = PlayerInfo[targetid][pCrates];
		new rope = PlayerInfo[targetid][pRope],
			cigars = PlayerInfo[targetid][pCigar],
			sprunk = PlayerInfo[targetid][pSprunk],
			spray = PlayerInfo[targetid][pSpraycan],
			realvw = GetPlayerVirtualWorld(targetid),
			vw = PlayerInfo[targetid][pVW],
			warns = PlayerInfo[targetid][pWarns],
			jailt = PlayerInfo[targetid][pJailTime],
			wjailt = PlayerInfo[targetid][pBeingSentenced];
		GetPlayerHealth(targetid,health);
		GetPlayerArmour(targetid,armor);
		new Float:px,Float:py,Float:pz;
		GetPlayerPos(targetid, px, py, pz);
		new totalwealth;
		new name[MAX_PLAYER_NAME];
		GetPlayerName(targetid, name, sizeof(name));
		new nmutes = PlayerInfo[targetid][pNMuteTotal];
		new admutes = PlayerInfo[targetid][pADMuteTotal];
		totalwealth = account + cash;
		if(PlayerInfo[targetid][pPhousekey] != INVALID_HOUSE_ID && strcmp(name, HouseInfo[PlayerInfo[targetid][pPhousekey]][hOwner], true) == 0) totalwealth += HouseInfo[PlayerInfo[targetid][pPhousekey]][hSafeMoney];
		if(PlayerInfo[targetid][pPhousekey2] != INVALID_HOUSE_ID && strcmp(name, HouseInfo[PlayerInfo[targetid][pPhousekey2]][hOwner], true) == 0) totalwealth += HouseInfo[PlayerInfo[targetid][pPhousekey2]][hSafeMoney];
		new coordsstring[128];
		format(coordsstring, sizeof(coordsstring),"%s - Level %d | %s | Age: %d | Total wealth: $%d | Playing hours: %d | Phone number: %s | Warnings: %d",GetPlayerNameEx(targetid), level, sext, age, totalwealth, ptime, pnumber, warns);
		SendClientMessageEx(playerid, COLOR_WHITE,coordsstring);
		format(coordsstring, sizeof(coordsstring), "Cash: $%d | Bank balance: $%d | Upgrade points: %d | Spawn armor: %.0f | Next level: %d/%d hours ($%d)", cash, account, upgradep, shealth, exp, expamount, costlevel);
		SendClientMessageEx(playerid, COLOR_GRAD1,coordsstring);
		format(coordsstring, sizeof(coordsstring), "%s: %s | Rank: %s (%d) | Division: %s | Job: %s (level: %d) | Job 2: %s (level: %d)", facfam, employer, rank, PlayerInfo[targetid][pRank], division, jtext,jlevel,jtext2, jlevel2);
		SendClientMessageEx(playerid, COLOR_GRAD5,coordsstring);
		format(coordsstring, sizeof(coordsstring), "Crimes: %d | Arrests: %d | Insurance: %s | Wanted level: %d | Health: %.1f | Armor: %.1f | Paintball Tokens: %d",crimes,arrests,insur, wanted, health, armor, ptokens);
		SendClientMessageEx(playerid, COLOR_GRAD1,coordsstring);
		format(coordsstring, sizeof(coordsstring), "Married to: %s | Biggest fish: %d | Pot: %d | Crack: %d | Packages: %d | Crates: %d | Radio frequency: %d khz",married,bigfish,pot,crack,packages,crates, radiofreq);
		SendClientMessageEx(playerid, COLOR_GRAD5,coordsstring);
		format(coordsstring, sizeof(coordsstring), "Materials: %d | Rope: %d | Cigars: %d | Sprunk: %d | Spray: %d | Screwdrivers: %d | VIP tokens: %d | Checks: %d | VIP: %s",mats,rope,cigars,sprunk,spray, PlayerInfo[targetid][pScrewdriver],tokens,checks,drank);
		SendClientMessageEx(playerid, COLOR_GRAD1,coordsstring);
		format(coordsstring, sizeof(coordsstring), "ADMutes: %d | NMutes: %d | RMutes: %d | Weapons Restricted: %d | Gang Warns: %d", admutes, nmutes, PlayerInfo[targetid][pRMutedTotal],PlayerInfo[targetid][pWRestricted], PlayerInfo[targetid][pGangWarn]);
		SendClientMessageEx(playerid, COLOR_GRAD1,coordsstring);
		if (PlayerInfo[playerid][pAdmin] >= 2)
		{
		    format(coordsstring, sizeof(coordsstring), "House: %d | House 2: %d | Renting: %d | Int: %d | VW: %d | Real VW: %d | Jail: %d sec | WJail: %d sec | AFK: %i", housekey,housekey2,rentkey,intir,vw,realvw,jailt,wjailt, playerAFKTime[targetid]);
		    SendClientMessageEx(playerid, COLOR_GRAD5,coordsstring);
		}
		if (PlayerInfo[playerid][pAdmin] >= 1337)
		{
		    if(PlayerInfo[targetid][pAdmin] >= 2 && PlayerInfo[playerid][pAdmin] >= 2)
			{
			    format(coordsstring, sizeof(coordsstring), "Accepted reports: %d | Trashed reports: %d", PlayerInfo[targetid][pAcceptReport], PlayerInfo[targetid][pTrashReport]);
			    SendClientMessageEx(playerid, COLOR_GRAD5,coordsstring);
			}
			if(PlayerInfo[targetid][pHelper] >= 2 && PlayerInfo[playerid][pAdmin] >= 2)
			{
			    format(coordsstring, sizeof(coordsstring), "Hours on duty: %d | Accepted help requests: %d", PlayerInfo[targetid][pDutyHours], PlayerInfo[targetid][pAcceptedHelp]);
			    SendClientMessageEx(playerid, COLOR_GRAD5,coordsstring);
			}
		}
		SendClientMessageEx(playerid, COLOR_GREEN,"___________________________________________________________________________________________________");
	}
}
Reply
#6

If all your commands use ZCMD, then I'm pretty sure it's caused by runtimer error: Index out of bounds.

Load crashdetect plugin and do: https://github.com/Zeex/samp-plugin-...ith-debug-info (if not already). Re-compile and start the server. Go in-game and type the commands. If it show the unknown command message, then take a look at the console/server log. If it printed anything, post it here.
Reply
#7

Yes. When i do /stats it gives me this
Код:
[17:28:14] [zcmd] [Tony Turado]: /kick
[17:28:17] [zcmd] [Tony Turado]: /stats
[17:28:17] [debug] Run time error 4: "Array index out of bounds"
[17:28:17] [debug]  Accessing element at index 13999 past array upper bound 1399
[17:28:17] [debug] AMX backtrace:
[17:28:17] [debug] #0 000a8140 in ShowStats (playerid=0, targetid=0) at C:\Users\JakkenKoppen\Desktop\NEW Bone County Script\gamemodes\UGRP.pwn:15954
[17:28:17] [debug] #1 002c4fa0 in public cmd_stats (playerid=0, params[]=@0x02099438 "") at C:\Users\JakkenKoppen\Desktop\NEW Bone County Script\gamemodes\UGRP.pwn:35675
[17:28:17] [debug] #2 native CallLocalFunction () [00471ef0] from samp-server.exe
[17:28:17] [debug] #3 0000dc64 in public OnPlayerCommandText (playerid=0, cmdtext[]=@0x0209941c "/stats") at C:\Users\JakkenKoppen\Desktop\NEW Bone County Script\pawno\include\ZCMD.inc:102
BUt when i do /kick it dosent show up even its in the Script here is the /kick

Код:
CMD:kick(playerid, params[])
{
	if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] >= 2)
	{
		new string[128], giveplayerid, reason[64];
		if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /kick [player] [reason]");

		if(IsPlayerConnected(giveplayerid))
		{
			if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin] && (PlayerInfo[giveplayerid][pHelper] >= 2 || PlayerInfo[giveplayerid][pAdmin] > 0) && playerid != giveplayerid)
			{
				format(string, sizeof(string), "AdmCmd: %s has been auto-kicked, reason: Trying to /kick a higher admin.", GetPlayerNameEx(playerid));
				ABroadCast(COLOR_YELLOW,string, (PlayerInfo[playerid][pAdmin] == 1) ? (1) : (2));
				KickEx(playerid);
				return 1;
			}
			else
			{
				new playerip[32];
				GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
				format(string, sizeof(string), "AdmCmd: %s (IP:%s) was kicked by %s, reason: %s", GetPlayerNameEx(giveplayerid), playerip, GetPlayerNameEx(playerid), reason);
				Log("logs/kick.log", string);
				if(PlayerInfo[playerid][pAdmin] == 1) Log("logs/moderator.log", string);
				format(string, sizeof(string), "AdmCmd: %s was kicked by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
				SendClientMessageToAllEx(COLOR_LIGHTRED, string);
				KickEx(giveplayerid);
			}
			return 1;
		}
	}
	else SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
	return 1;
}
Reply
#8

The /kick dosent show anything
Reply
#9

What's the line 15954?

What about the /kick command? Does it show unknown command too?
Reply
#10

The line:
Код:
		if(PlayerInfo[targetid][pPhousekey2] != INVALID_HOUSE_ID && strcmp(name, HouseInfo[PlayerInfo[targetid][pPhousekey2]][hOwner], true) == 0) totalwealth += HouseInfo[PlayerInfo[targetid][pPhousekey2]][hSafeMoney];
and yes /kick shows as unknown command too
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)