& wie sieht das aus wenn der anrufer aiflegt, dann ist er playerid oder was ? ![]()
Beiträge von .Kevin
-
-
Schönen guten Abend liebe Community,
bei meinem Handysystem möchte ich das der Spieler der anruft einen Betrag zahlt der sich pro Minute hochaddiert..
jedoch stehe ich auf dem schlauch wie ich das machen soll -.-Die variable wird jede Sekunde hochgezählt...
Jetzt möchte ich gerne wissen wie ich das machen muss das er wenn der Anruf aufgelegt wurde angezeigt bekommt
wieviel er zahlen muss... natürlich nur für den Anrufer
//EDIT Ich muss irgendwie überprüfen wer der anrufer ist

//EDIT Neuer Code vom Befehl auflegen.. da ich die Variable nurnoch hochzählen lasse...
ocmd:auflegen(playerid,params[])
{
#pragma unused params
new string[128];
if(SpielerInfo[playerid][Eingeloggt] == 0)return SendClientMessage(playerid,Grau,"Du bist nicht eingeloggt!");
if(SpielerInfo[playerid][Handy] == 0)return SendClientMessage(playerid,Rot,"Du besitzt kein Handy!");
if(SpielerInfo[playerid][Handyaa] == 0)return SendClientMessage(playerid,Orange,"Dein Handy ist ausgeschaltet!");
if(Spieler[playerid][Handypartner] == 0)return SendClientMessage(playerid,Orange,"Du bist in keinem Telefonat!");
new pID = Spieler[playerid][Handypartner];
format(string,sizeof(string),"Du hast das Gespräch mit %s(%i) beendet.",SpielerName(pID),pID);
SendClientMessage(playerid,Weiss,string);
format(string,sizeof(string),"Gesprächspartner %s(%i) hat das Gespräch mit dir beendet.",SpielerName(playerid),playerid);
SendClientMessage(pID,Weiss,string);
Spieler[pID][Handypartner] = 0;
Spieler[playerid][Handypartner] = 0;
Spieler[playerid][ImGespraech] = 0;
if(Spieler[playerid][anrufer] == 1)
{
Hkosten = Spieler[playerid][Anrufszeit]/60*AnrufsKosten;
format(string,sizeof(string),"Aktuelle Kosten: %i",Hkosten);
SendClientMessage(playerid,Weiss,string);
Spieler[playerid][Anrufszeit] = 1000000;
Spieler[playerid][ImGespraech] = 0;
Spieler[playerid][anrufer] = 0;
}
if(Spieler[pID][anrufer] == 1)
{
Hkosten = Spieler[pID][Anrufszeit]/60*AnrufsKosten;
format(string,sizeof(string),"Aktuelle Kosten: %i",Hkosten);
SendClientMessage(pID,Weiss,string);
Spieler[pID][Anrufszeit] = 1000000;
Spieler[pID][ImGespraech] = 0;
Spieler[pID][anrufer] = 0;
}
return 1;
}//EDIT Text verbessert
-
Frage ich damit ab ob es größer ist als das was zwischen den Zahlen ist ?
if(Spieler[playerid][Anrufszeit] > 0|1000)
-
Alles anzeigen
Habs mir nochmal genau angeschaut.
if(pID == -1)
{
format(string,sizeof(string),"{23FF00}%s{FEFEFE} - Anrufen",Handyid(playerid));
ShowPlayerDialog(playerid,DIALOG_ANRUFEN,DIALOG_STYLE_INPUT,string,"{FF0037}Bitte gib eine korrekte Handynummer an!\n\n{FEFEFE}Wen möchtest du anrufen ?\nNutze /telefonbuch\nBedenke vorher die Kosten die das ganze\nmit sich trägt!","Anrufen","Abbrechen");
}
deine Funktion HandyNummerRichtig gibt -1 zurück, falls kein Spieler diese Nummer besitzt.
Ich danke dir
-
Wie sieht denn die Handynummer aus? Du kannst dir per printf die eingegebene Nummer und die dazugehörige Spieler-ID ausgeben lassen, dann siehst du vielleicht woran es liegt.
Die Handynumer erstelle ich kurz vorher

new nr = random(19999) + 1000,string[64];
SpielerInfo[playerid][Handynr] = nr;
format(string,sizeof(string),"Deine Handynummer: %i",SpielerInfo[playerid][Handynr]);
SendClientMessage(playerid,Weiss,string); -
new pID = HandyNummerRichtig(strval(inputtext));
if(pID != -1)
{}
damit würdest du die Spieler-ID der eingegebenen Nummer herausfinden.Also mit dem Code kann ich i.was eingeben
& wenn ich eine richtige Nummer eingebe bekomme ich
angezeigt das ich wieder eine richtige Nummer eingeben soll
new string[256];
if(response==0)return 1;
if(response==1)
{
new pID = HandyNummerRichtig(strval(inputtext));
if(pID != -1)
{
format(string,sizeof(string),"{23FF00}%s{FEFEFE} - Anrufen",Handyid(playerid));
ShowPlayerDialog(playerid,DIALOG_ANRUFEN,DIALOG_STYLE_INPUT,string,"{FF0037}Bitte gib eine korrekte Handynummer an!\n\n{FEFEFE}Wen möchtest du anrufen ?\nNutze /telefonbuch\nBedenke vorher die Kosten die das ganze\nmit sich trägt!","Anrufen","Abbrechen");
}
else
{
format(string,sizeof(string),"%s(%i) ruft dich an...",SpielerName(playerid),playerid);
SendClientMessage(pID,Gelb,string);
format(string,sizeof(string),"Du rufst %s(%i) an...",SpielerName(pID),pID);
SendClientMessage(playerid,Weiss,string);
}
} -
Wenn ich das richtig sehe versuchst du mit HandyNummerRichtig die dazugehörige Spieler-ID herauszufinden.
new nummer = SpielerInfo[playerid][Handynr];
new pID = HandyNummerRichtig(nummer);
würde dir demnach die Spieler-ID des Anrufers ausgeben, da du seine Nummer überprüfst.also mit einer Schleife MaxPLayers ?
for(new i=0; i<MAX_PLAYERS; i++)
{
new nummer = SpielerInfo[i][Handynr];
new pID = HandyNummerRichtig(nummer);
} -
Schönen guten Abend liebe Community,
ich bin grade dabei ein Handysystem zu schreiben. Der Befehl an sich funktioniert nur ich bekomme immer die Message
das ich eine richtige Handynummer angeben soll. Obwohl diese richtig ist.new nummer = SpielerInfo[playerid][Handynr],string[128];
new pID = HandyNummerRichtig(nummer);
if(response==0)return 1;
if(response==1)
{
if(strval(inputtext) != SpielerInfo[pID][Handynr])
{
format(string,sizeof(string),"{23FF00}%s{FEFEFE} - Anrufen",Handyid(playerid));
ShowPlayerDialog(playerid,DIALOG_ANRUFEN,DIALOG_STYLE_INPUT,string,"{FF0037}Bitte gib eine korrekte Handynummer an!\n\n{FEFEFE}Wen möchtest du anrufen ?\nNutze /telefonbuch\nBedenke vorher die Kosten die das ganze\nmit sich trägt!","Anrufen","Abbrechen");
}
else
{
format(string,sizeof(string),"%s(%i) ruft dich an...",SpielerName(playerid),playerid);
SendClientMessage(pID,Gelb,string);
format(string,sizeof(string),"Du rufst %s(%i) an...",SpielerName(pID),pID);
SendClientMessage(playerid,Weiss,string);
}
}
}stock HandyNummerRichtig(Handynummer)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if(SpielerInfo[i][Handynr] == Handynummer && Handynummer != 0)
return i;
}
}
return -1;
}Kann mir wer sagen wo der Fehler liegt ?
-
Musst du doch selber wissen, ob du den Vertrag aktiv nutzt, bsp Telefonieren etc.

#vote4close !
-
Es ist zwar nervend, aber wollt ihr jetzt hier im Forum alles verbieten?
Und darf ich jetzt nicht mehr Atmen weil es dich stört? (nur beispiel)
Eben nicht, es sind meistens nur neu Registrierte, die danach fragen.
Das sind einfach die, die zu faul sind die Server durchzuschauen. Ist das gleiche wenn
ich jeden Tag in meine Brotdose schaue und jedesmal das Gleiche Nutellabrot vorfinde
-
Kommt man da nicht selber drauf was bei Alexandra/Alex anders ist?
Ist das erste mal das ich mit Bots arbeite
Nunja jetzt funktioniert es
Dankeschön. -
Wir werden darüber demnächst intern beraten.
Ist schon was bei der Sache rum gekommen ?
-
huGGy
ConnectNPC("Alexandra","alex");
ConnectNPC("Julia","julia");
ConnectNPC("Marianne","marianne");//EDIT Namen verbessert.
-
Schönen guten Abend liebe Community,
ich habe heute ein Anliegen, & zwar regt es mich inzwischen tierisch auf das die Leute immer & immer wieder
nach Servern fragen die noch Ordentlich sind ? Ich meine wozu haben wir denn den Bereich Server Werbung ?
Sollen die Leute sich doch da durchsuchen ! Genauso muss ich dazu sagen, schreibt sowieso jeder den Server
hin den er mag, sprich wenn der Server eigentlich Scheiße ist, nutzen viele dies als Werbung und Posten
wie Wild drauf los. Daher sollte dies meiner Meinung nach Verboten und auch Verwarnt werden.Greetz

//EDIT Genauso gibt es noch von SA:MP die Funktion Server zu suchen in der Hosted List ( oder wie auch immer ).
-
Alles anzeigen
Also, du fragst ab: Wenn der Name "Alex" nicht richtig ist, wird ihm der Skin 11 gesetzt

if(!strcmp(botname,"alex",falsE))
{
SetPlayerSkin(playerid,11);
}Dann verschieben sich die skins

-
Schönen guten Abend,
ich habe jetzt 3 Bots estellt, die Connecten usw, alles Funktioniert. Nur das kleine Problem sind die Skins..
also ich habe die Abfrage so:
if(!strcmp(botname,"alex",true))
{
SetPlayerSkin(playerid,11);
}
if(!strcmp(botname,"julia",true))
{
SetPlayerSkin(playerid,76);
}
if(!strcmp(botname,"marianne",true))
{
SetPlayerSkin(playerid,12);
}Jedoch hat der Bot Alex dann den Skin id 0 ? .. die anderen beiden haben ihren zugewiesenen
Skin .. Weiß einer was falsch ist ? -
Ich bin bei dennen im Ts und die sind sehr nett ich glaube nicht das die lügen!
Hat doch damit nichts zu tun, egal wie schön du ihre Aktion redest. Es ist einfach sehr unseriös, ich bekomme im echten Leben auch kein
Job im Tegut angeboten nur weil ich dort einkaufe & nicht bei Edeka
-
Das was Sommerferien gepostet hat, ist richtig, jedoch unterscheidet sich nur das 1. Wort von den letzten 3. Heisst, dass die letzten 3 Wörter in der selben Farbe sind.
Wusste garnicht das SendClient... auch mit HTML Codes arbeitet
Nunja jetzt um einiges schlauer 
du Kannst das ganze aber auch so machen:
SendClientMessage(playerid,Farbe,"Hallo "#Gruen" diese "#Rot" Nachricht "#Blau" hat verschiedene farben ..");
insofern du sie auch so definiert hast

#define Gruen 0x4BB400FF
-
Du musst mit einem string arbeiten da ich glaube das SendClientMessage die HTML Codes nicht erkennt.
new string[28];
format(string,sizeof(string),"{FEFEFE}Das ist Farbe Weiß");
SendClientMessage(playerid,Farbe,string); -
Alles anzeigen
Beim anzeigen lass zuerst das Textdraw anzeigen mit der Transparents und danach das mit dem Text.
Weil so liegt die Box über dem Text und dunkelt dieses ab.
//edit um mal das ganze was !TheO geschrieben hat noch zu erläutern.
Wenn du das ganze so erstellst kommst du bald an das Limit. Da jedoch PlayerTextdraws das ganze für den spieler einmal erstellt wird und nicht mehrmals.
Du musst dir die PlayerTextdraws wie CreatePlayerObject vorstellen. Ein streamer kann um das limit an einem punkt herrumarbeiten wenn du die Objecte mit CreateObject erstellst kommst du schnell ans limit.Ich danke dir nun funktioniert alles wieder

//EDIT Codes entfernt