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

Wysłany: 2012-06-07, 11:54


mortal







Wiek: 35
Na forum: 5112 dni
Posty: 12



Respekt: 50

Siemka mam taki problem gdy? mam taka komende

Kod:

if(!strcmp(cmd, "/explode", true)){
new bum[256];
bum = strtok(cmdtext, idx);
if(Admin[playerid] == 1 || HeadAdmin[playerid] == 1)
if(!strlen(bum)){
SendClientMessage(playerid, COLOR_WHITE, "ERROR: U?yj: /explode [id gracza]");
return 1;}
if(Admin[playerid] == 1 || HeadAdmin[playerid] == 1){
new Float:x,Float:y,Float:z;
new gracz = strval(bum);
GetPlayerPos(gracz, x,y,z);
CreateExplosion(x,y,z,6,2);
CreateExplosion(x,y,z,6,2);
}else
SendClientMessage(playerid,COLOR_WHITE,"ERROR: Nieprawid?owa komenda");
return 1;}


i chcia? bym do niej doda? info kt?re m?wi mi jakiego gracza wysadzi?em oraz error ktory m?wi ?e nie ma gracza o takim ID (je?li nie ma go w grze)

mam tu takie kody (nie wiem czy dobre) ale gdzie je wstawi?

Kod:

format(string, sizeof(string), "ERROR: Z?e ID", giveplayerid);
SendClientMessage(playerid, COLOR_WHITE, string);

format(string, sizeof(string), "Wysadzi?e? gracza %s w powietrze",PlayerName(playerid));
SendClientMessageToAll(COLOR_GREEN,string);


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-06-07, 13:22


kurczak1324







Wiek: 29
Na forum: 5819 dni
Posty: 202
Nick w MP: Izzy

Piwa: 671

Respekt: 45,3

mortal, nie u?ywaj strcmp, lepsze jest zcmd.
Kod:

CMD:explode(playerid, params[])
{
new id, string[128];

if(sscanf(params, "d", id)) return SendClientMessage(playerid, 0xFF0000AA, "U?yj: /explode [id]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF0000AA, "Nie ma takiego gracza na serwerze...");
{

format(string,sizeof string, "Wysadzi?e? %s", PlayerName(id));
SendClientMessage(playerid,0xFFFFFF,string);

GetPlayerPos(id, x,y,z);
CreateExplosion(x,y,z,6,2);
CreateExplosion(x,y,z,6,2);

return 1;
}
}

Prawd? jest fakt i? na jesten parameter, nie trzeba u?ywac sscanfa.

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-06-07, 13:34


mortal







Wiek: 35
Na forum: 5112 dni
Posty: 12



Respekt: 50

a to jest jaka? du?a r?znica miedzy komendami strcmp a zcmd? i czy moge miec w mapie np kilka komend z zcmd i kilka z strcmp?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-06-07, 13:37


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

mortal, nie mo?esz mie?. Jeden system komend w mapie powinien by? :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-06-07, 13:43


mortal







Wiek: 35
Na forum: 5112 dni
Posty: 12



Respekt: 50

to ja chyba zostane juz przy tym strcmp bo mam w tym napisane eiele komend i nie chce mi sie ich przerabiac skoro dzialaja ;p

a co do tej komendy to mogl by ktos przerobic ta komende od kurczak1324 na taka jak ja podalem w 1 poscie i zeby dziala?a tylko na te rangi?

if(Admin[playerid] == 1 || HeadAdmin[playerid] == 1)

i jezeli by sie dalo to czy moglo by to byc z opisem bo chcia? bym sie tego jakos sam tez nauczyc :)

[ Dodano: 2012-06-07, 16:16 ]
OK po kilkunastu pr?bach wko?cu uda?o mi si? i poprawi?em sw?j kod wzoruj?c sie na kodzie od kurczak1324

Dzieki za pomoc :)


Temat mo?na zamkn??...

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-06-07, 20:12


kurczak1324







Wiek: 29
Na forum: 5819 dni
Posty: 202
Nick w MP: Izzy

Piwa: 671

Respekt: 45,3

mortal, robisz bardzo ?le!! ZCMD jest szybsze od strcmp, a cz??? strcmp mo?esz wrzuci? do ZCMD. Poza tym strcmp bardzo ?atow si? przeraba na ZCMD. Co do przerobiana cmd to dodaj pod komend?:
Kod:

if(Admin[playerid] == 1 || HeadAdmin[playerid] == 1){

//tu co si? dzieje jak gracz ma admina

}else{

//tu sie dzieje co? jak gracz nie ma admina

}


Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-06-07, 21:59


mortal







Wiek: 35
Na forum: 5112 dni
Posty: 12



Respekt: 50

kurczak1324, moze ja sie nie znam dobrze na tym ale jak dla mnie to nie jest takie proste przerobic komendy itp.. masz np taka komende

jest to przypadkowa komenda z jakiegos innego poradnika

Kod:

if(strcmp(cmd, "/givecash", true) == 0) {
//new tmp[256];
tmp = strtok(cmdtext, idx);

if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "WPISZ: /givecash [idgracza] [kwota]");
return 1;
}
giveplayerid = strval(tmp);

tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "WPISZ: /givecash [idgracza] [kwota]");
return 1;
}
moneys = strval(tmp);


if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys) {
GivePlayerMoney(playerid, (0 - moneys));
GivePlayerMoney(giveplayerid, moneys);
format(string, sizeof(string), "%s odda?e? graczowi (id: %d), $%d pieni?dzy.", giveplayer,giveplayerid, moneys);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "Otrzyma?e? $%d pieni?dzy od gracza %s (id: %d).", moneys, sendername, playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
}
else {
SendClientMessage(playerid, COLOR_YELLOW, "Nieprawid?owa kwota transakcji.");
}
}
else {
format(string, sizeof(string), "%d nie ma takiego gracza!", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}

i teraz jak by to mialo wygladac w zcmd? bo niby ok ze dodac to

Kod:

if(Admin[playerid] == 1 || HeadAdmin[playerid] == 1){

//tu co si? dzieje jak gracz ma admina

}else{

//tu sie dzieje co? jak gracz nie ma admina

}

tylko pytanie gdzie... bo jak wczesniej probowalem cos takiego zrobic ze to
Kod:

if(Admin[playerid] == 1 || HeadAdmin[playerid] == 1){

dawalem zaraz pod
Kod:

if(strcmp(cmd, "/givecash", true) == 0) {

a to
Kod:

}else{

//tu sie dzieje co? jak gracz nie ma admina

}

na koncu mapy to mi komenda nie dziala wcale choc pod wzgledem kodu nie ma errorow

ja mam taka zasade ze zrobie sobie jedna komende i potem wzoruje sie na niej i zamieniam i podstawiam co trzeba i jakos to leci bo ja glownie szukam gotowych komend i je przerabiam ale z takim kodem jak jest ten /givecash to nie wiem jak bo w nim juz sa te warunki else a jak dam kolejny to sie cala komenda pieprzy

Postaw piwo autorowi tego posta
 

 
Tagi: komenda
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