dcmd_call ich weiß nicht weiter :/

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag ich bin gerade an menem /call befehl dran so das problem ist ich weiß nicht weiter
    hier mein /call befehl :
    dcmd_call(playerid,params[]){
    new
    numb = strval(params),
    WPlayer[MAX_PLAYER_NAME],
    Player[MAX_PLAYER_NAME],
    string[128],
    string1[128];

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(sscanf(params,"i",phonenumb)){
    return SendClientMessage(playerid,rot,"/call [nummer]");}

    if(IsPlayerConnected(i))
    {
    if(Spieler[i][Nummer] == numb && numb != 0)
    {
    GetPlayerName(playerid,Player,sizeof(Player));
    GetPlayerName(i,WPlayer,sizeof(WPlayer));
    format(string,sizeof(string),"%s ruft dich an /a kannst du abnehmen",Player);
    SendClientMessage(i,gelb,string);
    format(string1,sizeof(string1),"Du rufst %s an warte bis er abhebt",WPlayer);
    SendClientMessage(playerid,gelb,string1);
    anruf[i] = 1;
    }
    return 1;
    }
    }


    return 0;
    }
    hier mein /a zum abnehmen
    dcmd_a(playerid,params[]){
    #pragma unused params

    if(anruf[playerid] == 1)
    {
    SendClientMessage(playerid,gelb,"Du hast abgenommen");
    }
    else if(anruf[playerid] == 0)
    {
    SendClientMessage(playerid,rot,"Niemand hat dich angerufen");
    }
    return 1;
    }
    So nun weiß ich nicht weiter >_> hoffe ihr könnt mir helfen


    mfg SiriiuzZ

  • Tut mir leid ich musste mich beeilen weil ich essen war :/ .
    Also nun nochmal genau diese beiden Befehle klappen wunderbar nur ich habe keine Ahnung wie ich dass dann machen soll dass man wenn man etwas per T schreibt das es dann zu dem andern kommt so wie im gf. Ich rufe jemanden an er geht ran ich kann mit ihm schreiben. Hättest/Hätten du / sie /ihr vill eine Idee ?

  • setze einen Wert der wiedergibt das der Spieler in einem Gespräch ist und frag ihn unter OnPlayerText ab , gibt in der Abfrage 0 wieder somit wird der Text nicht
    an den Globalen Chat gesendet , nun nimmst du eine Variable als Array her und formatierst den Spielernamen und den Text dahinter ein , und sendest diese Nachricht dann
    an den der Angerufen wurde sprich an seine ID, am besten besetzt du die variable die du Abfragst mit der ID des Spielers und beim zurücksetzen der Variable einfach den Wert Minus 1
    benutzen hier mal ein Beispiel


    if(spielervariable[playerid] > -1)
    {
    new form[128],pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof pname);
    format(form,sizeof form,"%s : %s",pname,text);
    return (!SendClientMessage(spielervariable[playerid],deine_farbe,form));
    }



    Wenn du jetzt das System mit dieser Variable verwendest sprich ID drinnen speichern und so abfragen solltest du nicht vergessen beim auflegen
    das ganze zurückzusetzen auf -1 genau so wenn der Spieler auf den Server verbindet vorher auf -1 setzen, sollte normal funktionieren

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Thx :) .Ich werde es jetzt gleich mal testen .
    Ehm ich habe eine frage ich verstehe dass hier nicht ganz :
    spielervariable[playerid] > -1



    Was soll dass bezwecken also warum -1 ? .

    Einmal editiert, zuletzt von CyronZ ()

  • das diese Variable die ID des angerufenen enthält und die Spieler Identen bei 0 Anfangen ;)
    du könntest natürlich auch 2 Spielervaribalen erstellen eine dafür das angerufen wird via Boolean (Boolean sollte nochmal Ressourcen sparen )
    und dann nochmal eine Variable die für die ID des Spielers ist, so wie ich es vorgeschlagen habe ist es nur eine Variable die dann eine ID des
    Spielers enthalten muss und somit Automatisch wiedergibt das man Telefonieren ist, deshalb -1 , weil man ja auch ID 0 anrufen kann,
    wenn du verstehst wie ich das meine ^^

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Japp okay aber ich habe dass Problem mein UmgebungsChat funkt dazwischen.
    Hier habe ich nochmal meinen /call befehl
    dcmd_call(playerid,params[]){
    new
    numb = strval(params),
    WPlayer[MAX_PLAYER_NAME],
    Player[MAX_PLAYER_NAME],
    string[128],
    string1[128];

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(sscanf(params,"i",numb)){
    return SendClientMessage(playerid,rot,"/call [nummer]");}

    if(IsPlayerConnected(i))
    {
    if(Spieler[i][Nummer] == numb && numb != 0)
    {
    GetPlayerName(playerid,Player,sizeof(Player));
    GetPlayerName(i,WPlayer,sizeof(WPlayer));
    format(string,sizeof(string),"%s ruft dich an /a kannst du abnehmen",Player);
    SendClientMessage(i,gelb,string);
    format(string1,sizeof(string1),"Du rufst %s an warte bis er abhebt",WPlayer);
    SendClientMessage(playerid,gelb,string1);
    anruf[i] = 1;
    spielervariable[playerid] = 1;
    }
    return 1;
    }
    }


    return 0;
    }
    Wenn der Überhaupt richtig ist X(
    Hier ist mein /a befehl noch :
    dcmd_a(playerid,params[]){
    #pragma unused params

    if(anruf[playerid] == 1)
    {
    SendClientMessage(playerid,gelb,"Du hast abgenommen");
    spielervariable[playerid] = 1;
    }
    else if(anruf[playerid] == 0)
    {
    SendClientMessage(playerid,rot,"Niemand hat dich angerufen");
    }
    return 1;
    }
    So hier habe ich noch den Handy Chat :
    if(spielervariable[playerid] > -1)
    {
    un[playerid] = 1;
    new form[128],pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof pname);
    format(form,sizeof form,"%s : %s",pname,text);
    return (!SendClientMessage(spielervariable[playerid],gelb,form));
    }
    Dass un[playerid] = 1; steht dafür dass er der umgebungschat aus ist.
    Das ist hier mein umgebungschat
    if(un[playerid] == 0)
    {
    new sendername[MAX_PLAYER_NAME], string[70];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    ProxDetector(20.0, playerid, string, grau,grau,grau,grau,grau);
    return 0;
    }
    Ich weiß nicht was falsch ist >_<.
    Danke dass du so nett bist und mir hilfst.


    mfg SiriiuzZ
    Edit // Hat keiner eine Idee ?

    Einmal editiert, zuletzt von CyronZ ()