Beiträge von SoulMan

    Aber dann dürfte das hier ja auch nicht funktionieren, tut es aber.
    Ist ja das Gleiche Prinzip. ^^


    SetPVarInt(pID,"heal", 1);
    if(GetPVarInt(pID, "heal") == 1) return SendClientMessage(playerid,0xC8C8C8FF,"Diesem Spieler wurde bereits eine Heilung angeboten!");

    Aber pID entspricht ja eigentlich der playerid bei /pickup oder nicht?


    */Edit:
    Ich meine halt, dann würde ich ja im Endeffekt ja wieder mein eigenen Namen anzeigen lassen und
    es auch an mich selbst senden ^^

    So wie du es meinst, müsste ich ja vorher immer alle Spieler durchgehen bei den Abfragen.
    Bisschen serverlastig oder nicht? ^^


    Hab's jetzt so..


    COMMAND:call(playerid,params[])
    {
    new pID, number = hInfo[pID][Nummer],str[128],str2[128];
    hInfo[playerid][cID] = pID;
    if(sscanf(params, "d",number)) return SendClientMessage(playerid,0xC8C8C8FF,"/call [Nummer]");
    if(number == hInfo[playerid][Nummer])return SendClientMessage(playerid,0xC8C8C8FF,"Du kannst dich nicht selber anrufen!");
    if(hInfo[playerid][Handy] == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Du besitzt kein Handy!");
    if(hInfo[pID][Handy] == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler besitzt kein Handy!");
    if(hInfo[playerid][Guthaben] == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Du hast kein Guthaben!");
    if(number == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Diese Nummer ist nicht registriert!");
    if(Anruf[pID] == 1)return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler wird bereits angerufen!");
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(hInfo[i][Nummer] != number)continue;
    format(str,sizeof(str),"Eingehender Anruf %d (%s) [/pickup]",hInfo[playerid][Nummer],SpielerName[playerid]);
    format(str2,sizeof(str2),"Verbindungsaufbau mit Nummer (%d)",hInfo[pID][Nummer]);
    SendClientMessage(playerid,0xFFFA00FF,str2);
    SendClientMessage(i,0xFFFA00FF,str);
    Anruf[pID] = 1;
    Anruf[playerid] = 1;
    return 1;
    }
    return SendClientMessage(playerid,0xC8C8C8FF,"Diese Nummer ist nicht registriert!");
    }


    COMMAND:pickup(playerid,params[])
    {
    new str[128],str2[128];
    new pID;
    hInfo[playerid][cID] = pID;
    if(Anruf[playerid] == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Du wirst nicht angerufen!");
    {
    format(str,sizeof(str),"Du hast den Anruf von %s angenommen!",SpielerName[pID]);
    format(str2,sizeof(str2),"Dein Gesprächsparnter (%s) hat den Anruf entgegen genommen!",SpielerName[playerid]);
    SendClientMessage(playerid,0xC8C8C8FF,str);
    SendClientMessage(hInfo[playerid][cID],0xC8C8C8FF,str2);
    aktiv[playerid] = 1;
    aktiv[pID] = 1;
    Anruf[playerid] = 0;
    Anruf[pID] = 0;
    }
    return 1;
    }


    */Edit:
    Ich glaub ich hab dich falsch verstanden Haxler, aber was du genau meinst weiß ich auch nicht. ^^
    Hab einfach n Denkfehler dadrin, find ihn aber nicht..mein Code sieht jetzt so aus:


    COMMAND:call(playerid,params[])
    {
    new pID, number = hInfo[pID][Nummer],str[128],str2[128];
    hInfo[pID][cID] = pID;
    if(sscanf(params, "d",number)) return SendClientMessage(playerid,0xC8C8C8FF,"/call [Nummer]");
    if(number == hInfo[playerid][Nummer])return SendClientMessage(playerid,0xC8C8C8FF,"Du kannst dich nicht selber anrufen!");
    if(hInfo[playerid][Handy] == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Du besitzt kein Handy!");
    if(hInfo[pID][Handy] == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler besitzt kein Handy!");
    if(hInfo[playerid][Guthaben] == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Du hast kein Guthaben!");
    if(number == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Diese Nummer ist nicht registriert!");
    if(Anruf[pID] == 1)return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler wird bereits angerufen!");
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(hInfo[i][Nummer] != number)continue;
    format(str,sizeof(str),"Eingehender Anruf %d (%s) [/pickup]",hInfo[playerid][Nummer],SpielerName[playerid]);
    format(str2,sizeof(str2),"Verbindungsaufbau mit Nummer (%d)",hInfo[pID][Nummer]);
    SendClientMessage(playerid,0xFFFA00FF,str2);
    SendClientMessage(i,0xFFFA00FF,str);
    Anruf[pID] = 1;
    Anruf[playerid] = 1;
    return 1;
    }
    return SendClientMessage(playerid,0xC8C8C8FF,"Diese Nummer ist nicht registriert!");
    }


    COMMAND:pickup(playerid,params[])
    {
    new str[128],str2[128];
    new pID;
    hInfo[pID][cID] = pID;
    if(Anruf[playerid] == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Du wirst nicht angerufen!");
    {
    format(str,sizeof(str),"Du hast den Anruf von %s angenommen!",SpielerName[pID]);
    format(str2,sizeof(str2),"Dein Gesprächsparnter (%s) hat den Anruf entgegen genommen!",SpielerName[playerid]);
    SendClientMessage(playerid,0xC8C8C8FF,str);
    SendClientMessage(hInfo[playerid][cID],0xC8C8C8FF,str2);
    aktiv[playerid] = 1;
    aktiv[pID] = 1;
    Anruf[playerid] = 0;
    Anruf[pID] = 0;
    }
    return 1;
    }

    Guten Abend, liebe Scripter!
    Ich wollte mich mal an ein Handysystem ranmachen und hab alle CMD's fertig, aber
    ich habe ein Problem mit den Namen.


    Diese wollte ich mit Variablen speichern, was auch funktioniert, aber ich habe einen Denkfehler
    und weiß nicht wirklich weiter..der Name ist immer mein eigener..


    COMMAND:call(playerid,params[])
    {
    new pID, number = hInfo[pID][Nummer],str[128],str2[128];
    hInfo[playerid][cID] = playerid;
    if(sscanf(params, "d",number)) return SendClientMessage(playerid,0xC8C8C8FF,"/call [Nummer]");
    if(number == hInfo[playerid][Nummer])return SendClientMessage(playerid,0xC8C8C8FF,"Du kannst dich nicht selber anrufen!");
    if(hInfo[playerid][Handy] == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Du besitzt kein Handy!");
    if(hInfo[pID][Handy] == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler besitzt kein Handy!");
    if(hInfo[playerid][Guthaben] == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Du hast kein Guthaben!");
    if(number == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Diese Nummer ist nicht registriert!");
    if(Anruf[pID] == 1)return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler wird bereits angerufen!");
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(hInfo[i][Nummer] != number)continue;
    format(str,sizeof(str),"Eingehender Anruf %d (%s) [/pickup]",hInfo[playerid][Nummer],SpielerName[playerid]);
    format(str2,sizeof(str2),"Verbindungsaufbau mit Nummer (%d)",hInfo[pID][Nummer]);
    SendClientMessage(playerid,0xFFFA00FF,str2);
    SendClientMessage(i,0xFFFA00FF,str);
    Anruf[pID] = 1;
    Anruf[playerid] = 1;
    return 1;
    }
    return SendClientMessage(playerid,0xC8C8C8FF,"Diese Nummer ist nicht registriert!");
    }
    COMMAND:pickup(playerid,params[])
    {
    new str[128],str2[128];
    if(Anruf[playerid] == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Du wirst nicht angerufen!");
    {
    format(str,sizeof(str),"Du hast den Anruf von %s angenommen!",SpielerName[hInfo[playerid][cID]]);
    format(str2,sizeof(str2),"Dein Gesprächsparnter (%s) hat den Anruf entgegen genommen!",SpielerName[playerid]);
    SendClientMessage(playerid,0xC8C8C8FF,str);
    SendClientMessage(hInfo[playerid][cID],0xC8C8C8FF,str2);
    aktiv[playerid] = 1;
    aktiv[hInfo[playerid][cID]] = 1;
    Anruf[playerid] = 0;
    Anruf[hInfo[playerid][cID]] = 0;
    }
    return 1;
    }


    */Edit2:
    Nochmal alles Codes gelöscht und durch die jeztigen ersetzt. Problem besteht aber trotzdem. 8|

    Guck mal mein Edit an ;)
    Es lag an der Abfrage in der Schleife.


    */Edit:
    Warum du vorher noch keinen Fehler bekommen hast find ich komisch..
    Bei der Zeile, wo abgefragt wird, ob er Cop ist genau das Selbe.
    Hier mal der komplette Code..


    ocmd:wantedgeben(playerid,params[])
    {
    if(GetPVarInt(playerid,"Fraktion")!=1))return SendClientMessage(playerid,ROT,"Du bist kein Polizist!");
    new pID, grund[128], string[128];
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,GRAU,"/wantedgeben [id] [grund]");
    format(string,sizeof(string),"%s (ID:%i) hat ein Wanted von %s erhalten! Grund: %s",SpielerName(pID),pID,SpielerName(playerid),grund);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(GetPVarInt(i,"Fraktion")==1) // = vergessen
    {
    SendClientMessage(i,ORANGE,string);
    }
    }
    format(string,sizeof(string),"Du hast ein Wanted von %s (ID:%i) erhalten! Grund: %s",SpielerName(playerid),playerid,grund);
    SendClientMessage(pID,DUNKLESGELB,string);
    SetPlayerWantedLevel(pID,+1);
    return 1;

    In der Zeile ist kein Fehler, das muss an was Anderem liegen.
    Die Zeile ist komplett richtig..


    */Edit:
    Zeig mal ein paar Zeilen darüber


    */Edit: Hab's!


    ocmd:wantedgeben(playerid,params[])
    {
    if(GetPVarInt(playerid,"Fraktion")=1))return SendClientMessage(playerid,ROT,"Du bist kein Polizist!");
    new pID, grund[128], string[128];
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,GRAU,"/wantedgeben [id] [grund]");
    format(string,sizeof(string),"%s (ID:%i) hat ein Wanted von %s erhalten! Grund: %s",SpielerName(pID),pID,SpielerName(playerid),grund);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(GetPVarInt(i,"Fraktion")==1) // = vergessen
    {
    SendClientMessage(i,ORANGE,string);
    }
    }
    format(string,sizeof(string),"Du hast ein Wanted von %s (ID:%i) erhalten! Grund: %s",SpielerName(playerid),playerid,grund);
    SendClientMessage(pID,DUNKLESGELB,string);
    SetPlayerWantedLevel(pID,+1);
    return 1;

    Da hab ich aber nichts geändert. :huh:
    btw es muss eigentlich so aussehen oder sind alle Fraktionen bis auf 1 Cop-Fraktionen? :D


    if(GetPVarInt(playerid,"Fraktion") !=1)return SendClientMessage(playerid,ROT,"Du bist kein Polizist!");


    Und wenn du mal die Errors mal posten würdest, könnte man auch helfen..

    Du musst eine Schleife nutzen. ;)


    ocmd:wantedgeben(playerid,params[])
    {
    if(GetPVarInt(playerid,"Fraktion")=1))return SendClientMessage(playerid,ROT,"Du bist kein Polizist!");
    new pID, grund[128], string[128];
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,GRAU,"/wantedgeben [id] [grund]");
    format(string,sizeof(string),"%s (ID:%i) hat ein Wanted von %s erhalten! Grund: %s",SpielerName(pID),pID,SpielerName(playerid),grund);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(GetPVarInt(i,"Fraktion")=1)
    {
    SendClientMessage(i,ORANGE,string);
    }
    }
    format(string,sizeof(string),"Du hast ein Wanted von %s (ID:%i) erhalten! Grund: %s",SpielerName(playerid),playerid,grund);
    SendClientMessage(pID,DUNKLESGELB,string);
    SetPlayerWantedLevel(pID,+1);
    return 1;
    }


    */Edit:
    Code verbessert

    Das Tutorial ist der Hammer!
    Werde mich gleich mal dran setzen es testen und versuchen alles
    komplett zu verstehen und in Zukunft immer so anwenden.


    Du bist mein großes Vorbild! :D


    */Edit:
    Rechtschreibung :whistling:

    Ok, ich hab nichts gesagt. :P
    Der Header ist nicht so schön, der irritiert mich beim blinken irgendwie. ^^
    Und ich finde das Forum auch ein wenig zu breit. Sollte man evtl. verkürzen, wie Intrepidus sagte.

    GRP Nachmache oder was? ^^
    Finde es zu dunkel und nicht sehr ansprechend..


    */Edit:
    Nicht böse gemeint mit der Nachmache, aber sieht stark so aus von den Foren her. ;)
    Die blinkenden Texte oben sind nicht soo schön.

    -Variable erstellen.
    -Timer laufen lassen (Payday).
    -Nach Ablauf des Timers Variable um 1 erhöhen.


    Das wäre ne' Grundstruktur. Dann kann man sowas auch weiter ausbauen etc.
    Oder man benutzt die Suchfunktion. ;)

    Gib uns ein paar Anhaltspunkte und wir können dir helfen.
    Mit Anhaltspunkten mein ich, dass du mal selber versuchst und wir helfen, es zu verbessern.