Hey,
ich bin gerade dabei ein simples Handysystem zu machen aber irgentwie bekomm ich es nicht hin.
Man kann zurzeit (wird später noch anders gemacht) mit /test ne nummer beantragen. Es wird eine 4 stellige zufällig ausgewählt und dann soll die gecheckt werden.
(hab einen stock kopiert und angepasst (der hat geprüft ob der name schon existiert), obwohl ich mir da nicht sicher bin ob der richtig funktioniert.)
So nun hab ich es so:
ocmd:sms(playerid,params[])
{
new nummer,text[256],sender[256],empfaenger[256],player[128];
if(SpielerInfo[playerid][pHandy]==0) return SendClientMessage(playerid,rot,"[Fehler]: Du hast kein Handy!");
if(mysql_CheckNumber(playerid) != nummer) return SendClientMessage(playerid,rot,"[Fehler]: Die eingegebene Nummmer ist nicht vergeben!");
if(sscanf(params,"us",nummer,text)) return SendClientMessage(playerid,rot,"Benutze: /sms [Nummer] [Text]");
player = mysql_GetString("accounts","Name","Nummer",nummer);
format(empfaenger,sizeof(empfaenger),"SMS von %s: %s",SpielerName(playerid),text);
format(sender,sizeof(sender),"==> gesendet an %s: %s",player,text);
SendClientMessage(playerid,grau,sender);
SendClientMessage(,gelb,empfaenger);
return 1;
}
Ich weiß grad nicht wirklich wie ich durch die Sendernummer den namen abfrage. Außerdem muss ich dem empfaenger ja eine ID geben weil er ja die nachricht bekommen muss, wo gerade noch nichts steht (letztes SendClientmessage)
Ich hab das Gefühl ich machs mir schwerer als es ist
- Tomsen
PS: Hier der vorgang vom Handynummer vergeben.
stock nummerok(playerid)
{
new msg[256];
format(msg,sizeof(msg),"Du hast nun ein Handy. Deine Nummer: %d",GetPVarInt(playerid,"neueNummer"));
SendClientMessage(playerid,gruen,msg);
mysql_SetInt("accounts","Nummer",GetPVarInt(playerid,"neueNummer"),"Name",SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pNummer] = GetPVarInt(playerid,"neueNummer");
return 1;
}
ocmd:sms(playerid,params[])
{
new nummer,text[256],sender[256],empfaenger[256],player[128];
if(SpielerInfo[playerid][pHandy]==0) return SendClientMessage(playerid,rot,"[Fehler]: Du hast kein Handy!");
if(mysql_CheckNumber(playerid) != nummer) return SendClientMessage(playerid,rot,"[Fehler]: Die eingegebene Nummmer ist nicht vergeben!");
if(sscanf(params,"us",nummer,text)) return SendClientMessage(playerid,rot,"Benutze: /sms [Nummer] [Text]");
player = mysql_GetString("accounts","Name","Nummer",nummer);
format(empfaenger,sizeof(empfaenger),"SMS von %s: %s",SpielerName(playerid),text);
format(sender,sizeof(sender),"==> gesendet an %s: %s",player,text);
SendClientMessage(playerid,grau,sender);
SendClientMessage(,gelb,empfaenger);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/test", true) == 0)
{
if(SpielerInfo[playerid][pHandy]==1) return SendClientMessage(playerid,orange,"[Fehler]: Du hast bereits ein Handy.");
SendClientMessage(playerid,gruen,"Handynummer wird generiert/geprüft... Bitte warten... ");
nummergenerieren(playerid);
return 1;
}