Benutze den Typ 2:
ZitatDisappears after pickup, respawns after 30 seconds if the player is at a distance of at least 15 meters
Benutze den Typ 2:
ZitatDisappears after pickup, respawns after 30 seconds if the player is at a distance of at least 15 meters
Wie kann ich diese Animation machen, um z.B. mit der linken Maustaste eine Zigarette zu bekommen und damit rauchen zu können? Oder gibt es andere Animationen, wodurch der Character gerade aus schaut und nicht dorthin, wo man selbst hinschaut?
Wie kann ich die Zeit auf dem Server einfrieren? Bei mir ist die Zeit auf dem Server immer die Zeit, die auch mein Computer anzeigt.
Das kannst du mit SetPlayerSpecialAction (playerid, SPECIAL_ACTION_SMOKING) machen.
Warum denn so kompliziert über Script was sowieso nicht möglich ist?
Such mal im SAMP Wiki, dort sind die Clientseitigen Befehle aufgelistet.
Ich glaube es war /noheadmove oder /headmove.
Such am besten einfach mal ein bisschen.
Wie kann ich die Zeit auf dem Server einfrieren? Bei mir ist die Zeit auf dem Server immer die Zeit, die auch mein Computer anzeigt.
Da wirst du wohl in Gamemode einen Code haben, der gettime nutzt um damit ein TextDraw zu aktualisieren und dir dort die Zeit anzuzeigen.
Suche mal danach. Je nach dem wie der Code aufgebaut ist, ist es mehr oder weniger schwer die Zeit (temporär?) einzufrieren.
Moin ,
Ich habe arbeite grad an einem Waffenkauf Dialog .... und ich habe das mit den Dialogen fertig etc, bloß wenn ich jetzt auf eine Waffe drücke, passiert nichts! Warum?
Code:
if(listitem == 0)//Pistoel - 9mm
{
if(GetPlayerMoney(playerid) >= 250)
{
GivePlayerWeapon(playerid, 22, 100);
SendClientMessage(playerid,0xFF0000FF,"[INFO] {FFFFFF} Du hast dir eine 9mm Pistole gekauft!");
}
else
{
SendClientMessage(playerid,0xFF0000FF,"[FEHLER] {FFFFFF} Du hast nicht genügend Geld!");
}
}
Wie zeigst du dem Spieler den Dialog an?
Und wie sieht dein OnDialogResponse callback aus?
Der von dir gepostete Teil ist nicht das Problem.
Also als erstes läuft der Spieler auf einen PickUp zu.
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == ArmyPickUp)
{
ShowPlayerDialog(playerid,WAFFEN_USARMY,DIALOG_STYLE_LIST,"{FFFFFF}US-ARMY - {FF0000}Laden","{FFFFFF}Waffen kaufen\nPremium-System\nGun-Game beitreten","Auswählen","Abbrechen");
}
return 1;
}
Dann öffnet sich ein Dialog:
Zuerst der:
case WAFFEN_TERRORISTEN:
{
if(response)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid,WAFFEN_MENUTERRORISTEN,DIALOG_STYLE_LIST,"{FFFFFF}TERRORISTEN - {FF0000}Waffenladen","{FFFFFF}Pistole(9mm) - $1500\nPistole(Schalldämpfer) - $\nDesert Eagle - $\nSchrotflinte - $\nAbgesägte Schrotflinte - $\nDoppelte Schrotflinte - $\nMicro SMG/Uzi - $\nMP5 - $\nAK-47 - $\nM4 - $\nTec-9 - $\nCountry Gewehr - $\nScharfschützengewehr - $\nRPG- $\nFlammenwerfer - $","Kaufen","Zurück");
}
else if(listitem == 1)
{
SendClientMessage(playerid,0xFF0000FF,"[FEHLER]{FFFFFF} Derzeitig deaktiviert!");
}
else if(listitem == 2)
{
SendClientMessage(playerid,0xFF0000FF,"[FEHLER]{FFFFFF} Derzeitig deaktiviert!");
}
}
else
{
}
}
//und dann wenn der Spieler z.b.: Waffe 1 Anklickt , soll diese Funktion ausgerufen werden:
case WAFFEN_MENUTERRORISTEN:
{
if(response)
{
if(listitem == 0)//Pistoel - 9mm
{
if(GetPlayerMoney(playerid) >= 250)
{
ShowPlayerDialog(playerid,WAFFEN_MENUTERRORISTEN,DIALOG_STYLE_LIST,"{FFFFFF}TERRORISTEN - {FF0000}Waffenladen","{FFFFFF}Pistole(9mm) - $1500\nPistole(Schalldämpfer) - $\nDesert Eagle - $\nSchrotflinte - $\nAbgesägte Schrotflinte - $\nDoppelte Schrotflinte - $\nMicro SMG/Uzi - $\nMP5 - $\nAK-47 - $\nM4 - $\nTec-9 - $\nCountry Gewehr - $\nScharfschützengewehr - $\nRPG- $\nFlammenwerfer - $","Kaufen","Zurück");
GivePlayerWeapon(playerid, 22, 100);
SendClientMessage(playerid,0xFF0000FF,"[INFO] {FFFFFF} Du hast dir eine 9mm Pistole gekauft!");
}
else
{
ShowPlayerDialog(playerid,WAFFEN_MENUTERRORISTEN,DIALOG_STYLE_LIST,"{FFFFFF}TERRORISTEN - {FF0000}Waffenladen","{FFFFFF}Pistole(9mm) - $1500\nPistole(Schalldämpfer) - $\nDesert Eagle - $\nSchrotflinte - $\nAbgesägte Schrotflinte - $\nDoppelte Schrotflinte - $\nMicro SMG/Uzi - $\nMP5 - $\nAK-47 - $\nM4 - $\nTec-9 - $\nCountry Gewehr - $\nScharfschützengewehr - $\nRPG- $\nFlammenwerfer - $","Kaufen","Zurück");
SendClientMessage(playerid,0xFF0000FF,"[FEHLER] {FFFFFF} Du hast nicht genügend Geld!");
}
}
}
else
{
ShowPlayerDialog(playerid,WAFFEN_TERRORISTEN,DIALOG_STYLE_LIST,"{FFFFFF}TERRORISTEN - {FF0000}Laden","{FFFFFF}Waffen kaufen\nPremium-System\nGun-Game beitreten","Auswählen","Abbrechen");
}
}
Habe es jetzt abgekürzt, habe eigentlich da noch über 14 Waffen stehen .
Schau mal, du zeigst ihm den WAFFEN_USARMY Dialog:
ShowPlayerDialog(playerid,WAFFEN_USARMY,
Fragst aber nach
case WAFFEN_MENUTERRORISTEN:
ab.
*Facepalm* ... danke dir
//EDIT: Noch eine Frage: Warum wird das Geld dann nicht in der DatenBank gespeichert? Z.b.: Ein Spieler kauf eine Mp5, wird auch von der Geldanzeige weggezogen, dann aber bleibt trozdem in der Datenbank das vorherige Geld. Deswegen wird das Geld , wenn man stirbt , auch von letztes mal hingesetzt. Habe auch alles normalerweise abgespeichert mit "saveplayer(playerid);"... Hier nochmal die Listitem:
if(listitem == 0)//Pistoel - 9mm
{
if(GetPlayerMoney(playerid) >= 250)
{
ShowPlayerDialog(playerid,WAFFEN_MENUTERRORISTEN,DIALOG_STYLE_LIST,"{FFFFFF}TERRORISTEN - {FF0000}Waffenladen","{FFFFFF}Pistole(9mm) - $250\nPistole(Schalldämpfer) - $250\nDesert Eagle - $1000\nSchrotflinte - $1500\nAbgesägte Schrotflinte - $4000\nDoppelte Schrotflinte - $3500\nMicro SMG/Uzi - $3500\nMP5 - $2000\nAK-47 - $5000\nM4 - $6000\nTec-9 - $3550\nCountry Gewehr - $3000\nScharfschützengewehr - $5000\nRPG- $10000\nFlammenwerfer - $7500","Kaufen","Zurück");
GivePlayerWeapon(playerid, 22, 100);
GivePlayerMoney(playerid, -250);
SavePlayer(playerid);
SendClientMessage(playerid,0xFF0000FF,"[INFO] {FFFFFF}Du hast dir eine {FF9100}9mm Pistole {FFFFFF}gekauft!");
}
else
{
ShowPlayerDialog(playerid,WAFFEN_MENUTERRORISTEN,DIALOG_STYLE_LIST,"{FFFFFF}TERRORISTEN - {FF0000}Waffenladen","{FFFFFF}Pistole(9mm) - $250\nPistole(Schalldämpfer) - $250\nDesert Eagle - $1000\nSchrotflinte - $1500\nAbgesägte Schrotflinte - $4000\nDoppelte Schrotflinte - $3500\nMicro SMG/Uzi - $3500\nMP5 - $2000\nAK-47 - $5000\nM4 - $6000\nTec-9 - $3550\nCountry Gewehr - $3000\nScharfschützengewehr - $5000\nRPG- $10000\nFlammenwerfer - $7500","Kaufen","Zurück");
SendClientMessage(playerid,0xFF0000FF,"[FEHLER] {FFFFFF}Du hast nicht genügend Geld!");
}
}
Zeig mal deine SavePlayer-Funktion.
Hier bitte:
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) //wir überprüfen ob der Spieler überhaupt noch Connected ist und ob er nicht ein NPC ist.
{
if(GetPVarInt(playerid,"Eingeloggt") == 1) //Und hier ob er noch eingeloggt ist.
{
mysql_SetInt("user", "Score", SpielerInfo[playerid][pScore], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("user", "Alevel", SpielerInfo[playerid][pAlevel], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("user", "Member", SpielerInfo[playerid][pMember], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("user", "Leader", SpielerInfo[playerid][pLeader], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("user", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("user", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("user", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("user", "Banned", SpielerInfo[playerid][pBanned], "Name", SpielerInfo[playerid][pName]);
mysql_SetFloat("user", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
}
}
Bei deiner Pistole:
GivePlayerMoney(playerid, -250);
zu:
GivePlayerMoney(playerid, -250);
SpielerInfo[playerid][pGeld] -= 250;
Bei deiner Pistole:
GivePlayerMoney(playerid, -250);
zu:
GivePlayerMoney(playerid, -250);
SpielerInfo[playerid][pGeld] -= 250;
Alles klar danke geht nun wieder!
//Edit:
Ich habe jetzt vor einen MakeGunPickUp zu erstellen. Dies sollte so aussehen: Administrator gibt /Makegunpickup [WAFFENID] [MUNITION] ein. Z.b.: /makegunpickup 31 5000. So , dann soll ein Pickup erstellt werden mit dem PickUp ID als M4. Und wenn jetzt z.b.: /Makegunpickup 24 5000(Deagle, wenn ich mich nicht irre) dann soll ein Deagle PickUp erstellt werden. Wenn dann der Pickup erstellt wurde, kann man dann da hin gehen , und per "ENTER DRÜCKEN" das Objekt aufnehmen. Wie würde sowas aussehn? Bzw, ein Beispiel wäre cool.
Jeffrey
@Alleanderen
Bzw, ein Beispiel wäre cool.
http://forum.sa-mp.com/showthread.php?t=252128
Schau dir diesen Code mal an. Den habe ich vor einiger Zeit gemacht. Das ist in etwas das (der /dropweapon Befehl), was du haben willst, dann weißt du in etwas was du alles brauchst.
Also gut, ich hab es versucht mir etwas anzuschauen , hat mir aber auch etwas geholfen. Jedoch komme ich nicht weiter...
ocmd:makegunpickup(playerid,params[])
{
if(SpielerInfo[playerid][pAlevel] >= 3)
{
new waffe,ammo,Float:Px,Float:Py,Float:Pz,VW=GetPlayerVirtualWorld(playerid);
if(sscanf(params,"ii",waffe,ammo))return SendClientMessage(playerid, 0xFF0000FF,"[FEHLER]{FFFFFF} /MakeGunPickUp [Waffen-ID] [Munition]");
{
GetPlayerPos(playerid, Px, Py, Pz);
CreatePickup(waffe, 18, Px, Py, Pz , VW);
}
}
return 1;
}
Hallöle Community,
nach langer Inaktivität bastel ich gerade ein wenig am Selfmade rum. Ich lese aus einer Datenbank die VehicleID aus. Diese wird wunderbar ausgegeben. Nun möchte ich die VehicleID über SetPVarInt speichern. Leider bekomme ich folgenden Fehler: error 035: argument type mismatch (argument 3)
Ich komme leider momentan nicht auf die Lösung. Vielleicht weil es schon spät ist... Kann jemand helfen? Danke!
if(response){
new Query[256], Get[128];
format(Query, sizeof(Query), "SELECT id FROM `vehicles` WHERE `plate` = '%s'", inputtext);
mysql_query(Query);
mysql_store_result();
mysql_fetch_row(Get);
mysql_free_result();
if(strlen(Get) != 0){
new string[128];
SetPVarInt(playerid, "pKey1", Get); // Hier möchte ich die ausgelesene VehicleID speichern. Sie ist in der "Get" Variable abgelegt.
format(string, 128, "[Info] Du nimmst Dir den Schlüssel für folgendes Fahrzeug: %s (%s)", inputtext, Get); // Hier wird die VehicleID noch schön ausgegeben...
SendClientMessage(playerid, COLOR_GREY, string);
}else{
SendClientMessage(playerid, COLOR_GREY, "[Info] Der Schlüssel wurde nicht gefunden.");
}
}
Moin, mal ne kurze frage...
Wie kann ich es machen das wen er gestorben ist für 2Min auf den Friedhof in LS komme mit der "Unsichtbaren Grenze ?!"
public OnPlayerDeath(playerid, killerid, reason)
{
if(IsPlayerConnected(killerid) && killerid != playerid)
{
SendClientMessage(killerid,Rot, "Du hast ein Verbrechen begangen! (Mord) Reporter: Anonym");
PlayerInfo[killerid][Verbrechen] += 1;
SendClientMessage(playerid,Rot,"Du bist Gestorben! Grund: Unbekannt");
PlayerInfo[playerid][Tode] += 1;
GivePlayerMoney(playerid, 100);
}
PlayerInfo[playerid][InSkinChange] = false;
PlayerInfo[playerid][Duty] = false;
return 1;
}