GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Zsoma - 2010. június 24. - 19:22:51

Cím: Class selection parancsra
Írta: Zsoma - 2010. június 24. - 19:22:51
Hi.
Azt hogy oldom meg, hogy ugye van az onplayerrquestclass függvény. oda kell h ha skintvált akkor hol van stb...
Nos én azt szeretném, hog mikor belép a játékra lerakja mintha mi sem történt volna, nem rakja skinváltoba mint ahogy az szokott lenni szerverekre csatlakozáskor, hanem ha beir egy parancsot akkor rakja skinváltoba.
ez egyszerü csak nemjövök rá h kellene.
mer ha a requestclasst kitöltöm h hova rakja stb akk meg már connectnél odarakja :S
pls help :D
Cím: Class selection parancsra
Írta: Zsoma - 2010. június 24. - 19:46:22
1. ne duplapostolj :D
2. Akkor mitrakok oda?
Cím: Class selection parancsra
Írta: Csabesz - 2010. június 24. - 20:38:41
Túlbonyolítjátok....
Tessék:
 

public OnPlayerRequestClass ( playerid, classid ) return SpawnPlayer ( playerid );

 


if ( strcmp(\"/pweps\", cmdtext, true ) == 0 )
{
    ForceClassSelection ( playerid );
    SetPlayerHealth ( playerid,0.0 );
    return 1;
}

 
Használd egészséggel.  ;)
Cím: Class selection parancsra
Írta: Zsoma - 2010. június 24. - 22:15:26
hát csabesz, nem jutok szóhoz, te mennyit segitesz nekem :D
Már elég rég ota, kb fél éve programozok pawnoval, elég jol tudok dolgokat már, de tudod vannak ilyen csöppségek amin elakad az ember :d
és ezt nagyon köszi, h segited ;)
mindjárt megnézem jó-e :P :D:D
szerk: egy baja van, az onplayerrquestclasshoz ezt irtam illetve az egy sor:
public OnPlayerRequestClass(playerid, classid) return SpawnPlayer(playerid);
ez jó. oké az a gond h beirom a parancsot, de berak skinváltóba, csak mikor a nyillal mennék jobbra balra akkor lespawnol.
ok? :O
Cím: Class selection parancsra
Írta: Depi - 2010. június 24. - 22:44:16
Mivel a Spawn Player nem kell oda,teljesen felesleges.
Cím: Class selection parancsra
Írta: Zsoma - 2010. június 24. - 22:52:53
mi a megoldás akkor?
a JÓ megoldás?
Cím: Class selection parancsra
Írta: Csabesz - 2010. június 24. - 22:54:29
Idézetet írta: Draven date=1277412256\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2157\" data-ipsquote-contentclass=\"forums_Topic
Mivel a Spawn Player nem kell oda,teljesen felesleges.
 
Hát nem éppen, mielott szólsz olvasd el a kérést...
 

Hi.
Azt hogy oldom meg, hogy ugye van az onplayerrquestclass függvény. oda kell h ha skintvált akkor hol van stb...
Nos én azt szeretném, hog mikor belép a játékra lerakja mintha mi sem történt volna, nem rakja skinváltoba mint ahogy az szokott lenni szerverekre csatlakozáskor, hanem ha beir egy parancsot akkor rakja skinváltoba.
ez egyszerü csak nemjövök rá h kellene.
mer ha a requestclasst kitöltöm h hova rakja stb akk meg már connectnél odarakja :S
pls help :D
 
[/quote]
A 2. problémádnál már neked is variálnod kell, hogy muködjön. Azzal lesz a gond, hogy a OnPlayerRequestClass függvény tartalma nem tud nefutni mert visszatértünk a SpawnPlayer függvénnyel.
Ezért a következo megoldást javaslom.:
 

public OnPlayerRequestClass ( playerid, classid )
{
   SpawnPlayer ( playerid );
   //ide a függvény többi tartalmát
   return 1;
}
Cím: Class selection parancsra
Írta: Depi - 2010. június 24. - 23:50:07
Idézetet írta: Csabesz date=1277412869\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2157\" data-ipsquote-contentclass=\"forums_Topic


Mivel a Spawn Player nem kell oda,teljesen felesleges.
 
Hát nem éppen, mielott szólsz olvasd el a kérést...
 

Hi.
Azt hogy oldom meg, hogy ugye van az onplayerrquestclass függvény. oda kell h ha skintvált akkor hol van stb...
Nos én azt szeretném, hog mikor belép a játékra lerakja mintha mi sem történt volna, nem rakja skinváltoba mint ahogy az szokott lenni szerverekre csatlakozáskor, hanem ha beir egy parancsot akkor rakja skinváltoba.
ez egyszerü csak nemjövök rá h kellene.
mer ha a requestclasst kitöltöm h hova rakja stb akk meg már connectnél odarakja :S
pls help :D
 
[/quote]
A 2. problémádnál már neked is variálnod kell, hogy muködjön. Azzal lesz a gond, hogy a OnPlayerRequestClass függvény tartalma nem tud nefutni mert visszatértünk a SpawnPlayer függvénnyel.
Ezért a következo megoldást javaslom.:
 

public OnPlayerRequestClass ( playerid, classid )
{
    SpawnPlayer ( playerid );
    //ide a függvény többi tartalmát
    return 1;
}

 

[/quote]
Bocs nem figyeltem.
Cím: Class selection parancsra
Írta: Zsoma - 2010. június 25. - 15:08:12
most akkor az onplayerrquestclasshoz irjam h hova rakja interiorba stb meg oda együtt a spawnplayert is?
és megcsinjak egy parancsot h skinváltoba rakja?  :-X :D
szerk: nem, tévedtem.
Vki egybe letudja már irni? XD bocs de most rohadtul elvesztettem a fonalat S:S:
Cím: Class selection parancsra
Írta: Csabesz - 2010. június 25. - 15:48:56
Változóval jobban néz ki.:
 

new bool:Spawned [ MAX_PLAYERS ];
public OnPlayerConnect ( playerid )
{
    Spawned [ playerid ] = false;
    return 1;
}
public OnPlayerRequestClass ( playerid, classid )
{
   if ( Spawned [ playerid ] == false ) return SpawnPlayer ( playerid );
   // Ide jöhet a többi cucc; kamera stb..
   return 1;
}
public OnPlayerSpawn ( playerid )
{
   Spawned [ playerid ] = true;
   return 1;
}

 


if ( strcmp(\"/pweps\", cmdtext, true ) == 0 )
{
   ForceClassSelection ( playerid );
   SetPlayerHealth ( playerid,0.0 );
   return 1;
}

 
Így jónak kell lennie. ;)  :D
Szerk.: Bocsi lemaradt egy kis rész...  :angel:
Cím: Class selection parancsra
Írta: Zsoma - 2010. június 25. - 15:56:12
error 033: array must be indexed (variable \"Spawned\")
már megvan jelölve h false nem?
am még mindig nemjó :S
de mindegy, kitalálok más megoldást, azért köszi mindenkinek :D
szerk.: viszont ha tudnátok lécci linkeljetek már nekem egy értelmes npc létrehozo tutorialt :D
elöre is nagyon köszi :D
Cím: Class selection parancsra
Írta: krisk - 2010. június 25. - 20:41:14
Csabesz járt a legközelebb, de az övé is rossz ( a boolean-nak elméletben alapból nem false az értéke ). Így a helyes:
 

// mód elejére
new bool:spawned[MAX_PLAYERS];
public OnPlayerConnect(playerid) {
spawned[playerid] = false;
return 1;
}
public OnPlayerSpawn(playerid) {
spawned[playerid] = true;
return 1;
}
public OnPlayerRequestClass( playerid, classid ) {
if(spawned[playerid] = false) return SpawnPlayer(playerid);
return 1;
}

 
;)