hehe
Mal nicht so gemein, er gibt sich ja auch Mühe und ist geduldig *g* .
Beiträge von KornChief
-
-
1. "==" statt "="
2. GetPlayerState = Zustand.
0 Empty (while initializing) - "PLAYER_STATE_NONE"
1 Player is on foot - "PLAYER_STATE_ONFOOT" // Wäre sowieso falsch
2 Player is driver of a vehicle - "PLAYER_STATE_DRIVER"
3 Player is passenger of a vehicle - "PLAYER_STATE_PASSENGER"
7 Player is wasted or on class selection - "PLAYER_STATE_WASTED"
8 Player is spawned - "PLAYER_STATE_SPAWNED"
9 Player is spectating - "PLAYER_STATE_SPECTATING"3. IsPLayerInAnyVehicle (ob er allg. in einem Auto ist, d.h. aucuh als Beifahrer, wenn du das willst nimmt "2" von der obrigen Liste).
-
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerInVehicle(i,v))
{
}
else
{
SetVehicleToRespawn(v)
}
}ungetestet...
Woher das "v" ?
new i = 0,v = 0;
for(;i < MAX_PLAYERS || v < MAX_VEHICLES; i++ && v++)
{
if(GetPlayerVehicleID(i) != v)
{
SetVehicleToRespawn(v);
}
}
Bin mir ebenfalls nicht sicher, aber man kanns ja testenBtw: Pushen ist verboten und das ist ein "Luxus", dass andere sich die Zeit nehmen, um dir zu helfen.
-
Bei CreatePickup(1242, 2, 1.1191, -503.3359, 1432.3585, 101); kann man das festlegen, ob das nur per Auto geht oder nur zu Fuß.
( 2. Parameter )14:
Pickupable, but only when in a vehicle. Falls through objects made with CreateObject, etc.Kannst sicherheitshalber noch so eine Abfrage einbauen, wie "if(IsPlayerInAnyVehicle(playerid))". Beim Command "/zoll" nur nicht vergessen, ebenfalls mit "IsPlayerToPoint" und "IsPlayerInAnyVehicle" abzufragen, das soll ja auch nicht überall gehen.
@[XfS]Marshall:
Das wäre eine ganz schlechte Lösung , da es 1. dafür ein schönes Callback gibt "public OnPlayerPickUpPickup(playerid, pickupid)" und ein Timer, der alle 0,5 Sekunden geht etwas auslastend ist . -
Nett 9,5/10
-
stock RemovePlayerWeapon(playerid, weapon)
{
new
currentweapon, // Ein Integerwert
currentammo; // Noch einer
for(new slot = 0; slot < 13; slot++) // Slot am Fang 0. Dann - solange der Integer Slot kleiner ist als die Zahl 13, wird zum Slot bei jedem Durchgang 1 dazugezählt.
{
GetPlayerWeaponData(playerid, slot, currentweapon, currentammo); // Dann geht er alle Waffen-Slots (wie SMGs,Pistolen,Shotguns,usw.) durch Er speichert die
// Waffe in den jeweiligen Slots unter "currentweapon" und ebenso dessen Ammo
if(weapon == currentweapon) // Wenn die WaffenID gleich der Waffe ist, die du wegmachen willst
{
GivePlayerWeapon(playerid, currentweapon, -currentammo); // gibt er ihm die Waffe, aber zieht die Ammo ab (wie bei GivePlayerMoney(playerid, -10); )
break; // und unterbricht
}
}
}
Schon eine Abfrage da -
hast du im enum
...
pPasswort[256],
.... -
-
Gibts soweit ich weiß im englischen SA:MP Forum...guck dort am besten mal
-
Hallo DMA,
ich hab auch (nach folgendem Schema : http://forum.sa-mp.com/index.php?topic=79810.0#post_data ) einen "Speedtest" durchgeführt und habe nun unter "main ()" folgendes stehen:main()
{
print("\n----------------------------------");
print(" usefull script snippets and test");
print("----------------------------------\n");new
time1,
time2,
time3,
time4;
time1 = GetTickCount();
for(new i = 0;i < 1000000;i++) {
strget("lol lol lol lol lol lol lol lol lol",3);
}
time2 = GetTickCount();
time3 = GetTickCount();
for(new a = 0;a < 1000000;a++) {
strret4("lol lol lol lol lol lol lol lol lol",3,4);
}
time4 = GetTickCount();
printf("%d | %d", time2 - time1,time4 - time3);
}Output: ~6300 | ~5400
Dies kann ich jedoch kaum glauben.
Daher wollte ich fragen, ob ich nicht etwas falsch getan habe und ob dies so stimmen kann.
Mit freundlichen Grüßen,
KornChief.
-
Du kannst bei "Edit" oben auf "Undo" klicken, dann gehst du einige Schritte zurück. Vllt geht es ja dann
-
Google oder englisches SA:MP Forum
-
Verwendung im Script
// Definieren:
new gangzone;// OnGameModInit
gangzone = GangZoneCreate(1248.011, 2072.804, 1439.348, 2204.319);// Dann entweder:
GangZoneShowForAll(gangzone, 0xFFFF0096);// Oder unter OnPlayerConnect:
GangZoneShowForPlayer(playerid, Zone, 0xFFFF0096);Funktionen:
( http://wiki.sa-mp.com/wiki/GangZoneCreate )
( http://wiki.sa-mp.com/wiki/GangZoneShowForAll )
( http://wiki.sa-mp.com/wiki/GangZoneShowForPlayer )Koordinaten finden:
Entweder gibst du InGame "/save" ein an allen Eckpunkten (siehe Skizze wo genau) und fügst sie ein, oder du verwendest ganz bequem den Xtreme Vehicle Plotter.
max y. ------------------------------------> *
^
|
|
|
|
*min. y | min. x --------------------> max. xReicht wenn du an den *-Punkten save eingibst, musst dann halt die richtigen Koordinaten rausnehmen.
-
Sehe das wie alle über mir.
- Nicht all zu schön
- Gibt es bereits (zu oft) -
-
"Gross" trifft zu, wenn er es ohne Gegenleistung will. Für eine Gegenleistung ist das noch relativ wenig.
-
Unter
public OnGameModeInit()
{ -
Und wenn ich für jeden einzelnen CMD das angleiche, d.h. CMD's mit langen Texten ( wie /adminchat ... ) größere Größen und bei CMD's mit vielen Parametern (Darunter zahlen) kleinere Größen nehmen? Spart das was oder eigtl. nicht?
// Edit: Ich gebs auf bleibe beim Alten
-
Eine Frage:
Wenn ich aber mein tmp auf tmp[4][40] runtersetze, bin ich bei 4 x 40 = 160...das ist doch weniger als new cmd[256]; zB, was an sich auch nicht gut ist , oder? -
Nice,habs nur kurz überflogen - nur wenn man das für Commands verwenden sollte, müsste man es etwas ändern, oder?
Denn er zählt bei " " counter += 1, wenn jedoch jemand folgendes eingibt :"/kick______4 Haha" (_ verkörpert " ") und im cmd GetStr(cmdtext,1,' '); dann würde ja ja abbrechen, da counter > count. Und wenn jemand "/kick 4 geschieht dir recht" schreibt, käme dann nicht nur "geschieht" an ?
Wenn ich falsch liege,
10/10 eindeutig .