Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-10-05, 11:37


KaNdY







Wiek: 29
Na forum: 4487 dni
Posty: 53
Nick w MP: KaNdY

Piwa: 1

Respekt: 56,5

Witam. Zrobi?em sobie komend?, kt?ra nadaje np. admina, czy tam ViPa. Komenda jest na m?j i kolegi nick. Teraz mam pro?b?. M?g?by kto? j? przerobi?, aby zamiast ID gracza trzeba by?o wpisa? nick z uwzgl?dnieniem du?ych liter, kropek, etc. I je?li go?cia NIE b?dzie na serverze, to r?wnie? mo?na da?. Je?li wbije, to b?dzie mia? admina.

Oto moja komenda:
Kod:


CMD:da(playerid, params[]) //Daj admina (KaNdY & Sly)
{
new leader;
new strcatx[256];
new name[31];
leader = strval(params);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{009933}»American Truck SA-MP«{FFFFFF} Nie jeste? Administratorem.");
if(isnull(params)) return SendClientMessage(playerid, -1, "{009933}»American Truck SA-MP«{FFFFFF} Komenda na dodanie administratora - /da [ID]");
if(!IsPlayerConnected(leader)) return SendClientMessage(playerid, -1, "{009933}»American Truck SA-MP«{FFFFFF} Niema gracza o podanym ID.");
Admin[leader] = 1;
GetPlayerName(leader, name, 31);
format(strcatx, 256, "{009933}»American Truck SA-MP«{FFFFFF} Da?e? graczowi %s range administartora.",name);
SendClientMessage(playerid, -1, strcatx);
SendClientMessage(leader, -1, "{009933}===================================================");
SendClientMessage(leader, -1, "{009933}»American Truck SA-MP«{FFFFFF} Zosta?e? dodany do rangi administartor");
SendClientMessage(leader, -1, "{009933}===================================================");
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-05, 13:36


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

jaki sys. zapisu?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-05, 13:57


KaNdY







Wiek: 29
Na forum: 4487 dni
Posty: 53
Nick w MP: KaNdY

Piwa: 1

Respekt: 56,5

Dini

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-05, 16:03


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

Pawn

CMD:da2(playeridparams[]) //Daj admina (KaNdY & Sly) 
{ 
new strcatx[256]; 
new name[31]; 
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"{009933}»American Truck SA-MP«{FFFFFF} Nie jeste? Administratorem."); 
if(isnull(params) || strlen(params) > MAX_PLAYER_NAME) return SendClientMessage(playerid, -1"/da2 [nick]"); 

GetPlayerName(paramsname31); 

new xd[80]; 
format(xd80"Admini/%s.ini"name); 
dini_Create(xd);

format(strcatx256"{009933}»American Truck SA-MP«{FFFFFF} Da?e? graczowi %s range administartora.",name); 
SendClientMessage(playerid, -1strcatx); 
return 1; 
} 


W Scriptfiles stw?rz folder Admini

Odczyytwanie;'

Pawn

new n_adm[32];
GetPlayerName(playeridn_adm32); 

new s[90];
format(ssizeof(s), "Admini/%s.ini");
if(dini_Exists(s))
{
Admin[playerid] = 1;
return 1;
}


Chiba tak. To wyzej dajesz w OnPlayerConnect
tylko na samym koncu, przed zerowaniem zmiennej admin

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-05, 17:03


KaNdY







Wiek: 29
Na forum: 4487 dni
Posty: 53
Nick w MP: KaNdY

Piwa: 1

Respekt: 56,5

Kod:


C:\Users\szymom\Desktop\Server\gamemodes\drift1.pwn(727) : error 035: argument type mismatch (argument 1)


Oto b??d a tu linijka:
Kod:


GetPlayerName(params, name, 31);


Nie chc? robi? osobnego tematu, to zapytam tutaj. Robi? klikane TD i mam taki b??d:
Kod:


C:\Users\szymom\Desktop\Server\gamemodes\drift1.pwn(616) : warning 202: number of arguments does not match definition

A oto linijka:
Kod:


CancelSelectTextDraw(playerid, 556622);


I mam pytanko. Zrobi?by? jeszcze na usuni?cie admina?
Je?li Ci pomo?e masz star? komend?:
Kod:


CMD:za(playerid, params[]) //Zabierz admina (KaNdY & Sly)
{
new leader;
new strcatx[256];
new name[31];
leader = strval(params);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{009933}»American Truck SA-MP«{FFFFFF} Nie jeste? Administratorem.");
if(isnull(params)) return SendClientMessage(playerid, -1, "{009933}»American Truck SA-MP«{FFFFFF} Komenda na zabranie Vadministratora - /za [ID]");
if(!IsPlayerConnected(leader)) return SendClientMessage(playerid, -1, "{009933}»American Truck SA-MP«{FFFFFF} Niema gracza o podanym ID.");
Admin[leader] = 0;
GetPlayerName(leader, name, 31);
format(strcatx, 256, "{009933}»American Truck SA-MP«{FFFFFF} Zabra?e? graczowi %s range administratora.",name);
SendClientMessage(playerid, -1, strcatx);
SendClientMessage(leader, -1, "{009933}===================================================");
SendClientMessage(leader, -1, "{009933}»American Truck SA-MP«{FFFFFF} Zabrali Ci range administartora.");
SendClientMessage(leader, -1, "{009933}===================================================");
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-05, 17:10


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

Poomy?ka.

Pawn

CMD:da2(playeridparams[]) //Daj admina (KaNdY & Sly) 
{ 
new strcatx[256]; 

if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"{009933}»American Truck SA-MP«{FFFFFF} Nie jeste? Administratorem."); 
if(isnull(params) || strlen(params) > MAX_PLAYER_NAME) return SendClientMessage(playerid, -1"/da2 [nick]"); 


new xd[80]; 
format(xd80"Admini/%s.ini"params); 
dini_Create(xd);

format(strcatx256"{009933}»American Truck SA-MP«{FFFFFF} Da?e? graczowi %s range administartora."params); 
SendClientMessage(playerid, -1strcatx); 
return 1; 
} 


[ Dodano: 2014-10-05, 17:12 ]
CancelSelectTextDraw(playerid, 556622); ?

http://wiki.sa-mp.com/wiki/CancelSelectTextDraw

Poprawnie:
Pawn
 CancelSelectTextDraw(playerid);


[ Dodano: 2014-10-05, 17:16 ]
zabieranie:
Pawn

CMD:za(playeridparams[]) //Daj admina (KaNdY & Sly) 
{ 
new strcatx[256]; 

if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"{009933}»American Truck SA-MP«{FFFFFF} Nie jeste? Administratorem."); 
if(isnull(params) || strlen(params) > MAX_PLAYER_NAME) return SendClientMessage(playerid, -1"/za [nick]"); 

new n_adm[32];
GetPlayerName(playeridn_adm32); 

new s[90];
format(ssizeof(s), "Admini/%s.ini"n_adm);
if(dini_Exists(s))
{
dini_Remove(s);
return 1;
}

format(strcatx256"{009933}»American Truck SA-MP«{FFFFFF} Da?e? graczowi %s range administartora."params); 
SendClientMessage(playerid, -1strcatx); 
return 1; 
} 


Chyba tak. A i popraw odczytywanie na ten kod:

Pawn

new n_adm[32];
GetPlayerName(playeridn_adm32); 

new s[90];
format(ssizeof(s), "Admini/%s.ini"n_adm);
if(dini_Exists(s))
{
Admin[playerid] = 1;
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-05, 17:24


KaNdY







Wiek: 29
Na forum: 4487 dni
Posty: 53
Nick w MP: KaNdY

Piwa: 1

Respekt: 56,5

No niestety. Admina nadaje do folderu: scriptfiles > admini
Natomiast wszystko inne [tzn. kasa, score, vip, admin, etc.] czyta z samego: scriptfiles

Podes?a? Ci kod, czy mniej wi?cej wiesz, jak to wygl?da?
Bo nie wiem jak ustawi? aby zapisywa?o w: scriptfiles

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-05, 18:08


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

folder Admini ma by? z du?ej litery, /da2 ToxiC.

Powinno w folderze Admini ustworzy? plik ToxiC..ini

Jak dajesz Admina to co pisze, Da?e? graczowi NICK range administrator ?

ps; czekaj, to dodaje ale nie chce odczytywa?, ta?

[ Dodano: 2014-10-05, 18:15 ]
Pawn
new n_adm[32];
GetPlayerName(playeridn_adm32); 

new s[90];
format(ssizeof(s), "Admini/%s.ini"n_adm);
if(dini_Exists(s))
{
SendClientMessage(playerid, -1"Masz admina");
Admin[playerid] = 1;
}
else SendClientMessage(playerid, -1"Nie masz admina");


Jak nie odczytuje a w folderze Admini dodaje, to spr?buj to

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-05, 21:59


KaNdY







Wiek: 29
Na forum: 4487 dni
Posty: 53
Nick w MP: KaNdY

Piwa: 1

Respekt: 56,5

Te? nic nie da?o. I tak. Tworzy si? plik w 'Admini' z nickiem u?ytkownika .ini.
Ale ten plik w ?rodku jest pusty.
I nie czyta, czy gracz jest adminem, czy nie.

Przyk?adowo w: scriptfiles mam pliki ZAREJESTROWANYCH u?ytkownik?w a w ?rodku jest:
Kod:


haslo=12345
kasa=0
score=0
vip=0
admin=0

I teraz je?li admin = 0 - Brak Admina
Je?li admin = 1 - Gracz posiada admina.

Je?li mo?esz, zr?b komend?, kt?ra po prostu zmienia 'admin = 0' na 'admin = 1', a nie jakie? tworzenie nowych plik?w, w nowym folderze.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-06, 15:18


akon823

Czekotubka :D






Wiek: 29
Na forum: 4815 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

Kod:

CMD:dajadminahujkowi(playerid, params[])
{
new string[128];
new forid;

if(sscanf(params, "d", forid,)) return SendClientMessage(playerid, Czerwony, "Wpisz:{FFFFFF} /dajadminahujkowi [id] ");
if(!IsPlayerConnected(forid)) return SendClientMessage(playerid, Czerwony, "Gracz nie jest pod??czony!");
dini_IntSet(nazwatwojegopliku,"admin", 1);
format(string, sizeof(string), "Administrator: %s [id: %d], nada? tobie administratora.",PlayerName(playerid), playerid);
SendClientMessage(playerid, Czerwony, string);
format(string, sizeof(string), "Nada?e? graczowi: %s [id: %d].",PlayerName(forid), forid);
SendClientMessage(forid, Czerwony, string);

return 1;
}


Nie wiem czy to zadziala ale cos mniej wiecej takiego zrob tylko uzupe?nij swoimi danymi i dodaj swoje warunki bo nie wiem jakie tam masz.

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-06, 21:23


KaNdY







Wiek: 29
Na forum: 4487 dni
Posty: 53
Nick w MP: KaNdY

Piwa: 1

Respekt: 56,5

Przerobi?em troch? Tw?j system jeszcze i wysz?o mi co? takiego:
Kod:


CMD:da(playerid, params[]) //Daj admina (KaNdY & Sly)
{
new leader;
new strcatx[256];
new name[31];
leader = strval(params);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{009933}»American Truck SA-MP«{FFFFFF} Nie jeste? Administratorem.");
if(isnull(params) || strlen(params) > MAX_PLAYER_NAME) return SendClientMessage(playerid, -1, "/za [nick]");

Admin[leader] = 1;
GetPlayerName(leader, name, 31);
format(strcatx, 256, "{009933}»American Truck SA-MP«{FFFFFF} Da?e? graczowi %s range administartora.", params);
SendClientMessage(playerid, -1, strcatx);
return 1;
}

Problem polega na tym, ?e CHYBA mog? da? admina, gdy go?? jest na servere. Tzn. Gdy go nie ma pisz?, ?e daje mu admina, ale w plikach jest nadal admin = 0.
Ale gdy dawa?em sam sobie admina, to zmieni?o si? na: admin = 1.
Czyli zadzia?a?o.

Ale jeszcze jakby? umia?, to zrobi? tak, aby mo?na by?o da? nawet, gdy gracza nie ma na serverze.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-06, 21:57


akon823

Czekotubka :D






Wiek: 29
Na forum: 4815 dni
Posty: 399
Nick w MP: Remik14

Piwa: 152

Respekt: 76,8

Zamiast tego
Kod:

Admin[leader] = 1;
daj to
Kod:

dini_IntSet(nazwatwojegopliku,"admin", 1);


A jak nie to nie wiem, bo nie widze jak ?e? to zapisa? do pliku ziomek i jak? masz ?cie?k? do pliku.

Podpis
Postaw piwo autorowi tego posta
 

 
Tagi: komendy :: admina
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku