Beiträge von Kasakow

    Ich lasse dir mal einen Beispielcode da, schau mal ob du damit was anfangen kannst.


    //Command
    ocmd:service(playerid, params[]){
    if(GetPVarInt(playerid, "service.create"))return SendClientMessage(playerid, -1, "Du hast bereits einen Service angefragt.");
    serviceID++;
    new string_service[70];
    format(string_service, 70, "* %s benötigt einen Service, ID: %i", sendername, serviceID),
    SendClientMessage(id, colorcode, string_service),
    SetPVarInt(playerid, "service.create", 1),
    SetPVarInt(playerid, "service.create.id", serviceID);
    return 1;
    }


    ocmd:acceptservice(playerid, params[]){
    new id;
    if(sscanf(params, "i", id))return SendClientMessage(playerid, -1, "nutze: /acceptservice [auftragsid]");
    for(new i; i < GetMaxPlayers(); i++){
    if(IsPlayerConnected(i) && !IsPlayerNPC(i)){
    if(GetPVarInt(i, "service.create")){
    if(GetPVarInt(i, "service.create.id") == id){
    SetPVarInt(i,"service.create",0),SetPVarInt(playerid,"service.create.id",INVALID_PLAYER_ID);
    //weiteres....
    return 1;
    }
    break;
    }
    }
    }
    return SendClientMessage(playerid, colorcode, "* Niemand benötigt einen Service *");
    }


    mfg :thumbup:

    Weil ich annehme das du eine ID Speicherung verwendest, quasi über sInfo[playerid][db_id].


    Deswegen kann der Besitzer auch ein Integer sein.


    mfg :thumbup:

    Ich denke du hast die Datenbankstruktur von MrMonatHD.


    Deswegen machst du aus


    format(query,sizeof(query),"UPDATE house SET besitzer='%s', h_preis='%i' WHERE id='%i'",hInfo[id][h_besitzer],hInfo[id][h_preis],hInfo[id][h_id]);


    das hier:


    format(query,sizeof(query),"UPDATE house SET besitzer='%i', h_preis='%i' WHERE id='%i'",hInfo[id][h_besitzerid],hInfo[id][h_preis],hInfo[id][h_id]);


    Musst das halt noch setzen lassen, zeig uns mal deine Datenbankstruktur.


    mfg :thumbup:

    Mach mal aus
    strmid(hInfo[i][h_besitzer],name,0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);


    das hier:
    format(hInfo[i][h_besitzer],MAX_PLAYER_NAME,"%s",name);


    mfg :thumbup:

    //OnPlayerConnect
    new ip[16];
    GetPlayerIp(playerid,ip,16),
    format(query,sizeof query,"SELECT * FROM `ipbans` WHERE `ip`='%s'",ip),
    mysql_function_query(yourhandle, query, true, "checkban", "");


    forwaed checkban();
    public checkban()
    {
    new info[2];
    cache_get_data(info[0], info[1]);
    if(info[0]>0){
    //er ist gebannt
    }
    }


    //ip ban hinzufuegen
    ocmd:banip(playerid,params[]){
    new userid;
    if(sscanf(params,"u",userid))return 1;
    if(IsPlayerConnected(userid)){
    new ip[16];
    GetPlayerIp(userid,ip,16),
    format(query,sizeof query,"INSERT INTO `ipbans` (`ip`) VALUES ('%s')",ip),
    mysql_function_query(yourhandle, query, false, "", "");
    }
    }


    Habe ich gerade für dich geschrieben, schau mal ob du damit was anfangen kannst.


    mfg :thumbup:

    Du erstellst dir eine Rückruffunktion die von einem Timer ausgeführt wird, anschließend benutzt du die Funktion ide von Homez vorgeschlagen wurde.
    Ich lasse mal einen Quellcode hier.


    //OnGameModeInit
    SetTimer("updateview", (1000*60)*60, true);


    forward updateview();
    public updateview()
    {
    new time[3];
    gettime(time[0], time[1], time[2]);
    SetWorldTime(time[0]);
    }


    mfg :thumbup:

    Deine Script Struktur finde ich nicht sehr ansehlich, schreib das mal eher so in meine Richtung.


    //OnPlayerConnect
    SetPVarInt(playerid, "roller.mieten", -1);


    //OnPlayerDisconnect
    if(GetPVarInt(playerid, "roller.mieten") != -1) DestroyVehicle(GetPVarInt(playerid, "roller.mieten")), SetPVarInt(playerid, "roller.mieten", -1);


    if(!strcmp(cmdtext,"/roller",true)){
    if(GetPlayerDistanceFromPoint(playerid, 1235.1978,-1729.1222,13.1712) >= 5.1)return 1;
    if(GetPVarInt(playerid,"roller.mieten") >= 0)return SendClientMessage(playerid, RED, "Du hast schon einen Roller gemietet.");
    ShowPlayerDialog(playerid,DIALOG_RROLLER,DIALOG_STYLE_MSGBOX, "{00FFA0}Roller Mieten","{FEFEFE}Möchtest du einen Roller für {00FF00}40${FEFEFE} mieten ?","Mieten","Nein");
    return 1;
    }


    if(dialogid == DIALOG_RROLLER){
    if(!response)return SendClientMessage(playerid, 0xFFFF00FF, "Du hast den Vorgang abgebrochen");
    if(GetPVarInt(playerid,"roller.mieten") >= 0)return SendClientMessage(playerid, RED, "Du hast schon einen Roller gemietet.");
    new getmyname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, getmyname, sizeof getmyname);
    new putVehID = CreateVehicle(462,1235.1978,-1729.1222,13.1712,356.6787,3,3,-1);
    SetVehicleNumberPlate(vehiclefid, getmyname),
    GivePlayerMoney(playerid,-40),
    SendClientMessage(playerid, 0xFFFFFFFF, "Du hast dir einen Roller für 40$ gemietet."),
    SendClientMessage(playerid, 0xFFFFFFFF, "Dein Roller wurde auf der Straße Gespawnt"),
    SendClientMessage(playerid, 0xFFFFFFFF, "Viel Spaß mit dem Roller");
    SetPVarInt(playerid, "roller.mieten", putVehID);
    }


    Das ganze sollte dann am Ende Funktionieren, kannst es ja mal ausprobieren!


    mfg :thumbup: