man könnte auch jedes car einen namen geben
new LSPDcar1
new LSPDcar2
...
aber die zahlen kürzen das ab
man könnte auch jedes car einen namen geben
new LSPDcar1
new LSPDcar2
...
aber die zahlen kürzen das ab
Du must die autos einen namen geben also so zum bsp
ganz oben
new LSPDcar[4] //entspricht die anzahl von unten
LSPDcar[0] = AddStaticVehicle(...
LSPDcar[1] = AddStaticVehicle(...
LSPDcar[2] = AddStaticVehicle(...
LSPDcar[3] = AddStaticVehicle(...
und dan
AddVehicleComponent(LSPDcar, 1074);
Mfg
Mr_x
Hieer sollte die helfen
als erstes fügst du in dein command ein
new grund[128];
dann must hier einfach den grund hinzufügen
if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,BLAU,"/cheater [playerid] [grund]");
dan kommt schonmal eine fehler meldung wenn er nicht alles angibt aber es würde noch kein grund erscheinen
dafür gehst du in dein format
format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt, Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
jetzt erschein der grund auch
MFG
Mr_x
mach das bei OnPlayerSpawn
SetPlayerPos(playerid, dini_Float(Spielerdatei,"PosX"), dini_Float(Spielerdatei,"PosY"), dini_Float(Spielerdatei,"PosZ"));
wenn du so speicherst must du auch das new Float:X.... alles anpassen und du must den spieler auch beim login wieder auf die posiotion setzten mit
SetPlayerPos(playerid,posX, posY, posZ);
//edit ich mach mal das speichern aber das laden must du mal selber probieren
//edit2 hier so müste das glaubich gehn
stock Speichern(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
new pos[3];
GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(dini_Exists(Spielerdatei))
{
dini_FloatSet(Spielerdatei,"x", pos[0]);
dini_FloatSet(Spielerdatei,"y", pos[1]);
dini_FloatSet(Spielerdatei,"z", pos[2]);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
}
return 1;
}
key jump ist nicht die leertaste !
das ist wenn man springt
KEY_SPRIN ist leertaste
http://wiki.sa-mp.com/wiki/GetPlayerKeys <--- hier findet man die tasten
hier zum bsp leertaste
if(newkeys & KEY_SPRINT)
dann mach das doch ganz einfach mit ein dialog
bei
public OnPlayerClickPlayer
dan abrfagen wie viel wantets er hat und eine nachricht senden
hier:
ocmd:taze(playerid,params[])
{
if(!isPlayerInFrakt(playerid,5))return 0;
new Float:pos[3], pID, name[MAX_PLAYER_NAME], string[128];
GetPlayerName(playerid,name,sizeof(name));
if(sscanf(params,"u",playerid,pID))return SendClientMessage(playerid,hellblau,"/taze [Spieler]");
GetPlayerPos(pID, pos[0],pos[1], pos[2]);
if(!IsPlayerInRangeOfPoint(playerid, 3, pos[0], pos[1], pos[2]))return SendClientMessage(playerid,farbe,"Du bist nicht in der nähe des Spielers!");
format(string, sizeof(string),"%s schießt mit dem Tazer auf dich!",name);
TogglePlayerControllable(pID,0);
SendClientMessage(playerid,hellblau,string);
SetTimer("frei",1000*60*2,false);
return 1;
}
MFG
Mr_x
@Elit Ness ja ich weiß war jetzt nur schnell gehmacht und neben bei esse ich noch
ja ich mache es dir schnell
//edit
ocmd:invite(playerid, param[])
{
new pID,string[128];
if(sscanf(params,"u",pID))return SendClientMessage(playerid,farbe,"Benutze: /invite [Spieler/ID]");
if(GetPVarInt(playerid,"Leader")==1)
{
format(string, sizeof(string),"Leader %s aus der fraktion ? hat %s in die Fraktion ? hinzugefügt.",SpielerName(playerid),SpielerName(pID));
SendClientMessageToAll(farbe,string);
SetPVarInt(pID,"Fraktion", 1);
}
if(GetPVarInt(playerid,"Leader")==2)
{
format(string, sizeof(string),"Leader %s aus der fraktion ? hat %s in die Fraktion ? hinzugefügt.",SpielerName(playerid),SpielerName(pID));
SendClientMessageToAll(farbe,string);
SetPVarInt(pID,"Fraktion", 2);
}
return 1;
}
//edit2
fals du den stock SpielerName nicht hast kann ich ihn dir schiken
gibt es nur eine Fraktion ?
oder gibt es mehrere ?
PS: hatte dir vorhin schonmal ne PN geschikt
//edit
fals es mehrere gibt dan brauchen wir auch von den die abfragen...
der wiederholt sich nicht du must in den timer es nochmal rein schreiben
also wenn er in der nähe ist ihn nochmal strten
das muss so heißen :
if(GetPVarInt(playerid,"Premium")== 500)
hier ist der fehler die
if(IsPlayerInRangeOfPoint(playerid,100.0, 1966.1495,-1201.7411,17.4500))
das muss das hin
if(!IsPlayerInRangeOfPoint(playerid,100.0, 1966.1495,-1201.7411,17.4500))
das ! fehlt ! = not das heißt wenn er nicht in de rnähe ist
//edit
habe mich verguckt
du hast das mit ein else gehmacht
//edit2
versuch es mal mit SetTimerEx
hier hast du ein stock
stock GivePlayerScore( playerid, score ) SetPlayerScore( playerid, GetPlayerScore( playerid ) + score );
dan must du einfach nur noch
GivePlayerScore(playerid,1);
//edit die 1 steht für die score anzahl
ja das ist möglich
ShowPlayerDialog(pID,DIALOG_NAME,1,"BESCHREIBUNG","text","antwort1","antwort2");
oder was meinst du jetzt ?
und nicht vergessen wieder auf 0 zu setzen
SetPVarInt(playerid,"AcceptBetrag", 0);