GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: pecsizsoltika - 2014. Április 02. - 18:41:55

Cím: Dialog kérdés
Írta: pecsizsoltika - 2014. Április 02. - 18:41:55
szaisztok
hogy kell azt megcsinálni, hogy ha egy player beírja például azt hogy \"/valasz\" akkor kiad neki egy INPUT DIALOGOT, és akkor az input dialogba bekell irnia az ID -t, és amelyik ID -t beirja akkor annak a játékosnak kiírja azt például hogy Szia.
ebben kérném a segítségeteket. elõre is köszönöm
Cím: Dialog kérdés
Írta: Flash - 2014. Április 02. - 18:57:59
http://wiki.sa-mp.com/wiki/ShowPlayerDialog
Cím: Dialog kérdés
Írta: Cappsy - 2014. Április 02. - 19:00:34
[gmod]És ezt miért kellet kétszer megnyitni? Zártam a régit[/gmod]
Cím: Dialog kérdés
Írta: Razo - 2014. Április 02. - 21:25:15
Itt van konkrétan az, amit akartál.
 
#include <a_samp>
#include <zcmd>
#define DIALOG_VALASZ 1234
CMD:valasz(playerid,params[])
{
ShowPlayerDialog(playerid,DIALOG_VALASZ,DIALOG_STYLE_INPUT,\"Válasz\",\"Írd be az ID-t!\",\"Válasz\",\"Mégse\");
return 1;
}
public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
{
if(dialogid == DIALOG_VALASZ)
{
    if(response)
    {
        if(IsNumeric(inputtext))
        {
      new id = strval(inputtext); //a stringet integerré alakítjuk
      if(IsPlayerConnected(id))
      {
          SendClientMessage(id,-1,\"Szia.\");
      }
      else return SendClientMessage(playerid,-1,\"Nincs ilyen játékos.\");
        }
        else return SendClientMessage(playerid,-1,\"Az ID-t, azaz számot kell beírni.\");
    }
    return 1;
}
return 0;
}
stock IsNumeric(const string[]) { //ez a függvény azt ellenõrzi, hogy egy string szám-e
    new length=strlen(string);
    if (length==0) return false;
    for (new i = 0; i < length; i++) {
        if (
        (string > \'9\' || string < \'0\' && string!=\'-\' && string!=\'+\')
        || (string==\'-\' && i!=0)                                             //
        || (string==\'+\' && i!=0)                                             //
        ) return false;
    }
    if (length==1 && (string[0]==\'-\' || string[0]==\'+\')) return false;
    return true;
}
Cím: Dialog kérdés
Írta: Flash - 2014. Április 12. - 21:16:19
[mod]Témát zártam! Amennyiben nem oldódott meg a problémád, írj PÜ-t és nyitásra kerül a téma![/mod]
Cím: Dialog kérdés
Írta: pecsizsoltika - 2014. Április 02. - 18:41:55
szaisztok
hogy kell azt megcsinálni, hogy ha egy player beírja például azt hogy \"/valasz\" akkor kiad neki egy INPUT DIALOGOT, és akkor az input dialogba bekell irnia az ID -t, és amelyik ID -t beirja akkor annak a játékosnak kiírja azt például hogy Szia.
ebben kérném a segítségeteket. elõre is köszönöm
Cím: Dialog kérdés
Írta: Flash - 2014. Április 02. - 18:57:59
http://wiki.sa-mp.com/wiki/ShowPlayerDialog
Cím: Dialog kérdés
Írta: Cappsy - 2014. Április 02. - 19:00:34
[gmod]És ezt miért kellet kétszer megnyitni? Zártam a régit[/gmod]
Cím: Dialog kérdés
Írta: Razo - 2014. Április 02. - 21:25:15
Itt van konkrétan az, amit akartál.
 
#include <a_samp>
#include <zcmd>
#define DIALOG_VALASZ 1234
CMD:valasz(playerid,params[])
{
ShowPlayerDialog(playerid,DIALOG_VALASZ,DIALOG_STYLE_INPUT,\"Válasz\",\"Írd be az ID-t!\",\"Válasz\",\"Mégse\");
return 1;
}
public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
{
if(dialogid == DIALOG_VALASZ)
{
    if(response)
    {
        if(IsNumeric(inputtext))
        {
      new id = strval(inputtext); //a stringet integerré alakítjuk
      if(IsPlayerConnected(id))
      {
          SendClientMessage(id,-1,\"Szia.\");
      }
      else return SendClientMessage(playerid,-1,\"Nincs ilyen játékos.\");
        }
        else return SendClientMessage(playerid,-1,\"Az ID-t, azaz számot kell beírni.\");
    }
    return 1;
}
return 0;
}
stock IsNumeric(const string[]) { //ez a függvény azt ellenõrzi, hogy egy string szám-e
    new length=strlen(string);
    if (length==0) return false;
    for (new i = 0; i < length; i++) {
        if (
        (string > \'9\' || string < \'0\' && string!=\'-\' && string!=\'+\')
        || (string==\'-\' && i!=0)                                             //
        || (string==\'+\' && i!=0)                                             //
        ) return false;
    }
    if (length==1 && (string[0]==\'-\' || string[0]==\'+\')) return false;
    return true;
}
Cím: Dialog kérdés
Írta: Flash - 2014. Április 12. - 21:16:19
[mod]Témát zártam! Amennyiben nem oldódott meg a problémád, írj PÜ-t és nyitásra kerül a téma![/mod]