Handy script Frage

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Hallo ich habe mal wieder ein Problem diesmal mit meinem Handy script
    ocmd:kaufhandy(playerid, params[])
    {
    new path[28] = "handynummern.ini";
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(GetPVarInt(playerid,"Tel")<= 0)
    {
    if(GetPlayerMoney(playerid) >= 1000)
    {
    GivePlayerMoney(playerid, - 1000);
    Handy[playerid][Telefon] = random(9999);
    if(!dini_Exists(path))
    {
    dini_Create(path);
    dini_IntSet(path, "maxTel", 1);
    dini_IntSet(path,"Tel1",Handy[playerid][Telefon]);
    }
    else
    {
    for(new i=0; i <= dini_Int(path,"maxTel"); i++)
    {
    new test[9];
    format(test, sizeof(test), "Tel%i", i);
    if(dini_Int(path, test) == 0)
    {
    dini_IntSet(path, test, Handy[playerid][Telefon]);
    dini_IntSet(path, "maxTel", dini_Int(path, "maxTel")+ 1);
    dini_IntSet(Spielerdatei,"Tel",Handy[playerid][Telefon]);
    break;
    }
    else
    {
    continue;
    }
    }
    }
    SendClientMessage(playerid, Orange, "Du hast ein Handy für 1000€ gekauft.");
    }
    else{SendClientMessage(playerid, Grau, "Du hast nicht genug Geld um dieses Gerät zu kaufen!");}
    }else{SendClientMessage(playerid, Grau, "Du bist schon im besitz eines Handys!");}
    return 1;
    }


    Das ist mein Kauf befehl.Jetzt meine Frage wie mach ich das zb. bei Call das er über die nummer auf den spieler kommt also das er die handy nummer aus der account txt. vom anderen spieler liest?


    Mfg:Gurkie

  • Das ginge nur, wenn du alle Spieler (und damit auch die Dateinamen) in einer Art Verzeichnis gespeichert hast (z.B. in einer Index Datei, wo alle Namen per '|' oder so getrennt sind).Ansonsten kannst du nicht alle Files ansprechen.

  • Ich habe es jetzt so gemachtnew path[28] = "handynummern.ini";
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(GetPVarInt(playerid,"Tel")<= 0)
    {
    if(GetPlayerMoney(playerid) >= 1000)
    {
    GivePlayerMoney(playerid, - 1000);
    Handy[playerid][Telefon] = random(9999);
    if(!dini_Exists(path))
    {
    dini_Create(path);
    dini_IntSet(path, "maxTel", 1);
    dini_IntSet(path,"Tel1",Handy[playerid][Telefon]);
    }
    else
    {
    for(new i=0; i <= dini_Int(path,"maxTel"); i++)
    {
    new test[9];
    format(test, sizeof(test), "Tel%i", i);
    if(dini_Int(path, test) == 0)
    {
    dini_IntSet(path, test, Handy[playerid][Telefon]);
    dini_IntSet(path, "maxTel", dini_Int(path, "maxTel")+ 1);
    Einmal wird die nummer in die handynummer ini gespeichert und einmal in die account daten da ja alle in einer datei sind kann ich es jetzt so überprüfen ob sie schon vorhanden ist