[pomoc]DCMD - edit:drugi problem


Započeo Riv3R4, Maj 10, 2013, 10:38:09 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta:Cyber RP(radimo update)
Opis problema: Pravio sam war i sada inace se koristi strcpm , i imamo tri komande sa DCMD i war komande sam ubacio u DCMD radi paramsa,  i sad kad kucam komandu pise unknow command kao da nepostoji i dodao sam ono dcmd(war,4,cmdtext)

dio skripte:
komande:
dcmd_war(playerid, params[])
{
	if(!WarAdmin(playerid, 2)) return SEM
	new id, tim;
	if(sscanf(params,"ui",id,tim)) return SendClientMessage(playerid, COLOR_GREY, "*Koristi: /war [id igraca] [tim (0-2)]");
	else if(id == INVALID_PLAYER_ID) return ID_INVALID
	WarTim[id] = tim;
	if(WarTim[id] == 0)	{ SetPlayerColor(playerid, 0xffffffff); }
	else if(WarTim[id] == 1) { SetPlayerColor(playerid, 0xff0000aa); }
	else if(WarTim[id] == 2) { SetPlayerColor(playerid, 0x0000ffaa); }
	new str[256];
	new ime[MAX_PLAYER_NAME]; GetPlayerName(playerid,ime,sizeof(ime));
	new igrac[MAX_PLAYER_NAME]; GetPlayerName(id,igrac,sizeof(igrac));
	format(str,256," War | Prozvani ste na war od admina %s!", ime);
	SendClientMessage(id, COLOR_LB, str);
	format(str,256," War | Prozvali ste igraca %s na war!", igrac);
	SendClientMessage(playerid, COLOR_LB, str);
	return 1;
}

dcmd_warpokreni(playerid, params[])
{
	if(!WarAdmin(playerid,2)) return SEM
	new mapa, vreme;
	if(sscanf(params,"ii",mapa,vreme)) return SendClientMessage(playerid, COLOR_GREY, "*Koristi: /warpokreni [id mape] [vreme (u minutima)]"), SendClientMessage(playerid, COLOR_GREY, "*IDevi mapa: 0) Ime mape");
    War1_x = -35.3919; War1_y = 129.8716; War1_z = 3.1172; War1_r = 175.5216;
	War2_x = -115.4858; War2_y = -136.0644; War2_z = 3.1172; War2_r = 349.4232;
	war = SetTimer("WarTimer", vreme*60000, false);
	warbrojanje = SetTimer("WarBrojanje", 3000, true);
	foreach(Player,i)
	{
	    if(WarTim[i] > 0)
	    {
	        SpawnPlayer(i);
		}
	}
	WarZapocet = 1;
	return 1;
}

dcmd_warzaustavi(playerid, params[])
{
	if(!WarAdmin(playerid,2)) return SEM
	new str[256];
    format(str,256," War | War je zavrsen! TIM 1: %d, TIM 2: %d", WarBrojanje1, WarBrojanje2);
	SendWarMessage(COLOR_RED, str);
	KillTimer(war);
	WarTimer();
	return 1;
}


onaj dio dcmd(komanda,4,cmdtext)

dcmd(war,4,cmdtext);
    dcmd(warpokreni,4,cmdtext);
    dcmd(warzaustavi,4,cmdtext);

Eto i neradi :S a ev od ostalih komandi

  dcmd(specplayer, 10, cmdtext);
    dcmd(specoff, 7, cmdtext);
    dcmd(warn,4,cmdtext);

i ev ostale dcmd komande

dcmd_specplayer(playerid, params[])
{
	new Giveplayerid, Name[256], String[256], Name2[256];
	if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][php] >= 1)
	{
	if (sscanf(params, "d", Giveplayerid)) SendClientMessage(playerid,COLOR_WHITE, "SERVER: /specplayer [Playerid]");
	else if (!IsPlayerConnected(Giveplayerid)) SendClientMessage(playerid,COLOR_PURPLE,"Player not connected?");
	else
	{
	if ( Specing[Giveplayerid] == 1 )
	{
	SendClientMessage(playerid, COLOR_RED, "   The person you have tried to spec is spectating someone else.");
	}
	else
	{
    GetPlayerName(playerid, Name, 256);
	GetPlayerName(Giveplayerid, Name2, 256);
	format(String, 256, "[%i] %s is now spectating [%i] %s",playerid, Name,Giveplayerid, Name2);
	CallLocalFunction("ircRemoteSay", "iss", 1, "#FSE", String);
	Specing[playerid] = 1;
	}
	if ( !IsPlayerInAnyVehicle(Giveplayerid) )
	{
	TogglePlayerSpectating(playerid, 1);
	PlayerSpectatePlayer(playerid, Giveplayerid);
	SetPlayerInterior(playerid,GetPlayerInterior(Giveplayerid));
	SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(Giveplayerid));
	return 1;
	}
	else
	{
	TogglePlayerSpectating(playerid, 1);
	PlayerSpectateVehicle(playerid, GetPlayerVehicleID(Giveplayerid));
	SetPlayerInterior(playerid,GetPlayerInterior(Giveplayerid));
	SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(Giveplayerid));
	return 1;
	}
 	}
	}
	return 1;
}

dcmd_specoff(playerid, params[])
{
	#pragma unused params
	TogglePlayerSpectating(playerid, 0);
	SetTimerEx("PosAfterSpec",3000,0,"d",playerid);
	if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][php] >= 1)
	{
	    if(Specing[playerid] != 0)
	    {
   			Specing[playerid] = 0;
			GivePlayerMoney(playerid,100)
		}
		else
		{
		SendClientMessage(playerid,COLOR_WHITE,"Trenutno nikoga ne specujete");
		}
	}
  	else
  	{
		SendClientMessage(playerid, COLOR_WHITE, "{FF0000}CG:AC |{FFFFFF}Niste ovlasteni da koristite tu komandu !");
	}
	return 1;
}
//warn cmd
dcmd_warn(playerid,params[]) {
    if(PlayerInfo[playerid][pAdmin] >= 1) {
	    new tmp[256], tmp2[256], Index;		tmp = strtok(params,Index), tmp2 = strtok(params,Index);
	    if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /warn [playerid] [reason]");
    	new warned = strval(tmp), str[128];
    	new sendername[MAX_PLAYER_NAME];
    	new giveplayer[MAX_PLAYER_NAME];
	//	if(PlayerInfo[warned][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,"ERROR: You cannot use this command on this admin");
	 	if(IsPlayerConnected(warned) && warned != INVALID_PLAYER_ID) {
 	    	if(warned != playerid) {
			    ABroadCast(warned,"WARN",1);
				PlayerInfo[warned][pWarns]++;
				if( PlayerInfo[warned][pWarns] == MAX_WARNINGS) {
					GetPlayerName(warned, sendername, sizeof(sendername));
					format(str, sizeof (str), "*** \"%s\" je banovan zbog opomena \"%s\".  (Razlog: %s) (Warn: %d/5)***",sendername, params[1+strlen(tmp)], PlayerInfo[warned][pWarns]);
					SendClientMessageToAll(COLOR_RED, str);
					BanLog(str);
					Ban(warned);
					return PlayerInfo[warned][pWarns] = 0;
				} else {
					GetPlayerName(warned, sendername, sizeof(sendername));
					GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
					format(str, sizeof (str), "***Admin \"%s\" je dao \"%s\" a warn.  (Reason: %s) (Warning: %d/5)***",giveplayer,sendername, params[1+strlen(tmp)], PlayerInfo[warned][pWarns]);
					return SendClientMessageToAll(COLOR_YELLOW, str);
				}
			} else return SendClientMessage(playerid, COLOR_RED, "ERROR: You cannot warn yourself");
		} else return SendClientMessage(playerid, COLOR_RED, "ERROR: Player is not connected");
	} else return SendClientMessage(playerid,COLOR_RED,"ERROR: You are not a high enough level to use this command");
}


slika//
Poslednja Izmena: Maj 10, 2013, 14:30:29 POSLE PODNE od [Cyber]Master.amx

Blaeks

*

Madmen

je l si stavio ovo
dcmd(war,4,cmdtext);
    dcmd(warpokreni,4,cmdtext);
    dcmd(warzaustavi,4,cmdtext);
pod onplayercommandtext ?


Blaeks

*

Madmen

kazi mi je l si stavio dcmd komande na kraj skripte ? tacnije izvan svakog callbacka

Citat: Blaeks poslato Maj 10, 2013, 13:40:34 POSLE PODNE
kazi mi je l si stavio dcmd komande na kraj skripte ? tacnije izvan svakog callbacka
logicno da jesam :S dali moze biti do streamera i ak nije problem da prebacis ove war komande u strcpm bez sscanfa jer ja nez kako raditi ono bez sscanfa :S

Blaeks

*

Madmen

Citat: [Cyber]Master.amx poslato Maj 10, 2013, 13:41:53 POSLE PODNE
Citat: Blaeks poslato Maj 10, 2013, 13:40:34 POSLE PODNE
kazi mi je l si stavio dcmd komande na kraj skripte ? tacnije izvan svakog callbacka
logicno da jesam :S dali moze biti do streamera i ak nije problem da prebacis ove war komande u strcpm bez sscanfa jer ja nez kako raditi ono bez sscanfa :S
pa nebi trebalo, ali ne znam zasto koristis dcmd pored npr malo savremenijih principa kao sto su zcmd ili mozda ycmd ?

Citat: Blaeks poslato Maj 10, 2013, 13:43:35 POSLE PODNE
Citat: [Cyber]Master.amx poslato Maj 10, 2013, 13:41:53 POSLE PODNE
Citat: Blaeks poslato Maj 10, 2013, 13:40:34 POSLE PODNE
kazi mi je l si stavio dcmd komande na kraj skripte ? tacnije izvan svakog callbacka
logicno da jesam :S dali moze biti do streamera i ak nije problem da prebacis ove war komande u strcpm bez sscanfa jer ja nez kako raditi ono bez sscanfa :S
pa nebi trebalo, ali ne znam zasto koristis dcmd pored npr malo savremenijih principa kao sto su zcmd ili mozda ycmd ?
vidi mod je davno editovan pa je na strcpm a ja nebi volio mjesati zcmd i strcpm al sta ti predlazes da stavim zcmd?
i kad stavljam komande zcmda gdje da ih stavljam posto ima i strcpm

Blaeks

*

Madmen

stavljas na kraj skripte i uzput napravis onplayercommandperfomed

koje komande da stavljam pod onplayercommandperfomed strcpm ?

Blaeks

*

Madmen

ne, tu nista ne stavljas, tu samo returnas

Citat: Blaeks poslato Maj 10, 2013, 13:50:16 POSLE PODNE
ne, tu nista ne stavljas, tu samo returnas
ok i ostalo sve normala zcmd komande na kraj i strcpm pod onplayercommandtext jel tako?

sry na dp imam sad drugi problem sve radi al kad odem /warpokreni ne spawna me na farmu gdje i treba vec tam gdje mi je namjesten spawn tj kuca baza zavisi...

ovo imam pod onplayerspawn

if(WarTim[playerid] == 0)	{ SetPlayerColor(playerid, 0xffffffff); }
	else if(WarTim[playerid] == 1) { SetPlayerColor(playerid, 0xff0000aa); }
	else if(WarTim[playerid] == 2) { SetPlayerColor(playerid, 0x0000ffaa); }
	if(WarZapocet == 1)
	{
	    if(WarTim[playerid] == 1)
	    {
	        SetPlayerVirtualWorld(playerid, War_VW);
	        SetPlayerPos(playerid, War1_x, War1_y, War1_z);
	        SetPlayerFacingAngle(playerid, War1_r);
	        GivePlayerWeapon(playerid, 24, 600);
	        GivePlayerWeapon(playerid, 31, 800);
	        SetPlayerHealth(playerid, 100);
	        SetPlayerVirtualWorld(playerid, 7);
			return 1;
		}
		else if(WarTim[playerid] == 2)
	    {
	        SetPlayerVirtualWorld(playerid, War_VW);
	        SetPlayerPos(playerid, War2_x, War2_y, War2_z);
	        SetPlayerFacingAngle(playerid, War2_r);
	        GivePlayerWeapon(playerid, 24, 200);
	        GivePlayerWeapon(playerid, 31, 500);
	        SetPlayerHealth(playerid, 100);
	        SetPlayerVirtualWorld(playerid, 7);
			return 1;
		}

a ev i war i warpokreni komande

WAR:

CMD:war(playerid,params[])
{
	if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][php] >= 1)
	{
	new id, tim;
	if(sscanf(params,"ui",id,tim)) return SendClientMessage(playerid, COLOR_GREY, "*Koristi: /war [id igraca] [tim (0-2)]");
	else if(id == INVALID_PLAYER_ID) return ID_INVALID
	WarTim[id] = tim;
	if(WarTim[id] == 0)	{ SetPlayerColor(playerid, 0xffffffff); }
	else if(WarTim[id] == 1) { SetPlayerColor(playerid, 0xff0000aa); }
	else if(WarTim[id] == 2) { SetPlayerColor(playerid, 0x0000ffaa); }
	new str[256];
	new ime[MAX_PLAYER_NAME]; GetPlayerName(playerid,ime,sizeof(ime));
	new igrac[MAX_PLAYER_NAME]; GetPlayerName(id,igrac,sizeof(igrac));
	format(str,256," War | Prozvani ste na war od admina %s!", ime);
	SendClientMessage(id, COLOR_LB, str);
	format(str,256," War | Prozvali ste igraca %s na war!", igrac);
	SendClientMessage(playerid, COLOR_LB, str);
	}
		else
  	{
		SendClientMessage(playerid, COLOR_WHITE, "{FF0000}CYBER |{FFFFFF}Niste ovlasteni da koristite tu komandu !");
	}
	return 1;
}


WARPOKRENI

CMD:warpokreni(playerid,params[])
{
	if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][php] >= 1)
	{
	new mapa, vreme;
	if(sscanf(params,"ii",mapa,vreme)) return SendClientMessage(playerid, COLOR_GREY, "*Koristi: /warpokreni [id mape] [vreme (u minutima)]"), SendClientMessage(playerid, COLOR_GREY, "*IDevi mapa: 0) Ime mape");
    War1_x = -35.3919; War1_y = 129.8716; War1_z = 3.1172; War1_r = 175.5216;
	War2_x = -115.4858; War2_y = -136.0644; War2_z = 3.1172; War2_r = 349.4232;
	war = SetTimer("WarTimer", vreme*60000, false);
	warbrojanje = SetTimer("WarBrojanje", 3000, true);
	foreach(Player,i)
	{
	    if(WarTim[i] > 0)
	    {
	        SpawnPlayer(i);
		}
	}
	WarZapocet = 1;
	}
		else
  	{
		SendClientMessage(playerid, COLOR_WHITE, "{FF0000}CYBER|{FFFFFF}Niste ovlasteni da koristite tu komandu !");
	}
	return 1;
}

Blaeks

*

Madmen

zasto jednostavno u komandi za pokretanje wara ne postavis direktnu poziciju igracu ?

Citat: Blaeks poslato Maj 10, 2013, 15:18:07 POSLE PODNE
zasto jednostavno u komandi za pokretanje wara ne postavis direktnu poziciju igracu ?
uradio sam to al ev sad sam skontao kako sam ubacio ZCMD nerade mi strcpm komande :S

Blaeks

*

Madmen

je l imas callback onplayercommandperfomed ?