Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Fr0z3n poslato Decembar 30, 2019, 23:32:34 POSLE PODNE

Naslov: Pomoc oko zcmd i fs
Poruka od: Fr0z3n poslato Decembar 30, 2019, 23:32:34 POSLE PODNE
Pozdrav imam dva problema koji nznm kako da resim, 1. naime kada ubacim neku fs koja zahteva zcmd ja skinem zcmd sa interneta ubacim u gamemode #include < zcmd > sve je top sve pet dok dolazim do compile i kada pokusam compile izadju mi ovi warnovi:

C:\Users\uSER\Desktop\Mod od 0\pawno\include\YSI\y_commands.inc(214) : warning 201: redefinition of constant/macro (symbol "CMD:%0(%1)")

C:\Users\uSER\Desktop\Mod od 0\pawno\include\YSI\y_commands.inc(215) : warning 201: redefinition of constant/macro (symbol "COMMAND")

2. Kada ubacim fs u folder ubacim u cfg. udjem na server i kada pokusam da ukucam bilo koju cmd sa servera ne radi a radi samo fs skripta evo da pojasnim primer znaci ubaci adminvozila ubacim u server cfg i cmd da se stvore admin vozila je /adminveh i ta cmd radi ali kada recimo hocu da kucam /stats (cmd na serveru) ne radi! :'(


Naslov: Odg: Pomoc oko zcmd i fs
Poruka od: Kawaki poslato Decembar 30, 2019, 23:36:56 POSLE PODNE
neznam tocno kako da ti rijesim taj problem al znam sta znaci a to je da vec definisano sto znaci da to probas nekak
Naslov: Odg: Pomoc oko zcmd i fs
Poruka od: Salesman poslato Decembar 30, 2019, 23:37:02 POSLE PODNE
napravio si negdje makro definiciju u skripti sa imenom CMD provjeri u skripti imas li igdje

#define CMD:
Naslov: Odg: Pomoc oko zcmd i fs
Poruka od: Fr0z3n poslato Decembar 30, 2019, 23:46:02 POSLE PODNE
Ne, nemam nigde #define CMD ali to mi se desava kada ubacim < zcmd > a kada izbacim ono sve je normalno ali meni treba zcmd da bi radio fs fajl
Naslov: Odg: Pomoc oko zcmd i fs
Poruka od: HrustanoviK poslato Decembar 31, 2019, 06:37:42 PRE PODNE
Prvo zasto bi compile mod ako koristis filterscriptu. Filterscripta je zasebna scripta i u njoj ukljucujes zcmd ne u main gamemode..

Zasto ti ne rade komande? Zato sto si jednostavno izbrisao ylesov komandni procesor i dodao zcmd.. Sam ti error kaze da imas jednu konstantu vise tj jedan parametar vise primjer:

zcmd
[pawn]cmd:bsamp( playerid, params[] ) {

          //kod

}[/pawn]

ycmd
[pawn]cmd:bsamp( playerid, params[], help ) {

          //kod

}[/pawn]

Ako zelis da koristis zcmd brises iz svake komande help i tjt :)

Naslov: Odg: Pomoc oko zcmd i fs
Poruka od: Fr0z3n poslato Decembar 31, 2019, 14:26:18 POSLE PODNE
Citat: HrustanoviK poslato Decembar 31, 2019, 06:37:42 PRE PODNE
Prvo zasto bi compile mod ako koristis filterscriptu. Filterscripta je zasebna scripta i u njoj ukljucujes zcmd ne u main gamemode..

Zasto ti ne rade komande? Zato sto si jednostavno izbrisao ylesov komandni procesor i dodao zcmd.. Sam ti error kaze da imas jednu konstantu vise tj jedan parametar vise primjer:

zcmd
[pawn]cmd:bsamp( playerid, params[] ) {

          //kod

}[/pawn]

ycmd
[pawn]cmd:bsamp( playerid, params[], help ) {

          //kod

}[/pawn]

Ako zelis da koristis zcmd brises iz svake komande help i tjt :)


Brate moj ceo gamemod se zasniva na ycmd komandama i necu to menjati ali na forumu su rekli da moram ako koristim u fs zcmd da to moram i u gamemod da ubacim a ja kada ubacim u gamemod izadje mi ovaj warn

a i moram da compilujem da bi se stvorio amx file
Naslov: Odg: Pomoc oko zcmd i fs
Poruka od: malipablo poslato Decembar 31, 2019, 14:40:01 POSLE PODNE
ne moras da ga imas i u gamemodu mozes ti da koristim 100 zasebnih cmd procesora i to 50 u gamemode-u a 50 u fs jer to nema nikakve veze. u fs ostavis da radi sama sta treba a u gamemodu nastavljas svoje.
Naslov: Odg: Pomoc oko zcmd i fs
Poruka od: Salesman poslato Decembar 31, 2019, 14:57:40 POSLE PODNE
zar nije logicnije prebaciti tu fs u YCMD nego citav mod u zcmd lmao
Naslov: Odg: Pomoc oko zcmd i fs
Poruka od: Slade poslato Decembar 31, 2019, 15:04:39 POSLE PODNE
Imaš 2 procesora komandi, ZCMD (koji si ubacio) i koristio si YCMD, ne možeš imati obadva, prilagodi FS YCMDu i tjt.
Naslov: Odg: Pomoc oko zcmd i fs
Poruka od: Fr0z3n poslato Decembar 31, 2019, 15:25:12 POSLE PODNE
kako recimo da prilagodim dajte mi primer na ovoj skripti i dalje cu sam

[pawn]#include <a_samp>
#include <streamer>
#include <YSI\y_commands>
#include <YSI\y_master>
#include <foreach>

#undef MAX_PLAYERS
#define MAX_SLOTS           50

#define MAX_SNOW_OBJECTS    7
#define UPDATE_INTERVAL     700
#pragma tabsize 0
#define COLOR_SEA 0x00808000
forward ChangeWeather();

#if MAX_SLOTS == -1
        #error Change MAX_SLOTS to the max players of your server! (At line 6)
#endif

#define ploop(%0)                       for(new %0 = 0; %0 < MAX_SLOTS; %0++) if(IsPlayerConnected(%0))
#define CB:%0(%1)           forward %0(%1); public %0(%1)

new weather2;

new bool:snowOn[MAX_SLOTS char],
        snowObject[MAX_SLOTS][MAX_SNOW_OBJECTS],
        updateTimer[MAX_SLOTS char]
;
public OnFilterScriptInit()
{
SetTimer("ChangeWeather",1200000, true);
}
public OnFilterScriptExit()
{
                SetTimer("SnegInt",1000,1);
        ploop(i)
        {
            if(snowOn{i})
            {
                for(new j = 0; j < MAX_SNOW_OBJECTS; j++) DestroyDynamicObject(snowObject[j]);
                        KillTimer(updateTimer{i});
                }
        }
        return 1;
}

public OnPlayerDisconnect(playerid)
{
        if(snowOn{playerid})
        {
            for(new i = 0; i < MAX_SNOW_OBJECTS; i++) DestroyDynamicObject(snowObject[playerid]);
                snowOn{playerid} = false;
                KillTimer(updateTimer{playerid});
        }
        return 1;
}

CB:UpdateSnow(playerid)
{
        if(!snowOn{playerid}) return 0;
        new Float:pPos[3];
        GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
        for(new i = 0; i < MAX_SNOW_OBJECTS; i++) SetDynamicObjectPos(snowObject[playerid], pPos[0] + random(25), pPos[1] + random(25), pPos[2] - 5 + random(10));
        return 1;
}

stock CreateSnow(playerid)
{
        if(snowOn{playerid}) return 0;
        new Float:pPos[3];
        GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
        for(new i = 0; i < MAX_SNOW_OBJECTS; i++) snowObject[playerid] = CreateDynamicObject(18864, pPos[0] + random(25), pPos[1] + random (25), pPos[2] - 5 + random(10), random(280), random(280), 0, -1, -1, playerid);
        snowOn{playerid} = true;
        updateTimer{playerid} = SetTimerEx("UpdateSnow", UPDATE_INTERVAL, true, "i", playerid);
        return 1;
}

stock DeleteSnow(playerid)
{
        if(!snowOn{playerid}) return 0;
        for(new i = 0; i < MAX_SNOW_OBJECTS; i++) DestroyDynamicObject(snowObject[playerid]);
        KillTimer(updateTimer{playerid});
        snowOn{playerid} = false;
        return 1;
}
forward SnegInt();
public SnegInt()
{
foreach(Player,i)
{
if(GetPlayerInterior(i) > 0)
{
#undef MAX_SNOW_OBJECTS
#define MAX_SNOW_OBJECTS    0
}
if(GetPlayerInterior(i) == 0)
{
#undef MAX_SNOW_OBJECTS
#define MAX_SNOW_OBJECTS    7
}
}
return 1;
}
public ChangeWeather()
{
        foreach (Player, i)
        {
        weather2 = random(22);
        if(weather2 == 1)
        {
                DeleteSnow(i);
            SetWeather(0);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Danas {00BFFF}suncano, {FFFFFF}Savrseno za plazu-kupanje!");
        }
        else if(weather2 == 2)
        {
            DeleteSnow(i);
            SetWeather(2);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Do umjereno {00BFFF}oblacno,{FFFFFF}savrseno da ostanete kod kuce,moguc pljusak!");
        }
        else if(weather2 == 3)
        {
            DeleteSnow(i);
            SetWeather(3);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Suncano, Savrseno za {00BFFF}voznju!");
        }
        else if(weather2 == 4)
        {
            DeleteSnow(i);
            SetWeather(4);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Maglovito s {00BFFF}toplinom,{FFFFFF}zelimo vam opreznu voznju i letenje!");
        }
        else if(weather2 == 5)
        {
            DeleteSnow(i);
            SetWeather(5);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se da ce biti {00BFFF}toplinski val{FFFFFF},ne koristite mnogo odjece!");
        }
        else if(weather2 == 6)
        {
            DeleteSnow(i);
            SetWeather(6);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se da ce biti {00BFFF}toplinski val{FFFFFF},ne koristite mnogo odjece!");
        }
        else if(weather2 == 7)
        {
            DeleteSnow(i);
            SetWeather(7);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se {00BFFF}naoblacenje{FFFFFF},vrijeme nije pogodno za izlazak vani!");
        }
        else if(weather2 == 8)
        {
            DeleteSnow(i);
            SetWeather(8);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se {00BFFF}jaka kisa{FFFFFF} moze doci i do leda, bolje biti u domovima,zbog velike opasnosti!");
        }
        else if(weather2 == 9)
        {
            DeleteSnow(i);
            SetWeather(9);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se {00BFFF}Maglovito vrijeme{FFFFFF},opreznu voznju i let vam zelimo!");
        }
        else if(weather2 == 10)
        {
            DeleteSnow(i);
            SetWeather(10);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Vrijeme ce biti {00BFFF}suncano danas{FFFFFF}, ali moguca je kisa u toku dana!");
        }
        else if(weather2 == 11)
        {
            DeleteSnow(i);
            SetWeather(11);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Suncano {00BFFF}vrijeme ce biti, {FFFFFF}savrseno za voznju biciklom!");
        }
        else if(weather2 == 12)
        {
            DeleteSnow(i);
            SetWeather(12);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Oblacno vrijeme {00BFFF}predvideno,{FFFFFF}ne izlazite bez vaseg kisobrana!");
        }
        else if(weather2 == 13)
        {
            DeleteSnow(i);
            SetWeather(13);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Vrijeme je {00BFFF}suncano,{FFFFFF}savrseno za letjeti!");
        }
        else if(weather2 == 14)
        {
            DeleteSnow(i);
            SetWeather(14);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se {00BFFF}suncano vrijeme{FFFFFF},Savrseno za setnju!");
        }
        else if(weather2 == 15)
        {
            DeleteSnow(i);
            SetWeather(15);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Biti ce {00BFFF}oblacno,{FFFFFF}ne izlazite vani!");
        }
        else if(weather2 == 16)
        {
            DeleteSnow(i);
            SetWeather(16);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Predvida se {00BFFF}kisa,{FFFFFF}bilo bi dobro da uzmete vase kisobrane!");
        }
        else if(weather2 == 17)
        {
            DeleteSnow(i);
            SetWeather(17);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Vrijeme ce biti {00BFFF}suncano uz veliku toplinu,{FFFFFF}ne uzimati puno odjece!");
        }
        else if(weather2 == 18)
        {
            DeleteSnow(i);
            SetWeather(18);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Vrijeme ce biti {00BFFF}suncano uz veliku toplinu,{FFFFFF}ne uzimati puno odjece!");
        }
        else if(weather2 == 19)
        {
            DeleteSnow(i);
            SetWeather(19);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Sada ce biti {00BFFF}Jaka Oluja{FFFFFF},preporucuje se da ne vozite ili da ne letite!");
        }
        else if(weather2 == 20)
        {
            DeleteSnow(i);
            SetWeather(20);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Vrijeme ce biti {00BFFF}povremeno oblacno{FFFFFF}, budite oprezni i uzmite kisobran!");
        }
        else if(weather2 == 21)
        {
            SetWeather(20);
            CreateSnow(i);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Prognozira se {00BFFF}sneg{FFFFFF}, pazi te se klizavih puteva!");
        }
        else if(weather2 == 22)
        {
            SetWeather(20);
            CreateSnow(i);
                SendClientMessageToAll(COLOR_SEA,"{E0A51B}[Vremenksa prognoza]: {FFFFFF} Prognozira se {00BFFF}sneg{FFFFFF}, pazi te se klizavih puteva!");
        }
}
        return 1;
}
CMD:snow(playerid, params[])
{
        if(snowOn{playerid})
        {
            DeleteSnow(playerid);
            SendClientMessage(playerid, 0x00FF00AA, "* Vise nepada sneg!");
        }
        else
        {
            CreateSnow(playerid);
            SendClientMessage(playerid, 0x00FF00AA, "* Nastimali ste da pada sneg!!");
        }
        return 1;
}

CMD:upalisvimasneg(playerid, params[])
{
    ploop(i) //This is included in my FS! It's the '#define ploop(%0)' thing.
    {
        if(snowOn{i}) continue;
        CreateSnow(i);
    }
    return 1;
}

CMD:ugasisvimasneg(playerid, params[])
{
ploop(i)
    {
        if(!snowOn{i}) continue;
        DeleteSnow(i);
    }
    return 1;
}
CMD:promeniprognozu(playerid, params[])
{
ChangeWeather();
return 1;
}[/pawn]