Beiträge von Kaliber

    Guten Morgen ihr alle,


    ich habe in den vergangenen Tagen einen kleinen Chat geschrieben und wollte mal testen ob der auch so funktioniert wie ich will :D
    Dieser Chat hat keinen besonders großen nutzen oder Sinn, muss er aber auch nicht, da der Chat einfach aus Langeweile entstanden ist ^^


    Hier könnt euch gerne registrieren und wir können alle ein bisschen labern (Adminsystem + Bann&Kick&Mute System vorhanden!) ;)


    Die Seite ist: http://client-talk.co.de


    Ich hätte auch gerne ein paar Feedbacks :)


    mfg. :thumbup:

    Was man dazu sagen muss ist, dass dein Code nicht wirklich "gut" geschrieben ist ^^


    Warte ich schreibe den mal neu...:


    //Edit:


    So hier, probiere mal wie gut das geht:


    Spoiler anzeigen
    DT_Public OnSecond()
    {
    new minute,sec,hour,query[128], Kosten[2];
    gettime(hour,minute,sec);
    new t1 = GetTickCount();
    if(minute%15==0&&sec==0) {
    Wetter[0] = WetterRandomLS[random(sizeof(WetterRandomLS))],Wetter[1] = WetterRandomSF[random(sizeof(WetterRandomSF))],Wetter[2] = WetterRandomLV[random(sizeof(WetterRandomLV))];
    for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPlayerWetter(i);
    switch(Werbung) {
    case 0: SendClientMessageToAll(cGrey,"====================[Dark-Trigardon]===================="),SendClientMessageToAll(cWhite,"Schon gewusst?"),SendClientMessageToAll(cWhite,"Bei uns gibt es die DT-Sterne."),SendClientMessageToAll(cWhite,"Mit diesen Sternen, kannst du dir einige schöne Dinge holen."),SendClientMessageToAll(cWhite,"Gebe dafür /shop ein."),SendClientMessageToAll(cGrey,"====================["ForenURL"]===================="),Werbung=1;
    case 1: SendClientMessageToAll(cGrey,"====================[Dark-Trigardon]===================="),SendClientMessageToAll(cWhite,"Du hast nichts zu tun?"),SendClientMessageToAll(cWhite,"Dann such dir einen Job."),SendClientMessageToAll(cWhite,"Es gibt verschiedene Jobs, die einen Spaß machen können"),SendClientMessageToAll(cWhite,"und mit den man schnelles Geld machen kann."),SendClientMessageToAll(cWhite,"Jobs findest du in unseren Arbeitsamt."),SendClientMessageToAll(cGrey,"====================["ForenURL"]===================="),Werbung=2;
    case 2: SendClientMessageToAll(cGrey,"====================[Dark-Trigardon]===================="),SendClientMessageToAll(cWhite,"Schon gewusst?"),SendClientMessageToAll(cWhite,"Um Gebäude zu betreten,"),SendClientMessageToAll(cWhite,"musst du nicht immer Commands eingeben."),SendClientMessageToAll(cWhite,"Drücke einfach die Enter Taste."),SendClientMessageToAll(cGrey,"====================["ForenURL"]===================="),Werbung=0;
    }
    }
    if(minute == 0 && sec == 0) {
    for(new i; i<MAX_HAUS; i++) {
    if(strcmp(Haus[i][HOwner],"Niemand",true)) {
    if(Biz[WasserBiz][bProds]>4) {
    Kosten[0] = Biz[WasserBiz][bProdpreis]*5;
    if(Haus[i][HKasse] > Kosten[0]) Biz[WasserBiz][bProds] -= 5,Biz[WasserBiz][bKasse] += Kosten[0],Haus[i][HKasse] -= Kosten[0],UpdateHaus(i),UpdateBiz(WasserBiz);
    }
    else SendClientMessageToAll(cYellow,">> Das Wasserwerk benötigt dringed Waren!"),SendClientMessageToAll(cYellow,">> Es steht ein Wassermangel bevor!");
    if(Biz[StromBiz][bProds]>4) {
    Kosten[1] = Biz[StromBiz][bProdpreis]*5;
    if(Haus[i][HKasse] > Kosten[1]) Biz[StromBiz][bProds] -= 5,Biz[StromBiz][bKasse] += Kosten[1],Haus[i][HKasse] -= Kosten[1],UpdateHaus(i),UpdateBiz(StromBiz);
    }
    else SendClientMessageToAll(cYellow,">> Das Stromwerk benötigt dringed Waren!"),SendClientMessageToAll(cYellow,">> Es steht ein Stromausfall bevor!");
    }
    }
    SaveGame();
    }
    if(hour > 7 && hour < 23) {
    if(minute==0&&sec==0) Server[ServerLotto]+=random(5000),format(query,128,">> In 3 Minuten beginnt das Lottospiel! Es sind %d$ im Jackpot!",Server[ServerLotto]),SendClientMessageToAll(cGrey,query),format(query,128,">> Nutze /lotto [1-%d] um mitzumachen",MAX_PLAYERS),SendClientMessageToAll(cGrey,query);
    if(minute==1&&sec==0) format(query,128,">> In 2 Minuten beginnt das Lottospiel! Es sind %d$ im Jackpot!",Server[ServerLotto]),SendClientMessageToAll(cGrey,query),format(query,128,">> Nutze /lotto [1-%d] um mitzumachen",MAX_PLAYERS),SendClientMessageToAll(cGrey,query);
    if(minute==2&&sec==0) format(query,128,">> In 1 Minute beginnt das Lottospiel! Es sind %d$ im Jackpot!",Server[ServerLotto]),SendClientMessageToAll(cGrey,query),format(query,128,">> Nutze /lotto [1-%d] um mitzumachen",MAX_PLAYERS),SendClientMessageToAll(cGrey,query);
    if(minute==3&&sec==0) {
    new Number = 1+random(MAX_PLAYERS);
    format(query,128,">> Die heutige Zahl im Lottospiel lautet %d!",Number),SendClientMessageToAll(cGrey,query);
    for(new i; i < MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || PlayerInfo[i][Logged]==0 || Number!=PlayerInfo[i][Lotto]) continue;
    if(Number==PlayerInfo[i][Lotto]) format(query,128,">> %s hat den Jackpot geknackt und bekam %d$!",PlayerInfo[i][Name],Server[ServerLotto]),SendClientMessageToAll(cGrey,query),Server[ServerKasse]-=Server[ServerLotto],GivePlayerMoney(i,Server[ServerLotto]),Server[ServerLotto]=0,Server[ServerLotto]+=random(5000);
    PlayerInfo[i][Lotto]=0;
    }
    }
    }
    switch(TimeUhr) {
    case 0: format(query,20,"%02d %02d",hour,minute),TimeUhr=0;
    case 1: format(query,20,"%02d:%02d",hour,minute),TimeUhr=1;
    }
    TextDrawSetString(Clock,query),TextDrawShowForAll(Clock),SetWorldTime(hour);
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i) || !PlayerInfo[i][Logged]) continue;
    if(GetPlayerMoney(i) > PlayerInfo[i][Geld]) SetPlayerMoney(i,PlayerInfo[i][Geld]);
    if(GetTickCount()-PlayerInfo[i][AFK] > 1999) {
    format(query,sizeof query,"AFK seit %d Sekunden",((GetTickCount()-PlayerInfo[i][AFK])/1000)),SetPlayerChatBubble(i,query,cRed,15.0,1500);
    continue;
    }
    if(PlayerInfo[i][PayDay]!=0) PlayerInfo[i][PayDay]--;
    if(PlayerInfo[i][PayDay]==0) PlayerPayDay(i);
    if(PlayerInfo[i][Jailtime] > 0) PlayerInfo[i][Jailtime]--;
    if(PlayerInfo[i][Jailtime]==0) PlayerInfo[i][Jailtime]=-2,SpawnPlayer(i);
    if(PlayerInfo[i][FuckBlitzer]> 0) PlayerInfo[i][FuckBlitzer]--;
    if(PlayerInfo[i][FuckBlitzer]==0) PlayerInfo[i][FuckBlitzer] = -1;
    if(PlayerInfo[i][Gemutet]!=0) PlayerInfo[i][Gemutet]--;
    if(PlayerInfo[i][Gemutet]==0) PlayerInfo[i][Gemutet]=0;
    if(IsUserInFillStation(i)) GameTextForPlayer(i,"Willkommen an der~n~Tankstelle~n~/tanken",1200,6);
    if(GetNearATM(i)) GameTextForPlayer(i,"~y~Willkommen am ATM~n~~w~Druecke Enter",1200,6);
    UpdateAdminTicket(i);
    if(PlayerInfo[i][MedicTot]>0) {
    PlayerInfo[i][MedicTot]--;
    if(PlayerInfo[i][MedicTot]<11) PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
    format(query,128,"~w~Noch ~r~%d ~w~Sekunden",PlayerInfo[i][MedicTot]),GameTextForPlayer(i,query,1200,6),ApplyAnimation(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 1000*60*3),format(query,128,"Überlebt noch %d Sekunden",PlayerInfo[i][MedicTot]),SetPlayerChatBubble(i, query, cGrey, 10.0, 1500);
    }
    if(!PlayerInfo[i][MedicTot]) {
    PlayerInfo[i][MedicTot]=-1;
    if(PlayerInfo[i][Mediccall]!=0) PlayerInfo[i][Tot]=1,PlayerInfo[i][Mediccall]=0,DestroyPickup(PlayerInfo[i][TotPickup]),PlayerInfo[i][TotPickup]=-1,PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0),format(query,128,">> %s ist an seinen Verletzungen verstorben!",PlayerInfo[i][Name]),SendTeamMessage(tMedic,query),GameTextForPlayer(i,"Du bist an deinen Verletzungen gestorben",1200,6),SpawnPlayer(i);
    else PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0),PlayerInfo[i][Tot]=3,SpawnPlayer(i);
    format(query,100,"~g~%d ] "ForenURL"",PlayerInfo[i][Star]),TextDrawSetString(PlayerInfo[i][StarInfo],query),TextDrawShowForPlayer(i,PlayerInfo[i][StarInfo]);
    //FuckBlitzer
    for(new Blitz=0; Blitz<sizeof(ServerBlitzer); Blitz++)
    {
    if(GetPlayerState(i)!=PLAYER_STATE_DRIVER && !IsPlayerInRangeOfPoint(i, 40.0, ServerBlitzer[Blitz][SBx], ServerBlitzer[Blitz][SBy], ServerBlitzer[Blitz][SBz])) continue;
    new speed = sm_GetVehicleSpeed(GetPlayerVehicleID(i));
    if(speed > ServerBlitzer[Blitz][SBSpeed]) {
    if(PlayerInfo[i][FuckBlitzer] == -1) {
    PlayerInfo[i][FuckBlitzer] = 10;
    new strafe = (speed*3)-ServerBlitzer[Blitz][SBSpeed];
    PlayerPlaySound(i, 1132, 0.0, 0.0, 0.0),GivePlayerMoney(i, -strafe),Server[ServerKasse]+=strafe;
    format(query,sizeof(query), "[BLITZER] Du bist %d km/h zu schnell gefahren!", speed - ServerBlitzer[Blitz][SBSpeed]);
    SendClientMessage(i, cYellow, query);
    format(query,sizeof(query), "[BLITZER] Erlaubte Geschwindigkeit: %d km/h. Du musst %d$ Strafe bezahlen.", ServerBlitzer[Blitz][SBSpeed], strafe);
    SendClientMessage(i, cYellow, query),TextDrawShowForPlayer(i,PlayerInfo[i][LadeACC][0]),SetTimerEx("HideBlitzer",1000,0,"d",i);
    }
    }
    }
    if(GetPlayerState(i)==PLAYER_STATE_SPECTATING)
    {
    new Float:OpferHealth, Float:OpferVehHealth;
    GetPlayerHealth(PlayerInfo[i][Opfer],OpferHealth),GetVehicleHealth(GetPlayerVehicleID(PlayerInfo[i][Opfer]),OpferVehHealth);
    new sh=floatround(OpferHealth,floatround_round),vh=floatround(OpferVehHealth,floatround_round);
    format(query,sizeof(query),"~n~~n~~n~~n~~n~~n~~n~~r~HP: %d~n~~r~Vehicle-HP: %d~n~~r~",sh,vh);
    GameTextForPlayer(i,query,1500,4);
    }
    new weg = sm_GetVehicleSpeed(GetPlayerVehicleID(i)),tachostring[128];
    if(GetPlayerState(i)==PLAYER_STATE_DRIVER) {
    new vid=GetPlayerVehicleID(i);
    format(tachostring,sizeof tachostring,"Tank: %d/%d~n~~w~~n~Km: %.2f",Car[vid][Tank]/10,((Car[vid][Tank]/10 > 100)?(1000):(100)),((Car[vid][Kilometers] > 0)?(Car[vid][Kilometers]):(0.0)));
    TextDrawSetString(PlayerInfo[i][Tacho][1],tachostring);
    if(Car[vid][Kilometers] > 0)Car[vid][Kilometers]+=floatdiv(float(weg),3600);
    format(tachostring,sizeof tachostring,"%d Km/h",weg),TextDrawSetString(PlayerInfo[i][Tacho][0],tachostring),TextDrawShowForPlayer(i,PlayerInfo[i][Tacho][0]),TextDrawShowForPlayer(i,PlayerInfo[i][Tacho][1]);
    if(weg > 350) format(query, sizeof(query), "%d kmh (%s)",weg,CarName[GetVehicleModel(vid)-400]),CartmanMelder(i,query,"~y~"),shit_Cartman(i,"Speedhack");
    //Motorzeug etc
    new Float:vHP,Float:x,Float:y,Float:z,Float:a,engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleHealth(vid,vHP);
    if(vHP >= 300.0) continue;
    if(vHP <= 250.0)
    {
    SetVehicleHealth(vid,260.0),GetVehiclePos(vid,x,y,z),GetVehicleZAngle(vid,a),SetVehiclePos(vid,x,y,z),SetVehicleZAngle(vid,a);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective),SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    if(Car[vid][PuttPutt]==0)
    {
    Car[vid][Motor]=0,Car[vid][PuttPutt]=1,SendDriverMessage(vid,"[Motorschaden] Um einen Mechaniker zu rufen gebe /mechaniker ein");
    if(IsVehicleAFraktionsCar(vid)!=0) format(query, sizeof(query),"[Fraktions-Info] Das Fahrzeug mit den Kennzeichen %s hat einen Totalschaden", Car[vid][Numplate]),SendTeamMessage(IsVehicleAFraktionsCar(vid),query);
    if(CheckUserFromTeam(tFeuer) >= 2)
    {
    for(new pID; pID < MAX_PLAYERS; pID++)
    {
    if(!IsPlayerConnected(pID) || GetPlayerVehicleID(pID) != vid) continue;
    TogglePlayerControllable(pID, 0),SendClientMessage(pID, cRed, "Durch den Unfall bist du eingeklemmt! Rufe mit /feuerwehr die Feuerwehr");
    SendClientMessage(pID, cRed, "--- Bitte einigt euch, wer von euch die Feuerwehr ruft! (wenn mehrere in einem Auto sitzen!) ---"),SetPlayerHealth(pID, 1);
    }
    }
    }
    }
    else TextDrawHideForPlayer(i,PlayerInfo[i][Tacho][0]),TextDrawHideForPlayer(i,PlayerInfo[i][Tacho][1]);
    }
    }
    }
    for(new i = 0; i < sizeof(Geschenk); i++)
    {
    if(Geschenk[i][G_Erstellt]==0) continue;
    if(Geschenk[i][G_Timeout]!=0)Geschenk[i][G_Timeout]--;
    if(Geschenk[i][G_Timeout]==0)Geschenk[i][G_Timeout]=0;
    }
    for(new vid; vid < MAX_VEHICLES; vid++)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    if(IsAFly(vid) || IsAHeli(vid) || IsABoot(vid) || Car[vid][Motor]!=1) continue;
    switch(Car[vid][Tank]) {
    case 0: {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective),SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Car[vid][Motor]=0,Car[vid][Tank]=0,SendDriverMessage(vid,"[Tank leer] Um einen Mechaniker zu rufen gebe /mechaniker ein");
    if(IsVehicleAFraktionsCar(vid)!=0) format(query,128,"[Fraktions-Info] Der Tank von den Wagen mit dem Kennzeichen %s ist leer",Car[vid][Numplate]),SendTeamMessage(IsVehicleAFraktionsCar(vid),query);
    }
    default: Car[vid][Tank]--;
    }
    }
    new t2 = GetTickCount();
    printf("%d ms",t2-t1);
    return 1;
    }


    mfg. :thumbup:

    Dann schreibs mal so:


    if(classid == 15 || classid == 16 || classid == 17)
    {
    if(!IsPlayerAdmin(playerid)) return 1; //Abfrage anpassen auf deine Funktion/Variable
    SetPlayerInterior(playerid,14);
    SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
    SetPlayerFacingAngle(playerid, 270.0);
    SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
    SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
    GameTextForPlayer(playerid,"Administratoren", 3000, 6);
    SetPlayerColor(playerid,PINK);
    SetPVarInt(playerid,"Skinnwahl",1);
    }


    So ungefähr, aber da kann dir hier auch jeder andere helfen :rolleyes:

    Du benutzt eine falsche Version von ocmd, im alten wird der Callback noch falsch bzw nicht vollständig richtig gehookt!


    Downloade dir mal die neuste Version ;)


    mfg. :thumbup:

    Wahnsinn, dass ist dein Filterscript:


    public OnPlayerCommandText(playerid, cmdtext[]) {
    if (!strcmp(cmdtext, "/ipodhilfe", true)) return SendClientMessage(playerid,0x19FF00FF,"_______________________________________"),SendClientMessage(playerid,0x19FF00FF,"*** Befehle *** /ipodan /ipodaus");
    if (!strcmp(cmdtext, "/ipodan", true)) return GameTextForPlayer(playerid,"~r~Musik ab.", 1000,3),PlayAudioStreamForPlayer(playerid, "http://listen.housetime.fm/dsl.pls");
    if (!strcmp(cmdtext, "/ipodaus", true)) return GameTextForPlayer(playerid,"~r~Musik aus.", 1000,3),StopAudioStreamForPlayer(playerid);
    return 0;
    }


    Es gibt 1000x bessere Radio Systeme ^^


    Also nicht böse gemeint, aber dass ist unnötig ;)

    Alles klar. Nun möchte ich aber das er z.b ab 60% Leben um 0.4% Langsamer wird. Könnte ich den Gleichen Befehl Benutzen bloß umändern? oder würde dann nicht kommen das es bereits 2x Definiert ist bzw bereits verwendet wird?


    Der läuft doch langsamer, je mehr schaden er bekommt, schau dir doch mal den Code richtig an :rolleyes:


    mfg. :thumbup:

    Durch


    health = floatround(80-health);


    ersetzen oder?


    Nein!


    Dann musst du das so machen:


    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) {
    new Float:health;
    GetPlayerHealth(playerid,health);
    if(health > 80) return 1;
    health = floatround(100-health);
    move{playerid} = floatround(floatmul(health,0.02)); //0.02 = 2%
    return 1;
    }


    Warum fragt er dort ab ob er in einen Auto ist?


    Da ist ein ! davor, sprich er darf nicht in einem Auto sein ;)


    mfg. :thumbup:

    Das ist möglich :)


    Ich gebe mal ein kleines Beispiel:


    //Oben im Script
    new move[MAX_PLAYERS char];


    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) {
    new Float:health;
    GetPlayerHealth(playerid,health);
    health = floatround(100-health);
    move{playerid} = floatround(floatmul(health,0.02)); //0.02 = 2%
    return 1;
    }


    public OnPlayerUpdate(playerid) {
    if(move{playerid} && !IsPlayerInAnyVehicle(playerid)) {
    SetPlayerVelocity(playerid,-move{playerid},0.0,0.0);
    }
    return 1;
    }


    Nicht getestet :D


    Aber probiere es einfach mal aus und spiele mit der Funktion SetPlayerVelocity ;)


    mfg. :thumbup:

    Schade, dass hier manche Leute bewerten, obwohl Sie noch nie auf dem Server waren, zumindest nicht unter den Forumnamen.
    Und danke für die, die sich die Zeit genommen haben, den Server wirklich zu betreten und zu bewerten!


    Ich finde es klasse, dass du so ruhig und gelassen bleibst, mach andere wären hier schon ausgerastet und hätten das Forum + User angeprangert oder beleidigt :D


    Aus diesem Grund schaue ich mir heute Abend mal den Server an :)


    mfg. :thumbup: