Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Riv3R4 poslato Maj 10, 2013, 10:38:09 PRE PODNE

Naslov: [pomoc]DCMD - edit:drugi problem
Poruka od: Riv3R4 poslato Maj 10, 2013, 10:38:09 PRE PODNE
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//
Naslov: Odg: [pomoc]DCMD
Poruka od: Blaeks poslato Maj 10, 2013, 13:38:12 POSLE PODNE
je l si stavio ovo dcmd(war,4,cmdtext);
    dcmd(warpokreni,4,cmdtext);
    dcmd(warzaustavi,4,cmdtext);
pod onplayercommandtext ?
Naslov: Odg: [pomoc]DCMD
Poruka od: Riv3R4 poslato Maj 10, 2013, 13:39:12 POSLE PODNE
da
Naslov: Odg: [pomoc]DCMD
Poruka od: 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
Naslov: Odg: [pomoc]DCMD
Poruka od: Riv3R4 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
Naslov: Odg: [pomoc]DCMD
Poruka od: 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 ?
Naslov: Odg: [pomoc]DCMD
Poruka od: Riv3R4 poslato Maj 10, 2013, 13:45:58 POSLE PODNE
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
Naslov: Odg: [pomoc]DCMD
Poruka od: Blaeks poslato Maj 10, 2013, 13:46:53 POSLE PODNE
stavljas na kraj skripte i uzput napravis onplayercommandperfomed
Naslov: Odg: [pomoc]DCMD
Poruka od: Riv3R4 poslato Maj 10, 2013, 13:48:26 POSLE PODNE
koje komande da stavljam pod onplayercommandperfomed strcpm ?
Naslov: Odg: [pomoc]DCMD
Poruka od: Blaeks poslato Maj 10, 2013, 13:50:16 POSLE PODNE
ne, tu nista ne stavljas, tu samo returnas
Naslov: Odg: [pomoc]DCMD
Poruka od: Riv3R4 poslato Maj 10, 2013, 13:51:41 POSLE PODNE
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?
Naslov: Odg: [pomoc]DCMD
Poruka od: Riv3R4 poslato Maj 10, 2013, 14:29:59 POSLE PODNE
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;
}
Naslov: Odg: [pomoc]DCMD - edit:drugi problem
Poruka od: Blaeks poslato Maj 10, 2013, 15:18:07 POSLE PODNE
zasto jednostavno u komandi za pokretanje wara ne postavis direktnu poziciju igracu ?
Naslov: Odg: [pomoc]DCMD - edit:drugi problem
Poruka od: Riv3R4 poslato Maj 10, 2013, 15:39:32 POSLE PODNE
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
Naslov: Odg: [pomoc]DCMD - edit:drugi problem
Poruka od: Blaeks poslato Maj 10, 2013, 15:45:20 POSLE PODNE
je l imas callback onplayercommandperfomed ?
Naslov: Odg: [pomoc]DCMD - edit:drugi problem
Poruka od: Riv3R4 poslato Maj 10, 2013, 15:55:05 POSLE PODNE
Citat: Blaeks poslato Maj 10, 2013, 15:45:20 POSLE PODNE
je l imas callback onplayercommandperfomed ?
mislis na ovo?

forward OnPlayerCommandPerformed(playerid, cmdtext[], success)
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    if(!success)
    {
        new string[128];
        format(string, sizeof(string), "%s  ne postoji! Upisite /help za pomoc oko komandi!", cmdtext);
        SendClientMessage(playerid, -1, string);
    }
    return true;
}
Naslov: Odg: [pomoc]DCMD - edit:drugi problem
Poruka od: Blaeks poslato Maj 10, 2013, 16:15:26 POSLE PODNE
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
   if(success) return 1;
   else return OnPlayerCommandText(playerid, cmdtext);
}
Naslov: Odg: [pomoc]DCMD - edit:drugi problem
Poruka od: Riv3R4 poslato Maj 10, 2013, 16:52:08 POSLE PODNE
na mobu sam probacu kada dodjem kuci
Naslov: Odg: [pomoc]DCMD - edit:drugi problem
Poruka od: Riv3R4 poslato Maj 10, 2013, 17:35:11 POSLE PODNE
to radi neg me zanima sad kako napraviti da direktno spawna igraca na waru pokusavo sam nesto al neradi :S objavio sam komande vvec pa ak nije prob da mi pomognes napraviti
Naslov: Odg: [pomoc]DCMD - edit:drugi problem
Poruka od: Blaeks poslato Maj 10, 2013, 23:27:47 POSLE PODNE
pa stavis setplayerpos i direktne koordinate, usejvovane