[Pomoc]Admin Duznost

Započeo Dacho, Jun 12, 2013, 23:09:50 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:LF edit
Detaljan opis problema:Nasao sam na forumu pomocu trazilice temu u kojoj je Blaeks ako se dobro secam ,dao komandu za admin duty ili flash neko od njih dvojice ,i postovao sam definisao ,ali slabo se snalazim sa onim erorima assumed zero i ostalo,jer ne znam tacno gde koliko zagrada se ide da li 1 ili 2 i posle koje zagrade ide ; ,a posle koje ne..
Dio skripte:

//ADMIN DUTY
COMMAND:aduty(playerid, params[])
    {
    if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, 3, "samo admini"); // Moze koristit samo admin lvl 1 i vise ( prilagodi varijablu pAdmin )
if(AdminDuty[playerid] == 0)
{
new string[128]; // definiras string
new Float:x, Float:y, Float:z; // defniras x,y,z za label
new Text3D:label = Create3DTextLabel("Administrator na\n duznosti ( ne ometaj) ", COLOR_YELLOW,x,y,z, 40.0, 0, 0); // kreiras lalel
GetPlayerPos(playerid,x,y,z); // Uzimas mu poziciju
SetPlayerHealth(playerid, 99); // postavis mu hp na 99
SetPlayerArmour(playerid, 99); // pancir na 99
format(string,sizeof(string), "Admin %s je sada na duznosti.",GetPlayerNameEx(playerid)); // Napravis string
SendClientMessageToAll(0xFFFFFFAA, string); // saljes ga svima
Attach3DTextLabelToPlayer(label,playerid,0.0, 0.0, 0.7); // stavis label na igraca
AdminDuty[playerid] = 1; // postavis mu da je duty
    }
    else if(AdminDuty[playerid] == 1)
    {
        new string[128]; // definiras string
        new Float:x,Float:y,Float:z; // defniras x,y,z za label
        new Text3D:label = Create3DTextLabel("Administrator na\n duznosti ( ne ometaj) ", COLOR_YELLOW,x,y,z, 40.0, 0, 0); // lreiras balel
        Delete3DTextLabel(label); // brises ga sa igraca
        format(string,sizeof(string),"Admin %s vise nije na duznosti.",GetPlayerNameEx(playerid)); // napravis string
        SendClientMessageToAll(0xFFFFFFAA, string); // saljes ga svima
SetPlayerHealth(playerid, 70); // stavis mu hp na 70
SetPlayerArmour(playerid, 0); // pancir na 0
    AdminDuty[playerid] = 0; // mkanes mu dury
    }
    return 1;
    }



Ovde su erori:


C:\Users\Daniel\Downloads\gamemodes\RP.pwn(39632) : error 029: invalid expression, assumed zero
C:\Users\Daniel\Downloads\gamemodes\RP.pwn(39632) : error 017: undefined symbol "cmd_aduty"
C:\Users\Daniel\Downloads\gamemodes\RP.pwn(39632) : error 029: invalid expression, assumed zero
C:\Users\Daniel\Downloads\gamemodes\RP.pwn(39632) : fatal error 107: too many error messages on one line

Citat: Marley poslato Jun 16, 2012, 17:11:23 POSLE PODNE
Kurcina  :P

Citat: Dude poslato Jun 16, 2012, 17:14:21 POSLE PODNE
čobane šta je ovo?

Respect for David (Sabljak) A.k.A SABO(T)


Citat: [T:RP]FluXâ,,¢ poslato Jun 12, 2013, 23:22:16 POSLE PODNE
Definiši simbol "cmd_aduty"

Mozes li lepo objasniti,sta da napisem,googlam od kako si postovao  ::)
Citat: Marley poslato Jun 16, 2012, 17:11:23 POSLE PODNE
Kurcina  :P

Citat: Dude poslato Jun 16, 2012, 17:14:21 POSLE PODNE
čobane šta je ovo?

Respect for David (Sabljak) A.k.A SABO(T)


Ispravio sam ove erore ,ali sada kad udjem u igru kucam /aduty ,da mi pancir i sve ,ali ne pise npr: Admin Dacho je sada na duznosti.

Vec pise Admin je sada na duznosti.. Iako sam ubacio ono da vata ime ,imate u gore navedenoj komandi ali evo opet ,pa ako mozete ispraviti sta nevalja:

format(string,sizeof(string), "Admin %s je sada na duznosti.",GetPlayerNameEx(playerid)); // Napravis string
SendClientMessageToAll(0xFFFFFFAA, string); // saljes ga svima


Isti ovaj problem imam i kad skinem admina sa duznosti :P
Citat: Marley poslato Jun 16, 2012, 17:11:23 POSLE PODNE
Kurcina  :P

Citat: Dude poslato Jun 16, 2012, 17:14:21 POSLE PODNE
čobane šta je ovo?

Respect for David (Sabljak) A.k.A SABO(T)

Citat: David (Sabljak) A.k.A SABO(T) poslato Jun 13, 2013, 11:00:14 PRE PODNE
napravi stock negdje u skripti

stock PlayerName(playerid)
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
return pName;
}


i stavi ovako

format(string,sizeof(string), "Admin %s je sada na duznosti.",PlayerName(playerid)); // Napravis string
SendClientMessageToAll(0xFFFFFFAA, string); // saljes ga svima

pa znas kako davide, ja koristim funkciju getplayernameeex i nikada do sada se nisam pozalio na nju, tako da problem nije do nje

Hvala ti sabljak ,ali sada dobijem neke nove warninge ,znam da to znaci da sam negde vec definisao ,ali ako obrisem tu liniju 40642 ,na kojoj se nalazi sledece:
new PlayerName[30];
Izlazice mi neki drugi erori ,ispod dole su warninzi koje imam.. Ako treba dacu vam par linija samo recite

C:\Users\Daniel\Downloads\gamemodes\test.pwn(40642) : warning 219: local variable "PlayerName" shadows a variable at a preceding level
C:\Users\Daniel\Downloads\gamemodes\test.pwn(55384) : warning 219: local variable "PlayerName" shadows a variable at a preceding level
C:\Users\Daniel\Downloads\gamemodes\test.pwn(65443) : warning 219: local variable "string" shadows a variable at a preceding level
Citat: Marley poslato Jun 16, 2012, 17:11:23 POSLE PODNE
Kurcina  :P

Citat: Dude poslato Jun 16, 2012, 17:14:21 POSLE PODNE
čobane šta je ovo?

Respect for David (Sabljak) A.k.A SABO(T)

Citat: Dacho poslato Jun 13, 2013, 17:11:26 POSLE PODNE
Hvala ti sabljak ,ali sada dobijem neke nove warninge ,znam da to znaci da sam negde vec definisao ,ali ako obrisem tu liniju 40642 ,na kojoj se nalazi sledece:
new PlayerName[30];
Izlazice mi neki drugi erori ,ispod dole su warninzi koje imam.. Ako treba dacu vam par linija samo recite

C:\Users\Daniel\Downloads\gamemodes\test.pwn(40642) : warning 219: local variable "PlayerName" shadows a variable at a preceding level
C:\Users\Daniel\Downloads\gamemodes\test.pwn(55384) : warning 219: local variable "PlayerName" shadows a variable at a preceding level
C:\Users\Daniel\Downloads\gamemodes\test.pwn(65443) : warning 219: local variable "string" shadows a variable at a preceding level

Posalji linije

GetPlayerPos(giveplayerid,boomx, boomy, boomz);
CreateExplosion(boomx, boomy , boomz, 7, 10);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[{F81414}Test server{C3C3C3}]: %s korosti komanu /explode %s", PlayerName, giveplayer);





GetPlayerPos(playerid, ix, iy, iz);
SetPlayerInterior(i, GetPlayerInterior(playerid));
SetPlayerPos(i, ix, iy, iz+1);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("|ADMIN Test Server| %s je koristio /getallhere da teleportira sve igrace", PlayerName);


}
if(strcmp(cmd, "/refill", true) == 0)
{
    new string[128];
    if(IsPlayerConnected(playerid))
    {
Citat: Marley poslato Jun 16, 2012, 17:11:23 POSLE PODNE
Kurcina  :P

Citat: Dude poslato Jun 16, 2012, 17:14:21 POSLE PODNE
čobane šta je ovo?

Respect for David (Sabljak) A.k.A SABO(T)

Posalji ceo kod ovoga if(strcmp(cmd, "/refill", true) == 0)
{
    new string[128];
    if(IsPlayerConnected(playerid))
    {


Poslednja Izmena: Jun 13, 2013, 17:31:23 POSLE PODNE od [LX] BocaBajrovic (Bocilinjo!)

Ovaj stock napravis kao sto ti je dao stock PlayerName(playerid)
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
return pName;
}
Poslednja Izmena: Jun 13, 2013, 17:32:59 POSLE PODNE od [LX] BocaBajrovic (Bocilinjo!)

Citat: David (Sabljak) A.k.A SABO(T) poslato Jun 13, 2013, 17:29:04 POSLE PODNE
e sa onim Stockom sta sam ti dao

ne moras vise koristit New playername ni getplayername

samo moras postavit u string PlayerName(playerid)

Ne kontam bas mozes li mi dati primer kako da postavim u string ? :P
Citat: Marley poslato Jun 16, 2012, 17:11:23 POSLE PODNE
Kurcina  :P

Citat: Dude poslato Jun 16, 2012, 17:14:21 POSLE PODNE
čobane šta je ovo?

Respect for David (Sabljak) A.k.A SABO(T)

Izbacuje eror:

C:\Users\Daniel\Downloads\gamemodes\test.pwn(55384) : error 076: syntax error in the expression, or invalid function call

To je eror na onoj liniji gde sam ja dodao (playerid);
Citat: Marley poslato Jun 16, 2012, 17:11:23 POSLE PODNE
Kurcina  :P

Citat: Dude poslato Jun 16, 2012, 17:14:21 POSLE PODNE
čobane šta je ovo?

Respect for David (Sabljak) A.k.A SABO(T)

ma vjerovatno si dodao 2 stocka

stock PlayerName(playerid)


provjeri u skripti ctrl+f  stock PlayerName(playerid)

ako bude dva puta taj stock izbrisi jednom..



Zasto pravite toliko problema oko jedne komande evo prostog nacina..

na vrh: new Aduty[MAX_PLAYERS];

zatim pravimo komandu:

CMD:aduty(playerid, params)
{
if(Aduty[playerid] == 0)
{
SCM(playerid, -1, "Sada ste na duznosti");
Aduty[playerid] = 1;
}
else if(Aduty[playerid] == 1)
{
SCM(playerid, -1, "Vise niste na duznosti");
Aduty[playerid] = 0;
}
return 1;
}


Eto i samo ako hoces kad se igrac konektuje stavis mu Aduty na 0 al to kako hoces nije obavezno... Eto i samo dodas sta jos hoces kao SetPlayerChatBubble npr ili SetPlayerHealth, GivePlayerWeapon i slicno...
RESPECT: Blaeks, Yui_Sang, Gagi, Kapetan Husein, Luksa, Slay, Denis_Lapi, Zoran(Dude)

Programski jezici koje koristim: C, C#, Visual Basic, HTML, CSS, PHP (tek ucim).