@Mr.Reese: ändert nicht daran .. Animation wird trotzdem unterbrochen...
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
-
-
if(dialogid == DIALOG_SHOP)
{
if(response)
{
switch(listitem)
{
case 0: if(GetPlayerMoney(playerid) <= 5000) return SendClientMessage(playerid, 0xAA3333AA, "Du hast nicht genug Geld um die Deagle zu kaufen!"); GivePlayerWeapon(playerid,24,500);
case 1: return if(GetPlayerMoney(playerid) <= 1000)SendClientMessage(playerid, 0xAA3333AA, "Du hast nicht genug Geld um die Deagle zu kaufen!"); SetPlayerArmour(playerid,100);
}
}
return 1;
}return 0;
}Kann mir jemand sagen wie ich das hier machen könnte das keine Errors kommen und alles stimmt:
case 0: if(GetPlayerMoney(playerid) <= 5000) return SendClientMessage(playerid, 0xAA3333AA, "Du hast nicht genug Geld um die Deagle zu kaufen!"); GivePlayerWeapon(playerid,24,500);
case 1: return if(GetPlayerMoney(playerid) <= 1000)SendClientMessage(playerid, 0xAA3333AA, "Du hast nicht genug Geld um die Deagle zu kaufen!"); SetPlayerArmour(playerid,100); -
case 0: { if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid, 0xAA3333AA, "Du hast nicht genug Geld um die Deagle zu kaufen!"); else return GivePlayerWeapon(playerid,24,500);}
case 1: { if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, 0xAA3333AA, "Du hast nicht genug Geld um die Deagle zu kaufen!"); else return SetPlayerArmour(playerid,100);} -
case 0: { if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid, 0xAA3333AA, "Du hast nicht genug Geld um die Deagle zu kaufen!"); else return GivePlayerWeapon(playerid,24,500);}
case 1: { if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, 0xAA3333AA, "Du hast nicht genug Geld um die Deagle zu kaufen!"); else return SetPlayerArmour(playerid,100);}
Danke und wie mache ich das wenn ich noch einbauen will du hast dir erfolgreich eine Deagle gekauft -
GivePlayerWeapon(playerid,24,500),SendClientMessage(playerid,0xAA3333AA,"Du hast dir eine Deagle gekauft!");
Machst nach GivePlayerWeapon einfach ein Komma, und schreibst SendClientMessage -
Danke
-
Die unterbricht komischerweise so komisch...
Mach es mal so:ApplyAnimation(i, "ON_LOOKERS", "wave_loop", 4.0, 1, 0, 0, 1, 0, 1);
Wie erstelle ich ein Random aus Spieler welche nur eine gewisse Variable haben.
Also Beispiel, Spieler XY und Spieler ZY haben beide die Variable 1 und sollten somit beim random dabei sein.
Es sollte immer einer der ganzen im random ausgewählt werden.
So kann man das lösen:new list[4],idx;
for(new i; i<MAX_PLAYERS; i++) {
if(!IsPlayerConnected(i) || !var[i]) continue;
list[idx] = i,idx++;
}
//Und hier kannst du das dann so nutzen:
new randomSpielerID = list[random(4)];Bei dem Beispiel nehme ich an, dass es nur 4 Spieler sind die diese Variable (var[ i ]) auf true bzw nicht gleich 0 haben
mfg.
-
Hallo,
kurze Frage, benötigt man denn für PlayerTextDraws einen Array, oder reicht eine normale Variable aus?
In vielen Foren wird behaupt das man einen Array dafür benötigt, in anderen das eine Variable reicht, wie
ist es nun richtig? -
Wenn du die ID speichern willst benötigst du ein Array, da die ID ja für jeden Spieler anders ist.
Also ja, du brauchst ein Array.
-
Wo genau bleibt dann der Sinn der PlayerTextDraws?
Arbeiten doch dann genau so wie die normalen.Danke.
-
-
Wo genau bleibt dann der Sinn der PlayerTextDraws?
Arbeiten doch dann genau so wie die normalen.Danke.
Sie werden nur erstellt wenn sie gebraucht werden , also wenn eine Spieler mit dem serververbindet wird das Textdraw erstellt und wenn dieser Offline geht
wird es automatisch wieder entfernt. -
Hallo com ich habe auf mein server ein Autohaus system erstellt und will nun das die cars an der Trucker Base spawnen unswa Random
AddStaticVehicle(502,-31.5830,-276.6498,5.3175,269.5427,51,75); // autokaufspawn1
AddStaticVehicle(502,-30.5126,-280.0215,5.3186,269.2653,51,75); // autokaufspawn2
AddStaticVehicle(502,-31.2262,-283.4319,5.3170,269.3367,51,75); // autokaufspawn3
AddStaticVehicle(502,-31.4291,-286.8210,5.3192,270.3276,51,75); // autokaufspawn4
AddStaticVehicle(502,-30.6872,-290.2162,5.3215,270.0367,51,75); // autokaufspawn5
AddStaticVehicle(502,-31.2113,-293.6188,5.3206,270.5205,51,75); // autokaufspawn6
AddStaticVehicle(502,-30.9714,-296.9427,5.3215,269.7877,51,75); // autokaufspawn7
AddStaticVehicle(502,-0.9785,-301.1555,5.3132,89.2128,51,75); // autokaufspawn8
AddStaticVehicle(502,-0.3900,-304.6669,5.3173,90.0018,51,75); // autokaufspawn9
AddStaticVehicle(502,-0.4273,-308.1667,5.3223,89.5486,51,75); // autokaufspawn10
AddStaticVehicle(502,0.0562,-311.6645,5.3220,90.0193,51,75); // autokaufspawn11
AddStaticVehicle(502,-0.2071,-315.2568,5.3215,89.2483,51,75); // autokaufspawn12
AddStaticVehicle(502,-0.6865,-318.7336,5.3232,89.6181,51,75); // autokaufspawn13
AddStaticVehicle(502,-0.5670,-322.2784,5.3224,89.8154,51,75); // autokaufspawn14
AddStaticVehicle(502,-0.7787,-325.8391,5.3220,88.6041,51,75); // autokaufspawn15
AddStaticVehicle(502,-0.5788,-329.3296,5.3211,89.3954,51,75); // autokaufspawn16
AddStaticVehicle(502,-0.8341,-332.8588,5.3224,89.2498,51,75); // autokaufspawn17
AddStaticVehicle(502,-0.3046,-336.4436,5.3222,88.9489,51,75); // autokaufspawn18
AddStaticVehicle(502,-0.7694,-339.8704,5.3236,89.9762,51,75); // autokaufspawn19
AddStaticVehicle(502,-0.8461,-343.4076,5.3248,89.5425,51,75); // autokaufspawn20
AddStaticVehicle(502,-0.5109,-346.9451,5.3220,89.8589,51,75); // autokaufspawn21
AddStaticVehicle(502,-0.5799,-350.4830,5.3219,89.6116,51,75); // autokaufspawn22
AddStaticVehicle(502,-0.2762,-354.0208,5.3204,89.5558,51,75); // autokaufspawn23
AddStaticVehicle(502,-0.0255,-357.5459,5.3205,89.8315,51,75); // autokaufspawn24
AddStaticVehicle(502,-0.6771,-361.0365,5.3217,88.9111,51,75); // autokaufspawn25
AddStaticVehicle(502,-1.2926,-364.7119,5.3221,89.1589,51,75); // autokaufspawn26Das sind die Cordinaten wo sie Spawnen sollen unswa Random wenn ich z.b in Autohaus xxx ein Cheetah kauf soll der dort auf i-ein spawnen unswa soll der Random ausgesucht werden und wenn ich im Autohaus yyy ein Sultan kaufe soll er dort auch spawnen auf i-ein parkplatz der wieder Random ausgesucht werden soll weil wenn spieler xxx ein Auto kauft und spier yyy auch in dem gleichen Autohaus die sonst übereinander buggen bzw ineinander
enum autohausEnum{
Float:s_x,
Float:s_y,
Float:s_z,
Float:s_r
}enum autohauscarEnum{
model,
Float:c_x,
Float:c_y,
Float:c_z,
Float:c_r,
c_preis,
ah_id,
id_x
}new ahInfo[][autohausEnum] = {
{-31.5830,-276.6498,5.3175,269.5427},
{-31.4291,-286.8210,5.3192,270.3276}
};
new ahCars[][autohauscarEnum] = {
{411,-1668.7550,1205.7421,20.8833,272.0864,1200000,0},
{541,-1663.4056,1220.9622,20.8833,211.1151,900000,0},
{412,2134.5305,-1130.4222,25.5472,119.9674,60000,1}
};#define DIALOG_AUTOHAUS 4
//Unter OnGameModeInit
for(new i=0; i<sizeof(ahCars); i++)
{
ahCars[i][id_x]=AddStaticVehicle(ahCars[i][model],ahCars[i][c_x],ahCars[i][c_y],ahCars[i][c_z],ahCars[i][c_r],-1,-1);
}public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate==PLAYER_STATE_DRIVER)
{
new vID=GetPlayerVehicleID(playerid);
for(new i=0; i<sizeof(ahCars); i++)
{
if(ahCars[i][id_x]!=vID)continue;
SetPVarInt(playerid,"buyCarID",i);
new string[265];
format(string,sizeof(string),"Mochten sie das Fahrzeug für %i$ kaufen?",ahCars[i][c_preis]);
ShowPlayerDialog(playerid,DIALOG_AUTOHAUS,DIALOG_STYLE_MSGBOX,"Autokauf",string,"Ja","Nein");
break;
}
return 1;
}
return 1;
}//OnDialogResponse
if(dialogid==DIALOG_AUTOHAUS)
{
if(response)
{
new id=GetPVarInt(playerid,"buyCarID");
if(GetPlayerMoney(playerid)<ahCars[id][c_preis])
{
SendClientMessage(playerid,ROT,"Du hast nicht genügend Geld");
RemovePlayerFromVehicle(playerid);
return 1;
}
GivePlayerMoney(playerid,-ahCars[id][c_preis]);
createPlayerCar(playerid,ahCars[id][model],ahInfo[ahCars[id][ah_id]][s_x],ahInfo[ahCars[id][ah_id]][s_y],ahInfo[ahCars[id][ah_id]][s_z],ahInfo[ahCars[id][ah_id]][s_r]);
SendClientMessage(playerid,LEUCHTENDBLAU,"Herzlichen Glückwunsch zu ihren Kauf");
RemovePlayerFromVehicle(playerid);
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Dann eben nicht ...");
}
return 1;
} -
Wo genau bleibt dann der Sinn der PlayerTextDraws?
Arbeiten doch dann genau so wie die normalen.Danke.
Naja, das kann du dann z.B für eine Playerausgabe benutzen was nur der Spieler selbst sehen soll.
Wenn es ein Globales TD wäre und darin daten ausgegeben werden, sagen wir TextDrawSetString. Dann wird das für jeden angezeigt der das Textdraw bereits sieht. Sollte aber nicht so sein,von daher haben die PlayTextDraw schon ihren sinn -
Dann wird das für jeden angezeigt der das Textdraw bereits sieht. Sollte aber nicht so sein,von daher haben die PlayTextDraw schon ihren sinn
Ich kann aber auch wie bei den PlayerTextDraws einfach für jeden Player einen eigenen TextDraw erstellen und dann wird auch nur dieser für ihn geändert.
Aber gut, danke euch. -
stock textdrawerstellen()
{
Textdraw0 = TextDrawCreate(531.000000, 384.000000, "Rank:");
TextDrawBackgroundColor(Textdraw0, 255);
TextDrawFont(Textdraw0, 1);
TextDrawLetterSize(Textdraw0, 0.500000, 1.000000);
TextDrawColor(Textdraw0, -1);
TextDrawSetOutline(Textdraw0, 0);
TextDrawSetProportional(Textdraw0, 1);
TextDrawSetShadow(Textdraw0, 1);
TextDrawUseBox(Textdraw0, 1);
TextDrawBoxColor(Textdraw0, 255);
TextDrawTextSize(Textdraw0, 638.000000, 0.000000);Textdraw1 = TextDrawCreate(531.000000, 400.000000, "Kills:");
TextDrawBackgroundColor(Textdraw1, 255);
TextDrawFont(Textdraw1, 1);
TextDrawLetterSize(Textdraw1, 0.500000, 1.000000);
TextDrawColor(Textdraw1, -1);
TextDrawSetOutline(Textdraw1, 0);
TextDrawSetProportional(Textdraw1, 1);
TextDrawSetShadow(Textdraw1, 1);
TextDrawUseBox(Textdraw1, 1);
TextDrawBoxColor(Textdraw1, 255);
TextDrawTextSize(Textdraw1, 638.000000, 0.000000);Textdraw2 = TextDrawCreate(531.000000, 416.000000, "Deaths:");
TextDrawBackgroundColor(Textdraw2, 255);
TextDrawFont(Textdraw2, 1);
TextDrawLetterSize(Textdraw2, 0.500000, 1.000000);
TextDrawColor(Textdraw2, -1);
TextDrawSetOutline(Textdraw2, 0);
TextDrawSetProportional(Textdraw2, 1);
TextDrawSetShadow(Textdraw2, 1);
TextDrawUseBox(Textdraw2, 1);
TextDrawBoxColor(Textdraw2, 255);
TextDrawTextSize(Textdraw2, 638.000000, 0.000000);
return 1;
}forward zeigetextdraw();
public zeigetextdraw()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(GetPVarInt(i, "Teilnehmer"))
{
TextDrawShowForPlayer(i, Textdraw0);
TextDrawShowForPlayer(i, Textdraw1);
TextDrawShowForPlayer(i, Textdraw2);
}
}
return 1;So wird der public aufgerufen-> SetTimer("zeigetextdraw",1,false);
}Doch leider funktioniert es nicht, die Textdraws werden total komisch angezeigt.
-
Hallo com ich habe auf mein server ein Autohaus system erstellt und will nun das die cars an der Trucker Base spawnen unswa Random
AddStaticVehicle(502,-31.5830,-276.6498,5.3175,269.5427,51,75); // autokaufspawn1
AddStaticVehicle(502,-30.5126,-280.0215,5.3186,269.2653,51,75); // autokaufspawn2
AddStaticVehicle(502,-31.2262,-283.4319,5.3170,269.3367,51,75); // autokaufspawn3
AddStaticVehicle(502,-31.4291,-286.8210,5.3192,270.3276,51,75); // autokaufspawn4
AddStaticVehicle(502,-30.6872,-290.2162,5.3215,270.0367,51,75); // autokaufspawn5
AddStaticVehicle(502,-31.2113,-293.6188,5.3206,270.5205,51,75); // autokaufspawn6
AddStaticVehicle(502,-30.9714,-296.9427,5.3215,269.7877,51,75); // autokaufspawn7
AddStaticVehicle(502,-0.9785,-301.1555,5.3132,89.2128,51,75); // autokaufspawn8
AddStaticVehicle(502,-0.3900,-304.6669,5.3173,90.0018,51,75); // autokaufspawn9
AddStaticVehicle(502,-0.4273,-308.1667,5.3223,89.5486,51,75); // autokaufspawn10
AddStaticVehicle(502,0.0562,-311.6645,5.3220,90.0193,51,75); // autokaufspawn11
AddStaticVehicle(502,-0.2071,-315.2568,5.3215,89.2483,51,75); // autokaufspawn12
AddStaticVehicle(502,-0.6865,-318.7336,5.3232,89.6181,51,75); // autokaufspawn13
AddStaticVehicle(502,-0.5670,-322.2784,5.3224,89.8154,51,75); // autokaufspawn14
AddStaticVehicle(502,-0.7787,-325.8391,5.3220,88.6041,51,75); // autokaufspawn15
AddStaticVehicle(502,-0.5788,-329.3296,5.3211,89.3954,51,75); // autokaufspawn16
AddStaticVehicle(502,-0.8341,-332.8588,5.3224,89.2498,51,75); // autokaufspawn17
AddStaticVehicle(502,-0.3046,-336.4436,5.3222,88.9489,51,75); // autokaufspawn18
AddStaticVehicle(502,-0.7694,-339.8704,5.3236,89.9762,51,75); // autokaufspawn19
AddStaticVehicle(502,-0.8461,-343.4076,5.3248,89.5425,51,75); // autokaufspawn20
AddStaticVehicle(502,-0.5109,-346.9451,5.3220,89.8589,51,75); // autokaufspawn21
AddStaticVehicle(502,-0.5799,-350.4830,5.3219,89.6116,51,75); // autokaufspawn22
AddStaticVehicle(502,-0.2762,-354.0208,5.3204,89.5558,51,75); // autokaufspawn23
AddStaticVehicle(502,-0.0255,-357.5459,5.3205,89.8315,51,75); // autokaufspawn24
AddStaticVehicle(502,-0.6771,-361.0365,5.3217,88.9111,51,75); // autokaufspawn25
AddStaticVehicle(502,-1.2926,-364.7119,5.3221,89.1589,51,75); // autokaufspawn26Das sind die Cordinaten wo sie Spawnen sollen unswa Random wenn ich z.b in Autohaus xxx ein Cheetah kauf soll der dort auf i-ein spawnen unswa soll der Random ausgesucht werden und wenn ich im Autohaus yyy ein Sultan kaufe soll er dort auch spawnen auf i-ein parkplatz der wieder Random ausgesucht werden soll weil wenn spieler xxx ein Auto kauft und spier yyy auch in dem gleichen Autohaus die sonst übereinander buggen bzw ineinander
enum autohausEnum{
Float:s_x,
Float:s_y,
Float:s_z,
Float:s_r
}enum autohauscarEnum{
model,
Float:c_x,
Float:c_y,
Float:c_z,
Float:c_r,
c_preis,
ah_id,
id_x
}new ahInfo[][autohausEnum] = {
{-31.5830,-276.6498,5.3175,269.5427},
{-31.4291,-286.8210,5.3192,270.3276}
};
new ahCars[][autohauscarEnum] = {
{411,-1668.7550,1205.7421,20.8833,272.0864,1200000,0},
{541,-1663.4056,1220.9622,20.8833,211.1151,900000,0},
{412,2134.5305,-1130.4222,25.5472,119.9674,60000,1}
};#define DIALOG_AUTOHAUS 4
//Unter OnGameModeInit
for(new i=0; i<sizeof(ahCars); i++)
{
ahCars[i][id_x]=AddStaticVehicle(ahCars[i][model],ahCars[i][c_x],ahCars[i][c_y],ahCars[i][c_z],ahCars[i][c_r],-1,-1);
}public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate==PLAYER_STATE_DRIVER)
{
new vID=GetPlayerVehicleID(playerid);
for(new i=0; i<sizeof(ahCars); i++)
{
if(ahCars[i][id_x]!=vID)continue;
SetPVarInt(playerid,"buyCarID",i);
new string[265];
format(string,sizeof(string),"Mochten sie das Fahrzeug für %i$ kaufen?",ahCars[i][c_preis]);
ShowPlayerDialog(playerid,DIALOG_AUTOHAUS,DIALOG_STYLE_MSGBOX,"Autokauf",string,"Ja","Nein");
break;
}
return 1;
}
return 1;
}//OnDialogResponse
if(dialogid==DIALOG_AUTOHAUS)
{
if(response)
{
new id=GetPVarInt(playerid,"buyCarID");
if(GetPlayerMoney(playerid)<ahCars[id][c_preis])
{
SendClientMessage(playerid,ROT,"Du hast nicht genügend Geld");
RemovePlayerFromVehicle(playerid);
return 1;
}
GivePlayerMoney(playerid,-ahCars[id][c_preis]);
createPlayerCar(playerid,ahCars[id][model],ahInfo[ahCars[id][ah_id]][s_x],ahInfo[ahCars[id][ah_id]][s_y],ahInfo[ahCars[id][ah_id]][s_z],ahInfo[ahCars[id][ah_id]][s_r]);
SendClientMessage(playerid,LEUCHTENDBLAU,"Herzlichen Glückwunsch zu ihren Kauf");
RemovePlayerFromVehicle(playerid);
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Dann eben nicht ...");
}
return 1;
}/Push kann mir wer helfen?
-
Was ist denn genau dein Problem?
Bzw. was geht oder funktioniert nicht?@snaker112:
-
Hey,
habe ein Problem mit Textdraw-Figuren..Möchte einen Kreis und ein Viereck per Textdraw erstellen.
Wenn ich es mit einem 'Punkt' mache, und den dann vergrößer, dann ist es unscharf. ( genau so beim Viereck )
Mir fällt leider nicht ein..Kann mir da vlt jemand helfen?
-
Einen Kreis kann man, so viel ich weiß, nicht direkt machen. Du könntest ein "o" oder "O" nehmen und das dann innen ausfüllen (kleineres O in die Mitte).
Kannst auch mal schauen wie es dort gemacht wurde: http://forum.sa-mp.com/showthread.php?t=396329 Ich schätze auch mit einem O, so wie es aussieht. -