Poprzedni temat «» Następny temat
Autor Wiadomość
[BBCode Manager] Obs?uga php i mysql
djhors 


Posty: 7
Postawił 1 piw(a)
Skąd: Z Daleka...
Wysłany: Sob 31 Mar, 2007   [BBCode Manager] Obs?uga php i mysql
   Adres forum: www.sbss.go.pl


Witam czy w tym modzie mo?na przy obs?udze danego bbcode zaimplementowac obs?ug? jakiego? kodu ale w php. tzn ?e np. kod [indeksuj]costam[/inedksuj] wykona zapytanie do bazy
PHP Code:
<?php


$sql = "UPDATE wsgame_users SET postac = '{TEXT}' WHERE user_id = $aktualnyuzytkownik";
$result = $db->sql_query($sql);
$proces = $db->sql_fetchrow($result); 


?>

(taki byle jaki przyk?ad)
ewentualnie jak mniej wi?cej zmodyfikowa? Manager'a by to dzia?a?o ?
Postaw piwo autorowi tego posta
 
     
KnofeL 
Ti-Rex



Posty: 1546
Piwa: 3790/41
Skąd: Wodzis?aw ?l?ski
Wysłany: Sob 31 Mar, 2007   
   Adres forum: http://ave.nazwa.pl/knofel/


Oj.... A by si? odrazu posypa?y posty... ZCHAKOWALI MI FORUM!!! ;) Zapomnij o czym? takim.
_________________
..:: Made by KnofeL
::..

Chcesz pomocy... Tylko FORUM! nie wysy?a? do mnie PW!
Postaw piwo autorowi tego posta
 
     
djhors 


Posty: 7
Postawił 1 piw(a)
Skąd: Z Daleka...
Wysłany: Sob 31 Mar, 2007   
   Adres forum: www.sbss.go.pl


To mo?e inaczej kwesti? nie jest to aby ka?dy mia? do tego dost?p tzn do danego kodu BBCode. Wko?cu to administrator reguluje jaki kod php wykona u?ytkownik w??czaj?c dany kod BBCode i to moj rozs?dek mi powie (jako Adminowi) co mog? u?y? a co nie. zreszt? u?yj? blokady BBCode dla danego tematu czy forum i dla danego usera
narazie bawi?em si? z Forum AI - Botem odpowiadaj?cym na dane zapytania i wygl?da to tak:
PHP Code:
<?php


$dana = $HTTP_POST_VARS['message'];
$error = 0;
$tablica = explode("||", $dana);
// Wybor postaci
if ($tablica[1] == 'postac' ) 


    if ($tablica[2] == 'wybor') { 
// Sprawdza czy postac juz nie zostala wybrana
        $aktualnyuzytkownik = $userdata['user_id'];
        $sql = "SELECT user_id,username,postac FROM wsgame_users WHERE user_id = $aktualnyuzytkownik";
        $result = $db->sql_query($sql);
        $brakpostaci = $db->sql_fetchrow($result);
        $sql = "SELECT topic_id,topic_title FROM wsgame_topics WHERE topic_id = $topic_id";
        $result2 = $db->sql_query($sql);
        $tematpostow = $db->sql_fetchrow($result2);
        $sql = "SELECT forum_id,forum_name FROM wsgame_forums WHERE forum_id = $forum_id";
        $result3 = $db->sql_query($sql);
        $forumpostow = $db->sql_fetchrow($result3);
            if ($tematpostow['topic_title'] == $brakpostaci['username']) {
            if ($forumpostow['forum_name'] == 'Postac') {
// Wybieranie postaci
            if ($brakpostaci['postac'] == '0') 
            {
                $zakrestablicy = $tablica[4] + $tablica[5] + $tablica[6] + $tablica[7] + $tablica[8] + $tablica[9] + $tablica[10] + $tablica[11];
                        if ($zakrestablicy <> 80)  {
                        $error = 1;
                        $iai_message = "Wykorzysta?e? za du?o lub za ma?o punkt?w statystyk (do wykorzystania - 80pkt)!";
                        }    
                switch($tablica[3]) {
                    case 'czlowiek':
                        $Rasa = "czlowiek";
                        $WWplus = 20 + $tablica[4]; $USplus = 20 + $tablica[5]; $Kplus = 20 + $tablica[6]; $Odpplus = 20 + $tablica[7]; $Zrplus = 20 + $tablica[8]; $Intplus = 20 + $tablica[9]; $SWplus = 20 + $tablica[10]; $Ogdplus = 20 + $tablica[11]; $Atak = 1; $Zywnosc = 0; $Sila = floor($tablica[6]/10); $Wytrzymalosc = floor($tablica[7]/10); $Szybkosc = 4; $Magia = 0; $Obled = 0; $Przeznaczenie = 0;
                    break;
                    case 'elf':
                        $Rasa = "elf";
                        $WWplus = 20 + $tablica[4]; $USplus = 30 + $tablica[5]; $Kplus = 20 + $tablica[6]; $Odpplus = 20 + $tablica[7]; $Zrplus = 30 + $tablica[8]; $Intplus = 20 + $tablica[9]; $SWplus = 20 + $tablica[10]; $Ogdplus = 20 + $tablica[11]; $Atak = 1; $Zywnosc = 0; $Sila = floor($tablica[6]/10); $Wytrzymalosc = floor($tablica[7]/10); $Szybkosc = 5; $Magia = 0; $Obled = 0; $Przeznaczenie = 0;
                    break; 
                    case 'krasnolud':
                        $Rasa = "krasnolud";
                        $WWplus = 30 + $tablica[4]; $USplus = 20 + $tablica[5]; $Kplus = 20 + $tablica[6]; $Odpplus = 30 + $tablica[7]; $Zrplus = 10 + $tablica[8]; $Intplus = 20 + $tablica[9]; $SWplus = 20 + $tablica[10]; $Ogdplus = 10 + $tablica[11]; $Atak = 1; $Zywnosc = 0; $Sila = floor($tablica[6]/10); $Wytrzymalosc = floor($tablica[7]/10); $Szybkosc = 3; $Magia = 0; $Obled = 0; $Przeznaczenie = 0;
                    break; 
                    case 'niziolek':
                        $Rasa = "niziolek";
                        $WWplus = 10 + $tablica[4]; $USplus = 30 + $tablica[5]; $Kplus = 10 + $tablica[6]; $Odpplus = 10 + $tablica[7]; $Zrplus = 30 + $tablica[8]; $Intplus = 20 + $tablica[9]; $SWplus = 20 + $tablica[10]; $Ogdplus = 30 + $tablica[11]; $Atak = 1; $Zywnosc = 0; $Sila = floor($tablica[6]/10); $Wytrzymalosc = floor($tablica[7]/10); $Szybkosc = 4; $Magia = 0; $Obled = 0; $Przeznaczenie = 0;
                    break;
                    default:
                        $iai_message = "Niepoprawna rasa!";
                        $error = 1;
                            }
                
                
                switch($tablica[12]) {
                    case 'akolita':
                        $plusWW = 5; $plusUS = 5; $plusK = 0; $plusOdp = 5; $plusZr = 0; $plusInt = 10; $plusSW = 10; $plusOgd = 10; $plusA = 0; $plusZyw = 2; $plusS = 0; $plusWt = 0; $plusSz = 0; $plusMag = 0; $umiejetnosci = "czytanie i pisanie, leczenie, nauka (astronomia albo historia), nauka (teologia), przekonywanie, spostrzegawczosc, znajomosc jezyka (klasyczny), znajomosc jezyka (staroswiecki)";
                    break;
                    default:
                    $error = 1;
                    $iai_message = "Niepoprawna profesja!"; 
                             }

                
             }
else {
$iai_message = "Posta? masz ju? stworzon?, nie mo?esz jej sam zmieni?!";            
    }
}
else { $iai_message = "Posta? mo?na stworzy? tylko na Forum: Postac"; }
        }

else { $iai_message = "Posta? mo?na stworzy? tylko w swoim temacie: <Tw?j Nick>"; }
}
else {$iai_message = "Niepe?na lub niepoprawna komenda!";}


}
if ($error == 0) 
                        {
                        $sql = "UPDATE wsgame_users SET postac = '1', postac_rasa = '$Rasa', postac_WW = '$WWplus', postac_US = '$USplus', postac_K = '$Kplus', postac_Odp = '$Odpplus', postac_Zr = '$Zrplus', postac_Int = '$Intplus', postac_SW = '$SWplus', postac_Ogd = '$Ogdplus', postac_A = '$Atak', postac_Zyw ='$Zywnosc', postac_S = '$Sila', postac_Wt = '$Wytrzymalosc', postac_Sz = '$Szybkosc', postac_Mag = '$Magia', postac_PO = '$Obled', postac_PP = '$Przeznaczenie', postac_WWplus = '$plusWW', postac_USplus = '$plusUS', postac_Kplus = '$plusK', postac_Odpplus = '$pplusOd', postac_Zrplus = '$plusZr', postac_Intplus = '$plusInt', postac_SWplus = '$plusSW', postac_Ogdplus = '$pluOgds', postac_Aplus = '$pluA', postac_Zywplus ='$plusZyw', postac_Splus = '$plusS', postac_Wtplus = '$plusWt', postac_Szplus = '$plusSz', postac_Magplus = '$plusMag', postac_PD ='0', postac_umiejetnosci = '$umiejetnosci' WHERE user_id = $aktualnyuzytkownik";
                        $result = $db->sql_query($sql);
                        $proces = $db->sql_fetchrow($result);
                        $iai_message = "Postac stworzona. Sprawdz swoje statystyki!";
                        

                        }
if ($tablica[0] == 'KOMENDA:') { 


iai_submit_post($iai_mode, $iai_id, $forum_id, $topic_id, $iai_post_id, $iai_topic_type, 1, 1, 1, 1, $bbcode_uid, str_replace("\'", "''", $iai_username), str_replace("\'", "''", $iai_subject), str_replace("\'", "''", $iai_message));
iai_update_post_stats($forum_id, $topic_id, $iai_post_id, $iai_id);


?>


Nie jest to kod mo?e z byt ambitny ale zostawmy t? kwesti?, tutaj po modyfikacji tabeli user'a jest tworzona posta? dla danego user'a ale chc? to zamieni? na obs?ug? przez BBCode.

DZia?a to na zasadzie takiej ?e kto? pisze posta:
Kod

KOMENDA::||postac||wybor||elf||10||20||30||5||5||1||5||4||akolita||

i tworzona jest postac dla danego user'a. Mam tylko problem z implementacj? tego przy edytowaniu w?asnego profilu aby kody pozostawi? tylko dla mistrz?w gry. Oczywi?cie wcze?niej przed kodem jest zabezpieczenie aby kod zadzia?a? tylko dla danego u?ytkownika, dla danego tematu i jego tytu?u oraz grupy,
Jakies sugestie...?
Postaw piwo autorowi tego posta
 
     
KnofeL 
Ti-Rex



Posty: 1546
Piwa: 3790/41
Skąd: Wodzis?aw ?l?ski
Wysłany: Sob 31 Mar, 2007   
   Adres forum: http://ave.nazwa.pl/knofel/


Hmmm nie za bardzo wiem o co chodzi?? Chesz aby tworzenie nowych postaci odbywa?o si? na zasadzie ?e user zak?ada nowy temat z odpowiednio napisanym postem?? Bo je?li tak to jest to troche "dziwny" pomys? no ale je?li chesz to ja bym to zrobi? tak:

- Stworzy? now? tabel? np phpbb_chars
- Ten skrypt kt?ry tu doda?e? umie?ci?bym w jaki? pliku (np. create_char.php)
- Nast?pnie stworzy?bym sobie tag np [NEWCHAR][/NEWCHAR] w kt?rym trzeba by poda? odpowiednie dane np:
Kod
[newchar]KnofeL,Kobieta,Elf,Wojownik,1,2,3,4,5,6,7,8,9,10[/newchar]

- Kiedy user kliknie wy?lij nast?pi sprawdzenie czy jest to nowy temat, w jakim dziale zosta? napisany. Je?li oba te warunki zostan? spe?nione zostanie do??czony plik create_char.php kt?ry odpowiednio przetworzy sobie zawarto?? tagu [newchar].

Dlaczego proponuje tag, ?eby user m?g? ew doda? jakie? inne informacje - mo?na by w ten spos?b zrobi? wizyt?wk? ka?dego gracza.

Ja bym to tak widzia?, proste i bez zb?dnego kombinowania.
_________________
..:: Made by KnofeL
::..

Chcesz pomocy... Tylko FORUM! nie wysy?a? do mnie PW!
Postaw piwo autorowi tego posta
 
     
djhors 


Posty: 7
Postawił 1 piw(a)
Skąd: Z Daleka...
Wysłany: Sob 31 Mar, 2007   
   Adres forum: www.sbss.go.pl


No tak, przy mojej komendzie u?ytkownik mo?e doda? inne informacje gdyz zostan? potraktowane jako nast?pny rekord tablicy, ale to ma?o istotne gdy? wszelkie komendy u?ytkownik b?dzie m?g? wykonywa? tylko w osobnym temacie kt?ry b?dzie swojego rodzaju inrepreterem i nie b?dzie za?mieca? reszty forum. Za? opis postaci b?dzie w innym temacie gdy? temat "interpretera" b?dzie musia? by? zablokowany dla reszty u?ytkownik?w aby nie mieli wgl?du na posta?.
My?la?em te? aby zaimplementowa? to przy rejestracji ale tu spotykam si? z pewnym problemem ot?z wiem ?e do tworzenia nowych p?? w profilu wystarczy mod z tzw. prefix'ami i sufiksami ale tam te? napotykam si? na ograniczeniem niemo?no?ci wciskania kodu php. NIe wiem zabardzo jak "r?cznie" stworzy? nowe pole w profilu kt?rego warto?? b?dzie zapisywana do tablicy a p??niej blokowana do dalszej edycji przez u?ytkownika ale tylko w przypadku gdy jakis_tam_rekord bedzie mia? warto?? 1. Prosz? o ma?? podpowied? kt?re pliki odpowiadaja za pola profilu (jego edycj?, warto?ci itd.) i ich os?ug? - ewentualnie w kt?rej cz??ci skryptu, to ju? sobie powinienem poradzi?.

[ Dodano: Sob 31 Mar, 2007 ]
I co do tego tag'u. Na jakiej instrukcji mia?bym go stworzy? ?eby system forum bra? pod uwag? plik create_char.php - bo trochu nie kapuj? tego.
Postaw piwo autorowi tego posta
 
     
KnofeL 
Ti-Rex



Posty: 1546
Piwa: 3790/41
Skąd: Wodzis?aw ?l?ski
Wysłany: Sob 31 Mar, 2007   
   Adres forum: http://ave.nazwa.pl/knofel/


1. usercp_viewprofile.php, usercp_register.php chyba tylko to.
2. Bra? pod uwag??? Co to znaczy?
_________________
..:: Made by KnofeL
::..

Chcesz pomocy... Tylko FORUM! nie wysy?a? do mnie PW!
Postaw piwo autorowi tego posta
 
     
djhors 


Posty: 7
Postawił 1 piw(a)
Skąd: Z Daleka...
Wysłany: Sob 31 Mar, 2007   
   Adres forum: www.sbss.go.pl


Ad.1. Dzi?ki ;)
Ad2. NO tak jesli m?j skrypt z warunkami wsadz? w osobny plik to system przy wywo?aniu tagu musi wiedzie? ?e w tym pliku s? warunki do tagu. Ewentualnie pro?ciej: jak stworzy? ten tag. (bo w ko?cu nie chyba przez BBCode manager skoro nie ma tam obs?ugi php)
Postaw piwo autorowi tego posta
 
     
KnofeL 
Ti-Rex



Posty: 1546
Piwa: 3790/41
Skąd: Wodzis?aw ?l?ski
Wysłany: Sob 31 Mar, 2007   
   Adres forum: http://ave.nazwa.pl/knofel/


Include tego pliku i przeszukanie zawarto?? postu pod k?tem tagu [newchar]:

Kod
$new_char = preg_replace("#\[newchar\](.*?)\[/newchar\]#si", "\\1", $HTTP_POST_VARS['message'] );
$new_char_data = explode(',', $new_char);
_________________
..:: Made by KnofeL
::..

Chcesz pomocy... Tylko FORUM! nie wysy?a? do mnie PW!
Postaw piwo autorowi tego posta
 
     
Więcej szczegółów
Wystawiono 1 piw(a):
djhors
djhors 


Posty: 7
Postawił 1 piw(a)
Skąd: Z Daleka...
Wysłany: Sob 31 Mar, 2007   
   Adres forum: www.sbss.go.pl


HM, no tak, juz mi m?zg wysiad? :D zabiore si? za to p?xniej ale piwo mas ;)
_________________
www.worldshadow.go.pl & www.sbss.go.pl
Postaw piwo autorowi tego posta
 
     
KnofeL 
Ti-Rex



Posty: 1546
Piwa: 3790/41
Skąd: Wodzis?aw ?l?ski
Wysłany: Sob 31 Mar, 2007   
   Adres forum: http://ave.nazwa.pl/knofel/


Te? jak mi si? nudzi pisze sobie "engine" takiej gry RPG :)
_________________
..:: Made by KnofeL
::..

Chcesz pomocy... Tylko FORUM! nie wysy?a? do mnie PW!
Postaw piwo autorowi tego posta
 
     
djhors 


Posty: 7
Postawił 1 piw(a)
Skąd: Z Daleka...
Wysłany: Sob 31 Mar, 2007   
   Adres forum: www.sbss.go.pl


Hm, fajnie, jak pewnie si? domy?li?e? jad? na Warhamerze'e nowej edycji ale jeszcze kupa roboty prze de mn? bynajmniej b?dzie dzia?a?a na zasadzie sesji prowadzonych przez MG ale gracze bed? mieli sta?e postacie, MG beda mogli obnizaj statystyki (podwy?szanie statystyk tylko w przypadku odpowiedniej ilosci PD) ale te? na pewnych zasadach bota mam bo chce spr?bowac te? z automatycznymi questam'i no nic zabieram si? jutro za pisanie :)
Postaw piwo autorowi tego posta
 
     
KnofeL 
Ti-Rex



Posty: 1546
Piwa: 3790/41
Skąd: Wodzis?aw ?l?ski
Wysłany: Sob 31 Mar, 2007   
   Adres forum: http://ave.nazwa.pl/knofel/


Ja tam chc? to zrobi? na zasadzie Ogame i tego typu gier ;)
_________________
..:: Made by KnofeL
::..

Chcesz pomocy... Tylko FORUM! nie wysy?a? do mnie PW!
Postaw piwo autorowi tego posta
 
     
They

Posty: 127
Piwa: 333/10
Skąd: Przejdź do mapy
Wysłany: Sob 31 Mar, 2007   
   Adres forum: www.forum.alldeaf.pl | www.design.alldeaf.pl


KnofeL napisał/a
Ja tam chc? to zrobi? na zasadzie Ogame i tego typu gier ;)
yyy co chcesz zrobi? z tym OGame ? :roll:
ciekawski jestem :mrgreen:
Postaw piwo autorowi tego posta
 
     
djhors 


Posty: 7
Postawił 1 piw(a)
Skąd: Z Daleka...
Wysłany: Sob 31 Mar, 2007   
   Adres forum: www.sbss.go.pl


KnofeL napisał/a
Ja tam chc? to zrobi? na zasadzie Ogame i tego typu gier ;)


Tia widzia?em wszystkie produkcje GameFusion.de - takie c?? samemu zrobi? to b?dzie kawa? roboty ;)
Postaw piwo autorowi tego posta
 
     
KnofeL 
Ti-Rex



Posty: 1546
Piwa: 3790/41
Skąd: Wodzis?aw ?l?ski
Wysłany: Sob 31 Mar, 2007   
   Adres forum: http://ave.nazwa.pl/knofel/


Dok?adnie... ale krok po kroczku i co? z tego b?dzie :P
_________________
..:: Made by KnofeL
::..

Chcesz pomocy... Tylko FORUM! nie wysy?a? do mnie PW!
Postaw piwo autorowi tego posta
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
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
Nie możesz załączać plików na tym forum
Nie możesz ściągać załączników na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  



Za treść postów administracja nie odpowiada. W przypadku naruszenia prawa, wszelkie zgromadzone dane o osobie łamiącej prawo, zostaną przekazane odpowiednim władzom. Kopiowanie elementów graficznych oraz rozwiązań technologicznych zastosowanych na niniejszej witrynie surowo wzbronione.
Strona wygenerowana w 0,86 sekundy. Zapytań do SQL: 53