• User Attivo

    Creare Comandi Esempio /russa

    Ciao ragazzi,
    Come ben sapete parlo sempre della chat che stò facendo..
    Ecco ora vorrei implementare dei comandi, cioè alcuni comandi sono già inseriti ma tramite una Texbox a tendina dove escono già preparate.
    Ora vorrei fare in modo che se un utente scriva /russa il server me lo prende come comando e mi stampi il risultato che potrebbe essere "Nick russa facendo molto rumore".

    Credo non sia complicato farlo, solo che non capisco come implementare lo /..

    Se qualcuno mi aiuta.. Grazie, Saluti.


  • Moderatore

  • User Attivo

  • User Attivo

    @Sovietiko said:

    Grazie massy,
    sempre unico! 😄

    consiglio... prima del replace controlla pero' che sia il primo carattere del testo lo /....


  • User Attivo

    @CZero said:

    consiglio... prima del replace controlla pero' che sia il primo carattere del testo lo /....
    Ciao,
    ho provato. ho scritto il seguente codice:

        $emotesnormali = array("sesso","abbraccio");
        $emotes = array("Prende $Nome e se lo tromba sul letto! :-D","Dà a $Nome Un GrossoO Abbraccio *:-):-)");
        $result = str_replace($emotesnormali,$emotes,$MSG_CHAT);
    
    

    Per cui alle parole /sesso e /abbraccio mi viene fuori l'emozione.. Il codice che ho usato per fare in modo che vede lo / come codice è questo

    
    else if($TIPO_CHAT2==47) $TIPO_CHAT=Emozione;
    
    

    47 in codici ascii sarebbe lo /.. Solo che cè un piccolo problema.. Siccome quando la variabile $TIPO_CHAT è == Emozione il server mi printa il risultato con il colore delle emotes, per cui se uno scrive

    /ho troppo sonno, vado a letto

    Il risultato sarà come una Emotes... Come posso impedire ciò? 😄

    Altro problema... devo fare un controllo. Allora se l'utente che invia l'emotes è una ragazza, l'emotes sesso dovrebbe essere

    Ragazza: Prende Tizio, lo porta in camera emmm...

    Se invece è un uomo a scriverlo verso un altro uomo dovrebbe uscire

    Tizio: ma sono sicuro di quello che faccio?

    In poche parole da una emotes devo controllare il nick e se è Maschio escono fuori di una maniera, se è una donna un altra..

    Help 😄 Grazie, Saluti.


  • User Attivo

    ehm, forse non mi sono spiegato.... facciamo cosi'...

    $emotesnormali = array("sesso","abbraccio");

    diventa

    $emotesnormali = array("/sesso","/abbraccio");

    quindi fai un bel
    $parole = explode(" ",$MSG_CHAT);

    e usi $parole[0] per confrontarlo con l'array delle azioni...

    Per quanto rigurad il sesso a quest'ora mi viene da consigliarti solo di fare due array uno con i messaggi al femminile, l'altro con quelli al maschile, e usi uno o l'altro a seconda del sesso del nick...


  • User Attivo

    @CZero said:

    ehm, forse non mi sono spiegato.... facciamo cosi'...

    $emotesnormali = array("sesso","abbraccio");

    diventa

    $emotesnormali = array("/sesso","/abbraccio");

    quindi fai un bel
    $parole = explode(" ",$MSG_CHAT);

    e usi $parole[0] per confrontarlo con l'array delle azioni...

    Per quanto rigurad il sesso a quest'ora mi viene da consigliarti solo di fare due array uno con i messaggi al femminile, l'altro con quelli al maschile, e usi uno o l'altro a seconda del sesso del nick...
    Emmm rallenta 😄
    Se viene scritto /prova nel database mi viene salvato solo prova senza lo /.. Questo è il problema 😄

    Saluti.


  • User Attivo

    @Sovietiko said:

    Emmm rallenta 😄
    Se viene scritto /prova nel database mi viene salvato solo prova senza lo /.. Questo è il problema 😄

    Saluti.

    e allora temo che la mia risposta sia "niet... se non memorizzi il carattere di controllo non puoi essere sicuro che sia un comando"... sorry, quindi qualsiasi soluzione puo' avere potenzialmente dei bug. :S

    consiglio: nel db salva il testo gia' convertito con le azioni completate, ecc. ecc. ecc.... non fare le conversione in visualizzazione dei testi... o meglio... dopo il submit, prendi quello che ha scritto l'utente, lo analizzi, lo fai diventare quel che ti pare e lo metti nel db... la pagina che visualizza la chat, si limita a leggere dal db le varie righe e a visualizzarle... stop... cosi' facendo inoltre eviti di eseguire calcolo ogni volta che viene aggiornata la chat


  • User Attivo

    Ciao Czero,
    Sì effettivamente hai ragione xò se setto l'emozioni in questa riga

    
    else if($TIPO_CHAT2==47'sesso' && $TIPO_CHAT==47'abbraccio') $TIPO_CHAT=Emozione;
    
    

    Non ci dovrebbero essere problemi e così facendo nel db mi salva solo il nick e posso fare il controllo se è maschio o femmina ecc...

    Almeno credo..

    Saluti.


  • User Attivo

    come preferisci, sei tu a programmare... 😛
    io cose simili le ho fatte come ti ho detto e mi sono trovato bene... e la visualizzazione della chat e' molto piu' veloce e non carica troppo il server quando ci sono troppi utenti

    Se hai solo la parola, allora puoi basare i controlli solo sul fatto che la frase inizi "esattamente" con quella parola per decidere quali trasformazioni applicare...

    io cmq mi sono un po' perso nel discorso! :S