ich glaub du hast mich falsch verstanden, der PayDay funktioniert aber der text dazu wird nicht angezeigt und der timer is auch bei ongamemodeinit drin.
edit: habs selbst hinbekommen habe die sendclientmessage falsch gesetzt.
ich glaub du hast mich falsch verstanden, der PayDay funktioniert aber der text dazu wird nicht angezeigt und der timer is auch bei ongamemodeinit drin.
edit: habs selbst hinbekommen habe die sendclientmessage falsch gesetzt.
für alle
hallo leute hab ein kleines problem und zwar hab ich ein payday erstellt und der funktioniert auch alles keine errors und so xD aber irgend wie wird der Text dazu nicht angezeigt.
Kann mir einer sagen warum die nicht angezeigt werden?
die zeilen sind:
public PayDay(playerid)
{
new string[128];
new std_x,sek_x,min_x;
gettime(std_x,min_x,sek_x);
if(min_x == 41)
{
for (new i; i < MAX_PLAYER_NAME; i++)
{
if(IsPlayerConnected(i))
{
new nxtlevel = Spieler[playerid][Level];
new payday = nxtlevel*1000;
new kosten;
kosten = payday/100*19;
GivePlayerMoney(i,payday-kosten);
Spieler[playerid][pExp]++;
//GameTextForPlayer(i," ~p~ PayDay",6,5000);
SendClientMessage(playerid,ROT,string);
format(string,sizeof (string),"||______________PayDay_________________||");//<---- die zeile werden nicht angezeigt
format(string,sizeof (string)," GrundGehalt:[%d$]Mehrwertsteuer:[-%d$]",payday,kosten);<---- und die zeile
}
}
}
//return 1;
}
Hallo libe Community ich habe ma wieder ne Frage. Ich möchte gern das mein skin wenn jemand gestorben ist gespeichert und beim neu spawnen geladen wird. Ich habe den skin per dini gespeichert und die zeilen die ich dazu geschrieben habe sind diese.
bei OnPlayerDeath
public OnPlayerDeath(playerid, killerid, reason)
{
new name[128], accFormat[128];
GetPlayerName(playerid,name,sizeof(name));
format(accFormat,sizeof accFormat,"%s.datei",name);
{
//dini_IntSet(accFormat,"skin",GetPlayerSkin(playerid));
SetPlayerSkin(playerid,dini_Int(accFormat,"skin")); //lade und setze den gespeicherten Skin
}
return 1;
}
und wenn er spawnt hab ich das so gemacht
public OnPlayerSpawn(playerid)
{
new name[128], accFormat[128];// Gleiche
GetPlayerName(playerid,name,sizeof(name)); // wie
format(accFormat,sizeof accFormat,"%s.datei",name);
if(gTeam[playerid] == 1)
{
if(Spieler[playerid][Member] == 1 || Spieler[playerid][Leader] == 1)
{
//dini_IntSet(accFormat,"skin",GetPlayerSkin(playerid));
SetPlayerSkin(playerid,dini_Int(accFormat,"skin"));//lade und setze den gespeicherten Skin
SetPlayerPos(playerid,1958.3783, 1343.1572, 15.3746);
}
}
if(gTeam[playerid] == TEAM_GROVE)
{
if(Spieler[playerid][Member] == 2 || Spieler[playerid][Leader] == 2)
{
//dini_IntSet(accFormat,"skin",GetPlayerSkin(playerid));
SetPlayerSkin(playerid,dini_Int(accFormat,"skin"));//lade und setze den gespeicherten Skin
SetPlayerPos(playerid,2482.7224,-1668.4399,13.3417);
}
}
return 1;
}
also mein problem is jetz das wenn ich einen anderen skin vergebe und der spieler sich danach ausloggt wird der skin gespeichert. wenn der spieler aber nach dem ich einen skin vergeben habe stirbt wird der skin auf den vorherigen skin zurückgesetzt.
kann mir pls jemand helfen.
edit: hat sich erledigt hab es selbst hin bekommen.
und wo sehe ich die leuchtenden objecte gibts da ne liste?
Hallo erstmal is vielleicht ne dumme frage aber wo sind den die ganzen farben für die neonlichter definiert?
thx das hilft mir wirklich weiter
edit
also ic hab da noch ein kleines problem
ich schick ma die zeilen
dcmd_dm1(playerid,params[])
#pragma unused params
{
for(new i=0 ; i <GetMaxPlayers() ; i++) // Hiermit sagst du das i die maximalen Spieler sind
{
if( i <= 2) // wenn i größer oder gleich 2 Spieler ist
{
new pname[MAX_PLAYER_NAME],string[64]; // Kann auch im Header eingesetzt werden
GetPlayerName(playerid, pname,sizeof pname);
format(string, sizeof(string), "|||> %s ist jetzt im DM beigetreten.[/dm1]",pname); //Öffentliche Nachricht
SendClientMessageToAll(GREEN,string); //Farbe von der Nachricht
SetPlayerWorldBounds(playerid, 2755.282, 2474.133, 2877.362, 2614.334);//Das sind unsichtbare Mauern
SetPlayerVirtualWorld(playerid, 2); //Damit man nur mit Spielern spielt die nur im DM sind
ResetPlayerWeapons(playerid); //Alle Waffen werden einmal entfernt
SendClientMessage(playerid, ROT, "Tippe /exitdm1 um das DM zu verlassen!");
GivePlayerWeapon(playerid, 24, 500); // Nun geben wir unseren Spieler die Waffen
GivePlayerWeapon(playerid, 27, 500); // 2. Waffe (beliebig)
istimdm[playerid] = 1; //Hier wird eingestellt das der Spieler in nun in einem DM ist
new rand = random(sizeof(RandomSpawn));
SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
SetPlayerFacingAngle(playerid, RandomSpawn[rand][3]);
TogglePlayerControllable(playerid,0);
if( i >= 1)
{
TogglePlayerControllable(playerid,1);
SendClientMessage(playerid,GREEN,"DM gestartet!!");
}
}
}
return 1;
}
mein problem is en es weniger als zwei spieler sind wird er nicht gefreezt aber er sollte eigentlich gefreezt sein und wenn mehr als 1 spieler im dm ist sollen sie entfreezt werden. weis wer was ich anders machen muss
kann mir jemand sagen wie ich eine mindestspieler zahl für ein dm abfragen kann.
mfg ruppe
genial genau sowas habe ich gesucht ein riesiges dankööschön
von ruppe
Also ich habe zwei stunts gemappt einmal einen monstertruck stunt und einen Infernus stunt bei beiden stunts sollte es zwei checkpoints geben ich habe das beim monstertruck stunt so gemacht
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vehicleid1 = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
for(new j = 0;j<sizeof Monstertruck;j++)
{
if(vehicleid1 == Monstertruck[j])
{
SendClientMessage(playerid,GREEN,"Fahre nun den Monster-Truck Pakour ab und Gewinne 10000$ + 1 Scorepunkt!!");
SetPlayerCheckpoint(playerid,1168.9661,-2591.3164,12.4549,10.0);
monstertruckbelohnung[playerid] = 1;
}
}
}
return 1;
}
dann bei on player checkpoint
public OnPlayerEnterCheckpoint(playerid)
{
if(monstertruckbelohnung[playerid] == 1)
{
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid,5000);
SetPlayerCheckpoint(playerid,1273.0817,-2631.7896,22.4908,10.0);
monstertruckbelohnung[playerid] = 2;
}
if(monstertruckbelohnung[playerid] == 2)
{
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid,5000);
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
new car;
car = GetPlayerVehicleID(playerid);
SetVehicleToRespawn(car);
SetPlayerPos(playerid,1958.3783, 1343.1572, 15.3746);
}
return 1;
}
beim infernusstunt habe ich das dann so fortgesetzt
und sieht jetzt so aus
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vehicleid1 = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
for(new j = 0;j<sizeof Monstertruck;j++)
{
if(vehicleid1 == Monstertruck[j])
{
SendClientMessage(playerid,GREEN,"Fahre nun den Monster-Truck Pakour ab und Gewinne 10000$ + 1 Scorepunkt!!");
SetPlayerCheckpoint(playerid,1168.9661,-2591.3164,12.4549,10.0);
monstertruckbelohnung[playerid] = 1;
}
}
for(new j = 0;j<sizeof Infernusstunt;j++)
{
if(vehicleid1 == Infernusstunt[j])
{
SendClientMessage(playerid,GREEN,"Fahre nun den Infernus-Stunt-Pakour ab und Gewinne 20000$ + 1 Scorepunkt!!");
SetPlayerCheckpoint(playerid,-2324, -1897, 668, 20.0);
Infernusstuntbelohnung[playerid] = 1;
}
}
}
return 1;
}
und bei onplayercheckpoint sieht das dann so aus
public OnPlayerEnterCheckpoint(playerid)
{
if(monstertruckbelohnung[playerid] == 1)
{
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid,5000);
SetPlayerCheckpoint(playerid,1273.0817,-2631.7896,22.4908,10.0);
monstertruckbelohnung[playerid] = 2;
}
if(monstertruckbelohnung[playerid] == 2)
{
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid,5000);
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
new car;
car = GetPlayerVehicleID(playerid);
SetVehicleToRespawn(car);
SetPlayerPos(playerid,1958.3783, 1343.1572, 15.3746);
}
if(Infernusstuntbelohnung[playerid] == 1)
{
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid,10000);
SetPlayerCheckpoint(playerid,-2324, -2397, 528,20.0);
Infernusstuntbelohnung[playerid] = 2;
}
if(Infernusstuntbelohnung[playerid] == 2)
{
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid, 10000);
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
new car;
car = GetPlayerVehicleID(playerid);
SetVehicleToRespawn(car);
}
return 1;
}
so mein problem is jetzt wenn ich bei beiden stunts beim ersten checkpoint ankomme werde ich gerespawnt und das auto auch aber es sollte eigentlich der zweite checkpoint angezeigt werden.Kann mir jemand sagen was daran falsch ist ?
edit: kann mir niemand bei meinem problem helfen?pls
danke für eure hilfe und euren schnellen antworten maddin hatte recht alle includes neu rundergeladen und jetz gehts also dankee.
edit*
es sind zwar keine errors mehr drin aber irgendwie streamt er die objecte nicht?
hab kein plan woran das liegen könnte.
und wie find ich den fehler oder kann mir jemand das include bitte ohne fehler geben?
die inc datei is schon im include ordner.
also ich habe mir den objectstreamer von incognito gedownloaded und hab alles in das richtige format convertiert.
jetzt kommt aber eine warnung und ich weis nich wie die zu beheben geht.
C:\Dokumente und Einstellungen\Rico\Desktop\samp.0.3c server\pawno\include\streamer.inc(449) : warning 202: number of arguments does not match definition
kann mir jemand sagen woran das liegt?
so sieht jetzt das filterscript aus
#include <a_samp>
#include <streamer>
#if defined Filterscript
#define STREAMER_TYPE_OBJECT (0)
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Map");
print("--------------------------------------\n");
//----------------------------------Monster*Map-------------------------------//
CreateDynamicObject(8040,1272.23535156,-2604.48535156,13.37515259,0.00000000,0.00000000,173.99597168);
CreateDynamicObject(8040,1272.23535156,-2604.48535156,13.37515259,0.00000000,0.00000000,173.99597168);
CreateDynamicObject(14387,1233.25524902,-2595.00708008,13.58950043,0.00000000,0.00000000,354.00000000);
CreateDynamicObject(14387,1230.66711426,-2594.75732422,15.55420017,0.00000000,0.00000000,354.00000000);
CreateDynamicObject(16092,1226.28515625,-2597.25976562,9.03881454,0.00000000,0.00000000,264.00000000);
CreateDynamicObject(16092,1226.89941406,-2591.39941406,9.02999973,0.00000000,0.00000000,263.99047852);
CreateDynamicObject(1632,1227.13488770,-2594.61938477,13.08892822,30.00000000,0.00000000,263.00000000);
CreateDynamicObject(1632,1221.70703125,-2593.86523438,7.50000000,15.00000000,0.00000000,262.99621582);
return 1;
}
ohne error können wir nix sagen
warum scoreid, kanns doch gleich GetPlayerScore machen xD
wie meinste das es is ja nur ne warnung drin
so gehts irgendwie auch nicht
die warnung ist immernoch da vielleicht liegt es an den zeilen darüber ich schreib die mal rein.
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new scoreid = GetPlayerScore(playerid);
// new vehicleid1 = GetPlayerVehicleID(vehicleid);
new vehicleid = GetPlayerVehicleID(playerid);
new vehiclemodel = GetVehicleModel(vehicleid);
{
if(vehiclemodel == 444)
{
SendClientMessage(playerid,GREEN,"Fahre nun den Monster-Truck Pakour ab und Gewinne 10000$!!");
SetPlayerCheckpoint(playerid,1168.9661,-2591.3164,12.4549,10.0);
monstertruckbelohnung[playerid] = 1;
}
return 1;
}
if(scoreid<5)
{
if(vehiclemodel == 425)
{
if (gTeam[playerid] == TEAM_ARMY)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Dein Score ist zu niedrig um mit dem Hunter zu fliegen[mind.5 Score]!!");
}
}
}
return 1;
}
also ich habe ein kleines problem ich wollte gern das man erst in ein bestimmtes auto einsteigen kann ab einen bestimmten scorelevel.und habe schon das in mein script geschrieben.
unter OnPlayerStateChange habe ich das geschriebenif(scoreid << 5)
{
if(vehiclemodel == 425)
{
if (gTeam[playerid] == TEAM_ARMY)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,ROT,"Dein Score ist zu niedrig um mit dem Hunter zu fliegen[mind.5 Score]!!");
}
}
}
return 1;
}
aber irgendwie bekomm ich eine warnung
warning 225: unreachable code
die zeile mit der warnung ist:
if(scoreid << 5)
kann mir jemand vielleicht nen tip geben was daran falsch sein könnte?
public OnPlayerSpawn(playerid)
{
M_OnPlayerSpawn(playerid);
TextDrawShowForPlayer(playerid,Copyright);
TextDrawShowForPlayer(playerid,ModeName);
SetPlayerToTeamColor(playerid);
TextDrawShowForPlayer(playerid, Time), TextDrawShowForPlayer(playerid, Date);
//InitLockDoors(playerid);
STDPlayer[playerid] = 0;
OnDuty[playerid] = 0;
SetPlayerArmour(playerid,0);
gTeam[playerid] = PlayerInfo[playerid][pTeam]; //Set the Team
if (gTeam[playerid] == 4) //medic / criminal reset team
{
gTeam[playerid] = 3;
}
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "** Du musst dich voher einloggen oder dir einen Account erstellen! ***");
Kick(playerid);
return 1;
}
if(AtClothes[playerid] == 1)
{
PlayerInfo[playerid][pChar] = GetPlayerSkin(playerid);
PlayerInfo[playerid][pModel] = GetPlayerSkin(playerid);
AtClothes[playerid] = 0;
}
if(PlayerInfo[playerid][pTot] == 1 && FirstSpawn[playerid] == 0)
{
if(PlayerInfo[playerid][pOrigin] == 1)
{
so müsste es richtig sein
nee der teleport an sich funktioniert aber wenn ich dann mit dem fahrzeug in den punkt fahre passiert garnichts.