if(GetPlayerWeapon(playerid) == 24)
{
//Was soll passieren...
}
Beiträge von n0skillg3t
-
-
Du gehst in den BSN rein, stellst dich vor die Tür und machst /save BSN.
Nun gehst du auf den Desktop, dann in deinen GTA SA Userfiles Ordner rein.
Dann unter SAMP und jetzt siehst du eine Datei Namens "savedpositions.txt"...
Dort stehen dann die Koordinaten.
-
Mach doch einfach /save an der Position, an der du gespawnt werden willst..
-
-
new Float:health;
GetPlayerHealth(playerid,health);
if (health > 100.0)return SendClientMessage(playerid,0xAF0000FF,"Du kannst nichts mehr essen");
SetTimerEx("bsn1",2000,false,"d",playerid);
SendClientMessage(playerid,0xD48B00FF,"Dein Chicken Burger kommt gleich"); -
Omg capo, wenn man es nicht kann sollte man es lassen..
if(strcmp("/name",cmdtext,true) == 0)
{
if(spielername[playerid] == 0)
{
if(spieleristinfraktionhitman[playerid] == 1)
{
SendClientMessage(playerid,FARBE,"Du bist nun Maskiert.");
for(new i; i<MAX_PLAYERS; i++);
{
ShowPlayerNameTagForPlayer(i, playerid, 0);
}
}
else
{
SendClientMessage(playerid,FARBE,"Dieser Befehl ist nur für Spezielle Mitglieder.");
}
}
else
{
SendClientMessage(playerid,FARBE,"Du hast deine Maske abgenommen, du bist nichtmehr Maskiert.");
for(new i; i<MAX_PLAYERS; i++);
{
ShowPlayerNameTagForPlayer(i, playerid, 1);
}
spielername[playerid] = 0;
}
return 1;
} -
if( killerid != INVALID_PLAYER_ID )
{
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, killerid);
return 1;
} -
Dein FS ist kompletter Schwachsinn und kannste in die Tonne kloppen.
Gründe:
- Statt ( wie richtig ) SetTimerEx zu benutzen, benutzt du SetTimer..
- Was wenn der Spieler 100 HP hat und sich ein Chicken Burger kauft: Sein Leben wird auf 10 HP gesetzt.Zeilen:
SetTimer("bsn1",1000*2,false);
SetPlayerHealth(playerid,10);
-
Bei deinem Befehl bei dem du Duty gehst:
new Text3D:td[MAX_PLAYERS];
td[playerid] = Create3DTextLabel("Cop ist on Duty!",0xffffffff,0.0,0.0,0.0,25.0,0);
Attach3DTextLabelToPlayer(td[playerid], playerid, 0.0, 0.0, 0.7);Und wenn er Offduty geht:
Delete3DTextLabel(td[playerid]);
-
Hm ja musst halt in Sekunden umwandeln, hier:
forward ctm();
public ctm()
{
new string[64];
new nexttime;
time -= 1000;
format(string,sizeof(string),"Countdown: %d Sekunden",time/1000);
TextDrawSetString(DeinTextDraw,string);
if(time == 0)return KillTimer(minusct);
return 1;
} -
Hmm.. bei 500 Warnings höchstwahrscheinlich schon O_o
-
Jau, Zahlen immer mit Punkten.
Bei dem Rest machste ja so "Test, test" da ist das egal
-
Wie es Capo schon gesagt hat, wenn die 10 Minuten um sind, passiert das, was dort steht..
-
Du interpretierst die Zahl nach dem Wort 'warning' falsch, das ist ein Warning Code, nicht wie viele
Warnings du hast.Für jeden Warning hast du eine Zeile
Und mach das 300.0 hinten weg.
Und zu deiner letzten Frage:
Im Prinzip nein, es kommt aber immer darauf an, welcher Warning das ist, es gibt welche
die nichts ausmachen aber auch welche, die das Script nicht mehr richtig laufen lassen. -
Könntest auch mit 3D Text Label arbeiten.
Tipp:
new Text3D:td[MAX_PLAYERS];
td[playerid] = Create3DTextLabel(..);
Attach3DTextLabelToPlayer(td[playerid], playerid, 0.0, 0.0, 0.7);Und wenn du OffDuty gehst:
Delete3DTextLabel(td[playerid]); -
Nein, dort wo du die Zeit ablaufen lassen willst
Also am besten dort, wo du TextDrawShowForPlayer / TextDrawShowForAll machst. -
if(IsPlayerInAnyVehicle(playerid))
{
new vid;
vid = GetPlayerVehicleID(playerid);
SetVehiclePos(vid,x,y,z);
PutPlayerInVehicle(playerid,vid);
} -
new countdown, minusct, updatect;
new time;countdown = SetTimer("ct",600000,false);
minusct = SetTimer("ctm",1000,true);
time = 600000;forward ct();
public ct()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
TextDrawHideForPlayer(i,DeinTextDraw);
//Weitere aktionen hier hin..
}
}
}forward ctm();
public ctm()
{
new string[64];
new nexttime;
time -= 1000;
format(string,sizeof(string),"Countdown: %d Sekunden",time);
TextDrawSetString(DeinTextDraw,string);
if(time == 0)return KillTimer(minusct);
return 1;
} -
Wenn so ein Error kommt, mit "Input line too long(...)" dann musst du die Zeile 'aufteilen'.
Du kannst jede Zeile in z.B. 2 Zeilen trennen, du musst aber darauf auchten das du es nach einem Komma ( , ) machst.Quasi so:
if(IsPlayerInRangeOfPoint(playerid,5.0,1233.1462,-981.1647,43.4766) || IsPlayerInRangeOfPoint(playerid,5.0,145.6218,1367.0225,1083.8594)|| IsPlayerInRangeOfPoint(playerid,5.0,236.5579,1064.8623,1084.2083) || IsPlayerInRangeOfPoint(playerid,5.0,145.5831,1366.8931,1083.8594) || IsPlayerInRangeOfPoint(playerid,5.0,
-222.6197,1400.7908,27.7656)) || IsPlayerInRangeOfPoint(playerid,5.0,503.2602,-75.1576,998.7651)) || IsPlayerInRangeOfPoint(playerid,5.0,2491.7283,-1690.8501,14.7656)) || IsPlayerInRangeOfPoint(playerid,5.0,2819.0388,-1169.9384,1025.5703)) || IsPlayerInRangeOfPoint(playerid,5.0,1211.8036,-15.4760,1000.9219)) || IsPlayerInRangeOfPoint(playerid,5.0,745.0085,1439.7786,1102.7031)) || IsPlayerInRangeOfPoint(playerid,5.0,327.8148,1482.8434,
1084.4375)) || IsPlayerInRangeOfPoint(playerid,5.0,259.5170,1243.1080,1084.2578)) || IsPlayerInRangeOfPoint(playerid,5.0,2267.2373,-79.2482,26.7834)) || IsPlayerInRangeOfPoint(playerid,5.0,27.3693,1343.2300,1084.3750)) || IsPlayerInRangeOfPoint(playerid,5.0,963.6270,2112.4751,1011.0234)) -
new mtimer[MAX_PLAYERS];
mtimer[playerid] = SetTimerEx("minuswanted",300000,1,"i",playerid);
public minuswanted(playerid)
{
if(GetPlayerWantedLevel(playerid)==0)return KillTimer(mtimer[playerid]);
SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid)-1);
SendClientMessage(playerid,0x00FFFAFF,"*Du hast nun einen Wanted weniger !(Flucht).");
SendClientMessage(playerid,0x00FFFAFF,"*Alle 5 Minuten bekommst du einen Wanted abgezogen.");
SetTimerEx("minuswanted",300000,0,"i",playerid);
return 1;
}Bitteschön.
Achso, ehe ich es vergesse, 5 Minuten sind in Millisekunden 300000 MSek