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, 19:45


mortal







Wiek: 35
Na forum: 5112 dni
Posty: 12



Respekt: 50

Witam posiadam taki kod:

Kod:

if(!strcmp(cmd, "/tpdo", true)){
new tp[256],giveplayerid;
tp = strtok(cmdtext, idx);
giveplayerid = strval(tp);
if(Admin[playerid] == 1 || HeadAdmin[playerid] == 1 || JuniorAdmin[playerid] == 1 || User[playerid] == 1)
if(!strlen(tp)){
SendClientMessage(playerid, COLOR_WHITE, "ERROR: U?yj: /tpdo [id]");
return 1;}
if(!IsPlayerConnected(giveplayerid)){
SendClientMessage(playerid, COLOR_WHITE, "ERROR: Nie ma takiego gracza...");
return 1;}
if(IsPlayerConnected(giveplayerid)){
new str[256];
new string[256];
format(string, sizeof(string), "Wys?a?e? propozycje do [%s][ID:%d] Poczekaj na odpowiedz...", PlayerName(giveplayerid), giveplayerid);
SendClientMessage(playerid, COLOR_GREEN, string);
format(str, sizeof(str), "Dosta?e? propozycje od [%s][ID:%d]", PlayerName(playerid), playerid);
SendClientMessage(giveplayerid, COLOR_ZOLTY, str);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Potwierdzenie", "Pewien gracz chce si? do ciebie teleportowa?\n\nZezwalasz na Teleportacje?", "Tak", "Nie");
print(str);
}else
SendClientMessage(playerid,COLOR_WHITE,"ERROR: Nieprawid?owa komenda");
return 1;}

I teraz mam problem bo nie wiem jak zrobic zeby po nacisnieciu Tak wysla?o wiadomo?? do tego kto wyslal propozycje ?e potwierdzenie zostalo przyjete i zeby go teleportowalo do gracza ktory to potwierdzil ;p

o ile wiem to trzeba wykorzysta?

Kod:

if(dialogid == 1){
if(response == 1){ //Sprawdzamy, czy zosta? naci?ni?ty lewy przycisk
//efekt
}
else
{
//efekt
}
return 1;}

oraz funkcje GetPlayerPos i SetPlayerPos lecz mi sie to jakos nie klei bo nie wiem czy pobierac i wczytywac pozycje po nacisnieciu przycisku czy pobrac juz w chwili wysylania przez gracza propozycji... Czy mog? by mi ktos poradzi? jak to powinno wygl?da? lub pokazac na jakims przykladzie? byl bym wdzieczny :)

Postaw piwo autorowi tego posta
 

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


kurczak1324







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

Piwa: 671

Respekt: 45,3

Musisz zapisa? do zmiennej id gracza kt?ry u?y? cmd, a nast?pnie pobra? pozycje od playerid(czyli ten co do niego zaproszenie wys?ano). Po pobraniu pozycji ustawiasz ja dla tego id ze zmiennej. Pozycje pobierasz po naci?ni?ciu przycisku, a id gracza pobierasz w komendzie.

Podpis
Postaw piwo autorowi tego posta
 

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


mortal







Wiek: 35
Na forum: 5112 dni
Posty: 12



Respekt: 50

kurczak1324, cos mi nie wychodzi to... wymeczy?em jakis kod ale on itak nie chce dzia?ac jak trzeba... nie mam wlasnego serwa wiec nie wiem czy te wiadomosci ktore wysy?am ida do prawid?owego adresata tzn do tego kto wys?al propozycje bo jak stawiam domowy serw to moge wyslac tylko sam do siebie ;p
i poza tym to niby z wygladu dzia?a ale nie wiem dlaczego teleportuje mnie wgle w inne miejsce na jakas wies czy cos nie kumam tego :/

jak masz czas to zalukaj w ten kod co tam jest nie tak
Kod:

if(!strcmp(cmd, "/tpdo", true)){
new tp[256],giveplayerid;
tp = strtok(cmdtext, idx);
giveplayerid = strval(tp);
if(Admin[playerid] == 1 || HeadAdmin[playerid] == 1 || JuniorAdmin[playerid] == 1 || User[playerid] == 1)
if(!strlen(tp)){
SendClientMessage(playerid, COLOR_WHITE, "ERROR: U?yj: /tpdo [id]");
return 1;}
if(!IsPlayerConnected(giveplayerid)){
SendClientMessage(playerid, COLOR_WHITE, "ERROR: Nie ma takiego gracza...");
return 1;}
if(IsPlayerConnected(giveplayerid)){
new str[256];
new string[256];
new Float:graczX, Float:graczY, Float:graczZ;
GetPlayerPos(giveplayerid,graczX, graczY, graczZ);
format(string, sizeof(string), "Wys?a?e? propozycje do [%s][ID:%d] Poczekaj na odpowiedz...", PlayerName(giveplayerid), giveplayerid);
SendClientMessage(playerid, COLOR_GREEN, string);
format(str, sizeof(str), "Dosta?e? propozycje od [%s][ID:%d]", PlayerName(playerid), playerid);
SendClientMessage(giveplayerid, COLOR_ZOLTY, str);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Potwierdzenie", "Pewien gracz chce si? do ciebie teleportowa?\n\nZezwalasz na Teleportacje?", "Tak", "Nie");
print(str);
}else
SendClientMessage(playerid,COLOR_WHITE,"ERROR: Nieprawid?owa komenda");
return 1;}

i w
Kod:

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{

Kod:

new tp[256],giveplayerid;
giveplayerid = strval(tp);

if(dialogid == 1){ //komenda /tpdo
if(response == 1){ //Sprawdzamy, czy zosta? naci?ni?ty lewy przycisk
new Float:graczX, Float:graczY, Float:graczZ;
new string[256];
SetPlayerPos(playerid,graczX, graczY, graczZ+5);
format(string, sizeof(string), "[%s][ID:%d] Potwierdzi? twoj? propozycj?", PlayerName(giveplayerid), playerid);
SendClientMessage(playerid, COLOR_GREEN, string);
}else{
new string[256];
format(string, sizeof(string), "[%s][ID:%d] Odrzuci? twoj? propozycj?", PlayerName(giveplayerid), playerid);
SendClientMessage(playerid, COLOR_GREEN, string);
}
return 1;}


albo moze w wolnej chwili mogl bys mi napisac taki poprawny kod ktory zgadzal by sie z ta moja komenda a ja bym zgapil i jakos tam postaram sie zrobic

Postaw piwo autorowi tego posta
 

 
Tagi: komenda :: /tpdo :: gui
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