Beiträge von SoulMan

    Hey, Com!
    Ich hab ein Problem mit meinem /makeleader Command.
    Zur Zeit wird immer nur die 6. case abgerufen, egal, welche Zahl ich angebe.
    Kann mir jmd. weiterhelfen? hier mein Command:
    dcmd_makeleader(playerid,params[])
    {
    new pID, Team;
    if(sscanf(params,"ud",pID,Team))return SendClientMessage(playerid,0xC8C8C8FF,"/makeleader [ID/Name] [FraktionsID]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler ist nicht online!");
    if(Team < 0 || Team > 6) return SendClientMessage(playerid,0xC8C8C8FF, "Die FraktionsID muss zwischen 0 [Uninvite] und 6 liegen!");
    if(pInfo[playerid][AdminLevel] > 4)
    {
    new string[128] ,string2[128] ,teamsetter[MAX_PLAYER_NAME], playername[MAX_PLAYER_NAME];
    new gang = 6;
    GetPlayerName(playerid,playername,sizeof playername);
    format(string, sizeof(string),"Leaders/%s.sav",playername);
    GetPlayerName(playerid,teamsetter,sizeof(teamsetter));
    switch(gang)
    {
    case 1: format(string,sizeof(string),"%s hat dich zum Leader der Grove Street Families gemacht!",playername);
    case 2: format(string,sizeof(string),"%s hat dich zum Leader der Jefferson 82's Ballas gemacht!",playername);
    case 3: format(string,sizeof(string),"%s hat dich zum Leader der Los Santos Vagos gemacht!",playername);
    case 4: format(string,sizeof(string),"%s hat dich zum Leader des LSPD gemacht!",playername);
    case 5: format(string,sizeof(string),"%s hat dich zum Leader der Varrios Los Aztecas gemacht!",playername);
    case 6: format(string,sizeof(string),"%s hat dich zum Leader der Triaden gemacht!",playername);
    }
    GetPlayerName(pID,playername,sizeof playername);
    switch(gang)
    {
    case 1: format(string2, sizeof(string2),"Du hast %s zum Leader der Grove Street Families gemacht!",playername);
    case 2: format(string2, sizeof(string2),"Du hast %s zum Leader der Jefferson 82's Ballas gemacht!",playername);
    case 3: format(string2, sizeof(string2),"Du hast %s zum Leader der Los Santos Vagos gemacht!",playername);
    case 4: format(string2, sizeof(string2),"Du hast %s zum Leader des LSPD gemacht!",playername);
    case 5: format(string2, sizeof(string2),"Du hast %s zum Leader der Varrios Los Aztecas gemacht!",playername);
    case 6: format(string2, sizeof(string2),"Du hast %s zum Leader der Triaden gemacht!",playername);
    }
    pInfo[pID][Leader] = Team;
    dini_IntSet(string,"Leader",Team);
    SendClientMessage(pID,0x00F0F0FF,string);
    SendClientMessage(playerid,0xC8C8C8FF,string2);
    }
    else return SendClientMessage(playerid, 0xC8C8C8FF, "Dein Adminrank reicht nicht aus!");
    return 1;
    }


    mfG
    Walker

    Ne, das CRACk bzw. PED ist der Libaryname. Also der Name der Kategoerie, in der
    die Animation ist. Trtozdem danke. :)


    Kann mir keiner mehr helfen?
    Es geht doch nur um so eine simple Animation, gibt hier doch sicher genug gute Scripter,
    die Ahnung davon haben.

    Bringt nichts, glaube auch irgendwie nicht, dass das was ändert.^^
    Edit:
    Keiner der mir helfen kann?
    Also ich kann dazu nur noch sagen, dass ich für SetTimerEx eine public benutze u. natürlich ein forward.
    Und wenn ich das in die public reinpacken, geht es auch nicht.
    Edit2:
    Wenn ich die animation ApplyAnimation(playerid,"PED","WALK_DRUNK",4.1,1,1,1,1,1); nehme, funktionierts. 8|
    Hab die Animation aus der SAMP Wiki.
    Edit3:
    Liegt es vielleicht an den Zahlen? Ich bin mir nämlich nicht sicher, wie ich was setzen muss.
    Und wenn es bei dieser Animation, also WALK_DRUNK funktioniert, müsste es doch eig. keinen Unterschied zu anderen sein.
    Ich verstehe das Ganze nicht. 8|

    Da gibt es zwar nicht viel zu erklären, aber was du erklärt hast war ganz okey.
    Hättest noch ein Beispiel zeigen können, ansonsten 6/10.
    Mich würde interessieren, wie ich einen 3D Text über dem PickUp erscheinen
    lassen könnte. Aber das ist dann doch zu weit hergeholt.
    mfG
    Walker

    Hey, Com!
    Ich hab ein Problem und zwar funktioniert die Animation bei /tazer nicht.
    Es soll die alt bewährte crckdeth2 Animation sein, aber diese wird nicht ausgeführt.
    Ich hab bereits sämtliche Threads durchforstet und nichts gefunden.
    Hier mal mein Befehl:
    dcmd_tazer(playerid,params[])
    {
    new pID, string2[128], Float:x,Float:y,Float:z;
    if(sscanf(params, "u",pID))return SendClientMessage(playerid,0xC8C8C8FF,"/tazer [ID/Name]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler ist nicht online!");
    if (pID == playerid)return SendClientMessage(playerid,0xC8C8C8FF,"Du kannst dich nicht selber tazern!");
    if(gTeam[playerid] == TEAM_COPS)
    GetPlayerPos(playerid,x,y,z);
    {
    if(IsPlayerInRangeOfPoint(pID,3.0,x,y,z))
    {
    new tazer[MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], string[128], Float:x2,Float:y2,Float:z2;
    GetPlayerName(playerid,tazer,sizeof (tazer));
    format(string2,sizeof(string2),"%s hat dich getazert!",tazer);
    GetPlayerPos(playerid,x2,y2,z2);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerInRangeOfPoint(i,60.0,x2,y2,z2))
    {
    GetPlayerName(pID,pname, sizeof(pname));
    format(string,sizeof(string),"**%s hat %s unter Strom gesetzt!**",tazer, pname);
    SendClientMessage(i,0xC17DCCFF,string);
    }
    }
    SetTimerEx("untazed", 20000,0,"d",pID);
    ApplyAnimation(pID,"CRACK","crckdeth2",4.1,1,1,1,1,1);
    TogglePlayerControllable(pID,0);
    GameTextForPlayer(pID, "~r~Geschockt", 2500, 5);
    SendClientMessage(pID,0x00E4FFFF,string2);
    }
    }
    return 1;
    }


    Warum geht das nicht?

    Aber die Abfrage, ob derjenige nah genug ist, funktioniert doch. ^^
    Dort werden auch die Nachrichten etc. gesendet. Hab den Befehl ja von
    meinem /cuff abgeleitet, da funkt diese Abfrage auch. ^^
    Trtozdem danke. :P


    Edit:
    Der Spieler wird jetz zwar gefreezed, das passier aber erst nach ca. 20 sekunden u. dann bleibt dieser auch gefeezed.
    Ich denke mal, die Zeit, die ich bei SetTimerEx angegeben hab, wird irgendwie als Zeit bis zum freezen genommen oder so..
    Bitte helft mir, will endlich diesen Command fertig haben..
    mfG

    Muss playerid nicht pID sein?
    Es soll ja alles auf den gatazerten Spieler zutreffen.
    Naja, bins mal testen.
    bg^^


    Edit:
    TogglePlayerControllable muss auf 0 sein. 1 ist, um
    wieder entfreezed zu werden.


    Edit2:
    Also, ist TogglePlayerControllable IM Befehl selbst, kann man garnichts mehr machen, man bleibt die ganze zeit gefreezd, nehm ich es raus,
    kann man rumlaufen wie man lustig ist -.-
    Hab das Gefühl, SetTimerEx bringt garnichts..


    Edit3:
    Hab jetzt nochmal alles durchgecheckt und überprüft, ob ich pID oder playerid schreibe ist unwichtig, es funktioniert beides nicht.
    Bin langsam ratlos. :S
    Ist aber alles so, wie es sein soll hier nochmal meine Zeilen:
    forward tazed(pID);
    dcmd_tazer(playerid,params[])
    {
    new pID, string2[128], Float:x,Float:y,Float:z;
    if(sscanf(params, "u",pID))return SendClientMessage(playerid,0xC8C8C8FF,"/tazer [ID/Name]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler ist nicht online!");
    if (pID == playerid)return SendClientMessage(playerid,0xC8C8C8FF,"Du kannst dich nicht selber tazern!");
    if(gTeam[playerid] == TEAM_COPS)
    GetPlayerPos(playerid,x,y,z);
    {
    if(IsPlayerInRangeOfPoint(pID,3.0,x,y,z))
    {
    new tazer[MAX_PLAYER_NAME];
    GetPlayerName(playerid,tazer,sizeof (tazer));
    format(string2,sizeof(string2),"%s hat dich getazert!",tazer);
    SetTimerEx("tazed", 20000,0,"d",pID);
    GameTextForPlayer(pID, "~r~Geschockt", 2500, 5);
    SendClientMessage(pID,0x00E4FFFF,string2);
    }
    }
    return 1;
    }
    public tazed(pID)
    {
    TogglePlayerControllable(pID,0);
    return 1;
    }
    Warum geht's bloß nicht?

    Weil mir SetTimer so oder so nichts nützt..dann bleib ich für immer getazert xD


    Edit:
    Das mit der public u. SetTimerEx hat nicht funktioniert, ich konnte egal, was ich probiert habe weiterlaufen.


    Edit2:
    Oben hatte ich:
    forward tazed(pID);
    u. unten
    public(pID)
    {
    TogglePlayerControllable(pID,0);
    return 1;
    }


    Das hatte ich ohne returns, mit return 1 u. mit return 0.

    Jo, hab ich jetzt, fehlte nur noch der forward :P
    Danke euch.
    Bin's mal testen!


    Edit:
    Man kann jetzt trotzdem weiterlaufen, wie man lustig ist. Hab's schon mit TogglePlayerControllable(pID,1) u. TogglePlayerControllable(pID,0) getestet.
    Muss TogglePlayerControllable sowohl in den Befehl selbst, als auch in die public?

    Hey, ihr Scripter!
    Ich wollte euch mal um Hilfe bitten bei meinem Tazer Command.
    So sieht er aus:
    dcmd_tazer(playerid,params[])
    {
    new pID, string2[128], Float:x,Float:y,Float:z;
    if(sscanf(params, "u",pID))return SendClientMessage(playerid,0xC8C8C8FF,"/tazer [ID/Name]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler ist nicht online!");
    if (pID == playerid)return SendClientMessage(playerid,0xC8C8C8FF,"Du kannst dich nicht selber tazern!");
    if(gTeam[playerid] == TEAM_COPS)
    GetPlayerPos(playerid,x,y,z);
    {
    if(IsPlayerInRangeOfPoint(pID,3.0,x,y,z))
    {
    new tazer[MAX_PLAYER_NAME];
    GetPlayerName(playerid,tazer,sizeof (tazer));
    format(string2,sizeof(string2),"%s hat dich getazert!",tazer);
    SetTimer("cuffed", 20000,0);
    {
    TogglePlayerControllable(pID,0);
    }
    GameTextForPlayer(pID, "~r~Geschockt", 2500, 5);
    SendClientMessage(pID,0x00E4FFFF,string2);
    }
    }
    return 1;
    }


    Der Timer funktioniert so aber nicht, denn ich muss SetTimerEx verwenden.
    Aber ich weiß nicht, wie ich das tun soll. Hab bis jetzt noch nicht mit diesem Befehl gearbeitet.
    Wäre schön, wenn ihr mir helfen könntet.
    mfG
    Walker

    Also ich hab jetzt erstmal versucht, den Skin speichern u. laden zu lassen, aber er speichert den Skin nicht.
    Ändere ich aber manuell den Skin in der .ini meines Accounts, spawnt er mit dem angegebenen Skin.
    Warum speichert der Skin nicht richtig?
    public OnPlayerDisconnect(playerid, reason)
    {
    new pname[MAX_PLAYER_NAME], path[200];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(path, sizeof(path), "/spieler/%s.ini", pname);


    dini_IntSet(path, "sex", pInfo[playerid][sex]);
    dini_IntSet(path, "age", pInfo[playerid][age]);
    dini_IntSet(path, "AdminLevel", pInfo[playerid][AdminLevel]);
    dini_IntSet(path, "Leader", pInfo[playerid][Leader]);
    dini_IntSet(path, "Skin", pInfo[playerid][Skin]);


    pInfo[playerid][logged] = 0;


    return 1;
    }
    dini_Set(path, "age", inputtext);
    dini_IntSet(path, "AdminLevel" , 0);
    dini_IntSet(path, "Leader" ,0);
    dini_IntSet(path, "Skin" ,0);
    ShowPlayerDialog(playerid, DIALOG_REGISTER4, DIALOG_STYLE_MSGBOX, "Registrierung", "Ihre Registrierung ist nun abgeschlossen!", "OK","OK");


    Das sind alle Zeilen, die was mit dem speichern zu tun haben.
    Das Erste ist vom disconnect, das Zweite vom Login/Register System.
    Was ist falsch?
    mfG
    Walker


    Edit:
    Man spawnt jetzt auch IMMER mit dem Skin, der in der .ini angegeben ist.
    Bitte helft mir. :|