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

Wysłany: 2014-09-22, 13:30


kazami

Pawner/PTG






Wiek: 27
Na forum: 4596 dni
Posty: 405
Nick w MP: adi888

Piwa: 43

Respekt: 76,3

Ostrzeżeń: 80%
Witam mam do was pytanie jak zrobi? komend? np. /wyplata , koende zrobic potrafi? ale do was mam pytanie jak zrobi? takie co? ?e jak wpisz? t? cmd to wszystkim graczom kt?rzy maj? zmienna dane[playerid][Frakcja] = 4, dostan? dan? ilo?? pieni?dzy , i te pieni?dze maj? dosta? ci co s? na serwerze oraz ci co nie ma ich na serwerze . Map? pisz? w mysql help :)

Aha i jeszcze jedno pytanie jak zrobi? cmd np. lista pracownik?w ,ta cmd mia?? by wy?wietla? wszystkich pracownik?w pracuj??ych w tej Frakcji.
Za pomoc piwo.

Ostatnio zmieniony przez kazami 2014-09-22, 16:53, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-22, 16:00


Iggy

#admin






Wiek: 26
Na forum: 4597 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
kazami, co do tej listy pracownik?w to musisz da? warunek, kt?ry b?dzie sprawdza?, czy gracz jest w danej frakcji i je?eli jest to aby pojawia? si? na li?cie pracownik?w danej frakcji. :)

Ostatnio zmieniony przez Iggy 2014-09-24, 18:48, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-22, 16:54


kazami

Pawner/PTG






Wiek: 27
Na forum: 4596 dni
Posty: 405
Nick w MP: adi888

Piwa: 43

Respekt: 76,3

Ostrzeżeń: 80%
Ale jak musi wygl?da? ten warunek ?

Najpierw zapytanie do bazy danych MySql i potem warunek ?e if(dane[playerid][Frakccja] == 4) czy jak ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-22, 20:20


Terefere







Wiek: 31
Na forum: 4320 dni
Posty: 9

Piwa: 2

Respekt: 50

Pierwsz? cz??? spr?buj zrobi? sam : >

Pawn

#include <foreach> //gdzies na g?rze
#define WHITE "{ffffff}"
CMD:lista(playerid,params[])
{
    new iloscp;
    foreach (new ii Player)
    {
        if(dane[ii][Frakcja] == 4)
        {
            
            iloscp++;
            
        }
    }
    
    
    new buf[1024];
    if(iloscp== 0){
        SendClientMessage(playerid,-1,""WHITE"Na serwerze nie ma obecnie ?adnego cz?onka frakcji!");
        return 1;
    }
    format(buf,sizeof(buf),""WHITE"Lista cz?onk?w frakcji: \n");
    foreach( new player Player){
        if(dane[player][Frakcja] == 4){
                    format(buf,sizeof(buf),"%s\n{D60000}(Frakcja 4) \t"WHITE"%s",buf,PlayerName(player));
                } else if(dane[player][Frakcja] == 2) {
                    format(buf,sizeof(buf),"%s\n{FF3C3C}(Frakcja 2) \t"WHITE"%s",buf,PlayerName(player));
                } else if(dane[player][Frakcja] == 1) {
                    format(buf,sizeof(buf),"%s\n{387aff}(Frakcja 1) \t"WHITE"%s"buf,PlayerName(player));
                }
            }
            
            
    ShowPlayerDialog(playerid,0,0,"Czlonkowie frakcji",buf,"OK","");
    return 1;
}


Je?li chcesz u?y? np /lista frakcja1 lub /lista frakcja2 to wtedy sprawdzasz argumenty funkcji, np:
Pawn

if (strcmp(params"frakcja1"true)=={
 //zmieniasz warunek filtrujacy liste graczy
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-22, 20:30


kazami

Pawner/PTG






Wiek: 27
Na forum: 4596 dni
Posty: 405
Nick w MP: adi888

Piwa: 43

Respekt: 76,3

Ostrzeżeń: 80%
oki dzi?ki wielkie :) piwo dla cb

[ Dodano: 2014-09-22, 20:32 ]
a nie da rady zrobi? tego zamiast tego foreach p?tl? for(new i; i < MAX_PLAYERS; i++) ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-22, 21:55


Terefere







Wiek: 31
Na forum: 4320 dni
Posty: 9

Piwa: 2

Respekt: 50

Da si?. Ale po co? R??nicy w praktyce brak, foreach jest troch? ?atwiejsze do ogarni?cia sk?adniowo. Twoja decyzja, osobi?cie korzystam z rozwi?zania kt?re wy?ej przedstawi?em.

Btw, zmie? sobie ID Dialogu co by to nie kolidowa?o z innym dialogiem o tym samym ID. Radz? od pocz?tku je porzadkowa?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-23, 07:54


kazami

Pawner/PTG






Wiek: 27
Na forum: 4596 dni
Posty: 405
Nick w MP: adi888

Piwa: 43

Respekt: 76,3

Ostrzeżeń: 80%
to b?d? musia? si? foreach uczy? :D a napisa?by? mi to jeszcze w tej p?tli ? for(new i; i < MAX_PLAYERS; i++)

[ Dodano: 2014-09-23, 07:58 ]
Kod:


CMD:lista(playerid, params[])
{
new ilosccp;
foreach(new i: Player)
{

}
return 1;
}

Current directory: C:\Users\Adam\Desktop\PTG 2014\Serwer PTG\gamemodes
PTG.pwn(4157) : error 017: undefined symbol "foreach"
PTG.pwn(4157) : error 029: invalid expression, assumed zero
PTG.pwn(4157) : error 017: undefined symbol "Player"
PTG.pwn(4157) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.


[ Dodano: 2014-09-23, 08:05 ]
Ale to jeszcze jest ?le ja chc? aby ta komenda pokazywa?a wszystkich pracownik?w kt?rzy pracuj? w tej frakcji a nie s? na serwerze . help

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-23, 16:06


Terefere







Wiek: 31
Na forum: 4320 dni
Posty: 9

Piwa: 2

Respekt: 50

#include <foreach>

+ pobierasz: https://www.dropbox.com/s...oreach.inc?dl=0

Co do drugiego: Jak przynale?no?c do frakcji reprezentowana jest w bazie danych?
masz np. tabel? players i tam kolumn? frakcja? Czy masz osobn? tabel? np. frakcje i tam kolumn? z nazw? i id konta?
Przyk?adowo mo?e byc tak, ?e pobierasz querk? wszystko z tabeli players, nast?pnie w p?tli while rozdzielasz to wszystko sscanfem i listujesz do dialogu.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-09-23, 17:22


kazami

Pawner/PTG






Wiek: 27
Na forum: 4596 dni
Posty: 405
Nick w MP: adi888

Piwa: 43

Respekt: 76,3

Ostrzeżeń: 80%
mam to w tabeli user tam dane haslo nick itp i jest "Frakcja" i tam to siedzi napisal bys taki kod pobierajacy tych ktorzy maja np. Frakcja 4

[ Dodano: 2014-09-25, 18:03 ]
ref kto? pomo?e ? stawiam browarka

[ Dodano: 2014-09-26, 21:53 ]
Kombinuj? co? takiego ale nw jak dalej jak zrobi? aby pokazywa?o list? wszystkich graczy kt?rzy s? maja Frakcja > 0

i s? offline

Pawn

CMD:lista(playeridparams[])
{
    new query[512];
    format(querysizeof(query), "SELECT `Frakcja` FROM `user`");
    mysql_query(query);
    mysql_store_result();
    mysql_free_result();
    return 1;
}



Postaw piwo autorowi tego posta
 

 
Tagi: lista :: pracowników
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [INNE] Lista pracowników 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